about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/jmusicbot/default.nix4
-rw-r--r--pkgs/applications/audio/ladspa-plugins/default.nix4
-rw-r--r--pkgs/applications/audio/mpg123/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/radiotray-ng/default.nix3
-rw-r--r--pkgs/applications/audio/youtube-music/default.nix27
-rw-r--r--pkgs/applications/blockchains/clightning/default.nix4
-rw-r--r--pkgs/applications/blockchains/ton/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/default.nix17
-rw-r--r--pkgs/applications/editors/ed/sources.nix4
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix500
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix219
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix109
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json3130
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix12
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names1
-rw-r--r--pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix34
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix18
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix16
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix12
-rw-r--r--pkgs/applications/emulators/cemu/default.nix4
-rw-r--r--pkgs/applications/emulators/ripes/default.nix6
-rw-r--r--pkgs/applications/emulators/wine/sources.nix6
-rw-r--r--pkgs/applications/emulators/xemu/default.nix4
-rw-r--r--pkgs/applications/file-managers/browsr/default.nix8
-rw-r--r--pkgs/applications/gis/grass/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix5
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix4
-rw-r--r--pkgs/applications/graphics/nomacs/default.nix68
-rw-r--r--pkgs/applications/graphics/rnote/Cargo.lock300
-rw-r--r--pkgs/applications/graphics/rnote/default.nix4
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix16
-rw-r--r--pkgs/applications/misc/archivebox/default.nix3
-rw-r--r--pkgs/applications/misc/bambu-studio/default.nix2
-rw-r--r--pkgs/applications/misc/bambu-studio/meshboolean-const.patch21
-rw-r--r--pkgs/applications/misc/clight/default.nix4
-rw-r--r--pkgs/applications/misc/dialect/default.nix20
-rw-r--r--pkgs/applications/misc/girara/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/makehuman/default.nix145
-rw-r--r--pkgs/applications/misc/mkgmap/build.xml.patch19
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix65
-rw-r--r--pkgs/applications/misc/mkgmap/ignore-impure-test.patch20
-rw-r--r--pkgs/applications/misc/mkgmap/splitter/build.xml.patch18
-rw-r--r--pkgs/applications/misc/mkgmap/splitter/default.nix52
-rw-r--r--pkgs/applications/misc/organicmaps/default.nix4
-rw-r--r--pkgs/applications/misc/phoc/default.nix5
-rw-r--r--pkgs/applications/misc/revanced-cli/default.nix4
-rw-r--r--pkgs/applications/misc/scli/default.nix4
-rw-r--r--pkgs/applications/misc/swaynotificationcenter/default.nix4
-rw-r--r--pkgs/applications/misc/wmenu/default.nix4
-rw-r--r--pkgs/applications/misc/wttrbar/default.nix6
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix18
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/glooctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/k3s/1_28/versions.nix12
-rw-r--r--pkgs/applications/networking/cluster/k3s/1_29/versions.nix12
-rw-r--r--pkgs/applications/networking/cluster/kubent/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeshark/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/rke/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/Cargo.lock214
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/default.nix4
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/gnmic/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/beeper/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/matrixcli/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/ricochet/default.nix74
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch14
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tg/default.nix24
-rw-r--r--pkgs/applications/networking/irc/halloy/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix4
-rw-r--r--pkgs/applications/networking/netmaker/default.nix6
-rw-r--r--pkgs/applications/networking/pcloud/default.nix6
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/generic.nix14
-rw-r--r--pkgs/applications/networking/remote/dayon/default.nix4
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix10
-rw-r--r--pkgs/applications/networking/sync/storj-uplink/default.nix6
-rw-r--r--pkgs/applications/networking/taler/default.nix4
-rw-r--r--pkgs/applications/networking/wgcf/default.nix6
-rw-r--r--pkgs/applications/office/jameica/default.nix37
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/tryton/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/logic/cvc5/default.nix4
-rw-r--r--pkgs/applications/science/logic/elan/0001-dynamically-patchelf-binaries.patch10
-rw-r--r--pkgs/applications/science/logic/elan/default.nix10
-rw-r--r--pkgs/applications/science/math/primesieve/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix4
-rw-r--r--pkgs/applications/version-management/blackbox/default.nix2
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix4
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix4
-rw-r--r--pkgs/applications/version-management/git/default.nix4
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix8
-rw-r--r--pkgs/applications/version-management/jujutsu/default.nix14
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix6
-rw-r--r--pkgs/applications/video/avidemux/default.nix12
-rw-r--r--pkgs/applications/video/kodi/unwrapped.nix12
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mythtv/default.nix8
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix4
-rw-r--r--pkgs/applications/video/rtabmap/default.nix18
-rw-r--r--pkgs/applications/video/shotcut/default.nix25
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/default.nix41
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprshade/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/default.nix1
-rw-r--r--pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh2
-rw-r--r--pkgs/build-support/cc-wrapper/add-hardening.sh6
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix9
-rwxr-xr-xpkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh3
-rw-r--r--pkgs/build-support/node/build-npm-package/default.nix17
-rw-r--r--pkgs/build-support/node/import-npm-lock/default.nix134
-rw-r--r--pkgs/build-support/node/import-npm-lock/hooks/canonicalize-symlinks.js52
-rw-r--r--pkgs/build-support/node/import-npm-lock/hooks/default.nix13
-rw-r--r--pkgs/build-support/node/import-npm-lock/hooks/npm-config-hook.sh70
-rw-r--r--pkgs/build-support/rust/rustc-wrapper/default.nix30
-rw-r--r--pkgs/build-support/rust/rustc-wrapper/rustc-wrapper.sh4
-rw-r--r--pkgs/by-name/as/ast-grep/package.nix10
-rw-r--r--pkgs/by-name/au/audiness/package.nix4
-rw-r--r--pkgs/by-name/ba/barrage/package.nix (renamed from pkgs/games/lgames/barrage/default.nix)17
-rw-r--r--pkgs/by-name/bi/bitwarden-cli/package.nix6
-rw-r--r--pkgs/by-name/bl/bluez/package.nix1
-rw-r--r--pkgs/by-name/bo/bochs/package.nix4
-rw-r--r--pkgs/by-name/bo/boehmgc/package.nix (renamed from pkgs/development/libraries/boehm-gc/default.nix)9
-rw-r--r--pkgs/by-name/cl/clash-meta/package.nix42
-rw-r--r--pkgs/by-name/cl/clash-nyanpasu/package.nix23
-rw-r--r--pkgs/by-name/cl/clash-verge-rev/package.nix19
-rw-r--r--pkgs/by-name/cl/clash-verge/package.nix (renamed from pkgs/applications/networking/clash-verge/default.nix)4
-rw-r--r--pkgs/by-name/cm/cmake/package.nix11
-rw-r--r--pkgs/by-name/co/convco/package.nix6
-rw-r--r--pkgs/by-name/co/cosmic-applibrary/Cargo.lock1409
-rw-r--r--pkgs/by-name/co/cosmic-applibrary/package.nix36
-rw-r--r--pkgs/by-name/dd/ddsmt/package.nix35
-rw-r--r--pkgs/by-name/de/dep-scan/package.nix8
-rw-r--r--pkgs/by-name/di/digikam/package.nix (renamed from pkgs/applications/graphics/digikam/default.nix)62
-rw-r--r--pkgs/by-name/et/etlegacy/package.nix (renamed from pkgs/games/etlegacy/default.nix)8
-rw-r--r--pkgs/by-name/fa/fangfrisch/package.nix4
-rw-r--r--pkgs/by-name/fi/files-cli/package.nix6
-rw-r--r--pkgs/by-name/fl/flatter/package.nix6
-rw-r--r--pkgs/by-name/fr/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch (renamed from pkgs/applications/graphics/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch)0
-rw-r--r--pkgs/by-name/fr/freecad/package.nix (renamed from pkgs/applications/graphics/freecad/default.nix)54
-rw-r--r--pkgs/by-name/fr/frequest/package.nix60
-rw-r--r--pkgs/by-name/fr/fritz-exporter/console-script.patch14
-rw-r--r--pkgs/by-name/fr/fritz-exporter/package.nix10
-rw-r--r--pkgs/by-name/ga/gamja/package.nix37
-rw-r--r--pkgs/by-name/gi/git-releaser/package.nix6
-rw-r--r--pkgs/by-name/gl/glide-media-player/package.nix7
-rw-r--r--pkgs/by-name/gm/gmetronome/package.nix43
-rw-r--r--pkgs/by-name/gm/gmic-qt/package.nix (renamed from pkgs/tools/graphics/gmic-qt/default.nix)53
-rw-r--r--pkgs/by-name/go/goldwarden/package.nix4
-rw-r--r--pkgs/by-name/ho/home-manager/package.nix6
-rw-r--r--pkgs/by-name/hu/hugo/package.nix4
-rw-r--r--pkgs/by-name/hy/hyprlang/package.nix6
-rw-r--r--pkgs/by-name/ic/icewm/package.nix4
-rw-r--r--pkgs/by-name/in/incus/ui.nix6
-rw-r--r--pkgs/by-name/in/invidtui/package.nix6
-rw-r--r--pkgs/by-name/ju/just/package.nix (renamed from pkgs/development/tools/just/default.nix)6
-rw-r--r--pkgs/by-name/ju/just/setup-hook.sh (renamed from pkgs/development/tools/just/setup-hook.sh)0
-rw-r--r--pkgs/by-name/ka/kana/package.nix74
-rw-r--r--pkgs/by-name/ka/kanagawa-gtk-theme/package.nix42
-rw-r--r--pkgs/by-name/ka/kanagawa-icon-theme/package.nix47
-rw-r--r--pkgs/by-name/ke/kernel-hardening-checker/package.nix25
-rw-r--r--pkgs/by-name/ko/kooha/package.nix (renamed from pkgs/applications/video/kooha/default.nix)6
-rw-r--r--pkgs/by-name/lb/lbreakout2/package.nix49
-rw-r--r--pkgs/by-name/lb/lbreakouthd/package.nix (renamed from pkgs/games/lgames/lbreakouthd/default.nix)7
-rw-r--r--pkgs/by-name/li/libedit/01-cygwin.patch (renamed from pkgs/development/libraries/libedit/01-cygwin.patch)0
-rw-r--r--pkgs/by-name/li/libedit/package.nix56
-rw-r--r--pkgs/by-name/li/librum/package.nix68
-rw-r--r--pkgs/by-name/li/librum/use_mupdf_in_nixpkgs.patch109
-rw-r--r--pkgs/by-name/li/libyang/package.nix (renamed from pkgs/development/libraries/libyang/default.nix)4
-rw-r--r--pkgs/by-name/li/littlefs-fuse/package.nix4
-rw-r--r--pkgs/by-name/ll/llama-cpp/package.nix4
-rw-r--r--pkgs/by-name/lp/lpairs2/package.nix (renamed from pkgs/games/lgames/lpairs2/default.nix)23
-rw-r--r--pkgs/by-name/lu/lubelogger/package.nix4
-rw-r--r--pkgs/by-name/lu/lunacy/package.nix114
-rw-r--r--pkgs/by-name/me/metronome/package.nix78
-rw-r--r--pkgs/by-name/me/mev-boost/package.nix4
-rw-r--r--pkgs/by-name/mi/mihomo/package.nix41
-rw-r--r--pkgs/by-name/mo/monophony/package.nix8
-rw-r--r--pkgs/by-name/mo/movim/package.nix13
-rw-r--r--pkgs/by-name/my/mystmd/package.nix6
-rw-r--r--pkgs/by-name/ne/netease-cloud-music-gtk/Cargo.lock660
-rw-r--r--pkgs/by-name/ne/netease-cloud-music-gtk/package.nix15
-rw-r--r--pkgs/by-name/nh/nh/package.nix17
-rw-r--r--pkgs/by-name/ni/niri/Cargo.lock486
-rw-r--r--pkgs/by-name/ni/niri/package.nix27
-rw-r--r--pkgs/by-name/no/nom/package.nix4
-rw-r--r--pkgs/by-name/no/nomacs/package.nix90
-rw-r--r--pkgs/by-name/nu/numbat/package.nix6
-rw-r--r--pkgs/by-name/ob/obs-cmd/package.nix26
-rw-r--r--pkgs/by-name/op/opengv/package.nix45
-rw-r--r--pkgs/by-name/pi/pixi/package.nix15
-rw-r--r--pkgs/by-name/pq/pqiv/package.nix (renamed from pkgs/applications/graphics/pqiv/default.nix)33
-rw-r--r--pkgs/by-name/pr/pretalx/package.nix28
-rw-r--r--pkgs/by-name/py/pyprland/package.nix4
-rw-r--r--pkgs/by-name/qu/quicktype/package.nix6
-rw-r--r--pkgs/by-name/re/renode-unstable/package.nix4
-rw-r--r--pkgs/by-name/ry/ryujinx/package.nix3
-rw-r--r--pkgs/by-name/sa/satty/package.nix14
-rw-r--r--pkgs/by-name/sc/scdoc/package.nix6
-rw-r--r--pkgs/by-name/se/seabird/package.nix66
-rw-r--r--pkgs/by-name/se/searxng/package.nix6
-rwxr-xr-xpkgs/by-name/se/segger-jlink/package.nix10
-rw-r--r--pkgs/by-name/se/sesh/package.nix29
-rw-r--r--pkgs/by-name/sh/shopware-cli/package.nix6
-rw-r--r--pkgs/by-name/so/sophus/package.nix41
-rw-r--r--pkgs/by-name/sp/spotube/package.nix6
-rw-r--r--pkgs/by-name/sr/srm-cuarzo/package.nix4
-rw-r--r--pkgs/by-name/ss/ssh-openpgp-auth/daemon.nix14
-rw-r--r--pkgs/by-name/ss/ssh-openpgp-auth/generic.nix82
-rw-r--r--pkgs/by-name/ss/ssh-openpgp-auth/package.nix10
-rw-r--r--pkgs/by-name/tg/tgpt/package.nix (renamed from pkgs/tools/misc/tgpt/default.nix)12
-rw-r--r--pkgs/by-name/ti/tippecanoe/package.nix4
-rw-r--r--pkgs/by-name/ty/typos-lsp/package.nix6
-rw-r--r--pkgs/by-name/ty/typst/Cargo.lock1569
-rw-r--r--pkgs/by-name/ty/typst/package.nix18
-rw-r--r--pkgs/by-name/uc/uclibc-ng/package.nix4
-rw-r--r--pkgs/by-name/un/unrar/package.nix (renamed from pkgs/tools/archivers/unrar/default.nix)4
-rw-r--r--pkgs/by-name/un/unrar/setup-hook.sh (renamed from pkgs/tools/archivers/unrar/setup-hook.sh)0
-rw-r--r--pkgs/by-name/un/unrar_6/package.nix15
-rw-r--r--pkgs/by-name/uv/uv/Cargo.lock51
-rw-r--r--pkgs/by-name/uv/uv/package.nix6
-rw-r--r--pkgs/by-name/ux/uxn/package.nix6
-rw-r--r--pkgs/by-name/vl/vlc-bin/package.nix61
-rw-r--r--pkgs/by-name/wa/warp-terminal/versions.json12
-rw-r--r--pkgs/by-name/wh/whistle/package.nix6
-rw-r--r--pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix6
-rw-r--r--pkgs/by-name/ya/yamlscript/package.nix4
-rw-r--r--pkgs/by-name/ya/yazi-unwrapped/package.nix12
-rw-r--r--pkgs/by-name/yt/ytdownloader/config-dir.patch18
-rw-r--r--pkgs/by-name/yt/ytdownloader/package.nix70
-rw-r--r--pkgs/by-name/zs/zsync/package.nix (renamed from pkgs/tools/compression/zsync/default.nix)6
-rw-r--r--pkgs/data/documentation/zeal/default.nix1
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix22
-rw-r--r--pkgs/data/fonts/iosevka/comfy.nix31
-rw-r--r--pkgs/data/fonts/iosevka/default.nix40
-rwxr-xr-xpkgs/data/fonts/iosevka/update-bin.sh4
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix182
-rw-r--r--pkgs/data/fonts/junicode/default.nix23
-rw-r--r--pkgs/data/fonts/junicode/test-vf.tex46
-rw-r--r--pkgs/data/fonts/junicode/test.tex46
-rw-r--r--pkgs/data/fonts/junicode/tests.nix35
-rw-r--r--pkgs/data/fonts/junicode/tex-font-path.patch166
-rw-r--r--pkgs/data/misc/tzdata/default.nix6
-rw-r--r--pkgs/data/themes/alacritty-theme/default.nix6
-rw-r--r--pkgs/data/themes/where-is-my-sddm-theme/default.nix4
-rw-r--r--pkgs/desktops/deepin/apps/deepin-compressor/0001-fix-build-on-new-dtk.diff20
-rw-r--r--pkgs/desktops/deepin/apps/deepin-compressor/default.nix17
-rw-r--r--pkgs/desktops/deepin/apps/deepin-screen-recorder/default.nix3
-rw-r--r--pkgs/desktops/deepin/apps/deepin-system-monitor/default.nix4
-rw-r--r--pkgs/desktops/deepin/artwork/dde-account-faces/default.nix4
-rw-r--r--pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-app-services/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-appearance/default.nix6
-rw-r--r--pkgs/desktops/deepin/core/dde-appearance/fix-custom-wallpapers-path.diff6
-rw-r--r--pkgs/desktops/deepin/core/dde-application-manager/default.nix42
-rw-r--r--pkgs/desktops/deepin/core/dde-calendar/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-control-center/default.nix6
-rw-r--r--pkgs/desktops/deepin/core/dde-dock/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-file-manager/default.nix15
-rw-r--r--pkgs/desktops/deepin/core/dde-file-manager/patch_check_v23_interface.diff (renamed from pkgs/desktops/deepin/core/dde-file-manager/use_v23_dbus_interface.diff)6
-rw-r--r--pkgs/desktops/deepin/core/dde-launchpad/default.nix9
-rw-r--r--pkgs/desktops/deepin/core/dde-network-core/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-session-shell/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-session-ui/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/dde-session/default.nix7
-rw-r--r--pkgs/desktops/deepin/core/dde-widgets/default.nix4
-rw-r--r--pkgs/desktops/deepin/core/deepin-kwin/default.nix4
-rw-r--r--pkgs/desktops/deepin/default.nix4
-rw-r--r--pkgs/desktops/deepin/go-package/dde-api/default.nix25
-rw-r--r--pkgs/desktops/deepin/go-package/dde-daemon/default.nix11
-rw-r--r--pkgs/desktops/deepin/go-package/go-dbus-factory/default.nix4
-rw-r--r--pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch61
-rw-r--r--pkgs/desktops/deepin/go-package/startdde/default.nix14
-rw-r--r--pkgs/desktops/deepin/library/dtkcommon/default.nix4
-rw-r--r--pkgs/desktops/deepin/library/dtkcore/default.nix4
-rw-r--r--pkgs/desktops/deepin/library/dtkdeclarative/default.nix4
-rw-r--r--pkgs/desktops/deepin/library/dtkgui/default.nix11
-rw-r--r--pkgs/desktops/deepin/library/dtkwidget/default.nix4
-rw-r--r--pkgs/desktops/deepin/library/image-editor/default.nix4
-rw-r--r--pkgs/desktops/deepin/library/qt5integration/default.nix4
-rw-r--r--pkgs/desktops/deepin/library/qt5platform-plugins/default.nix13
-rw-r--r--pkgs/desktops/deepin/library/util-dfm/default.nix4
-rw-r--r--pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-maps/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/epiphany/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-contacts/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix6
-rw-r--r--pkgs/development/compilers/cakelisp/default.nix12
-rw-r--r--pkgs/development/compilers/chez/default.nix12
-rw-r--r--pkgs/development/compilers/dart/sources.nix12
-rw-r--r--pkgs/development/compilers/dmd/generic.nix2
-rw-r--r--pkgs/development/compilers/dotnet/9/default.nix9
-rw-r--r--pkgs/development/compilers/dotnet/9/deps.nix11
-rw-r--r--pkgs/development/compilers/dotnet/9/release-info.json5
-rw-r--r--pkgs/development/compilers/dotnet/9/release.json10
-rw-r--r--pkgs/development/compilers/dotnet/default.nix4
-rw-r--r--pkgs/development/compilers/dotnet/update.nix20
-rwxr-xr-xpkgs/development/compilers/dotnet/update.sh276
-rw-r--r--pkgs/development/compilers/dotnet/versions/9.0.nix143
-rw-r--r--pkgs/development/compilers/dtc/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/patches/12/mangle-NIX_STORE-in-__FILE__.patch48
-rw-r--r--pkgs/development/compilers/gcc/patches/13/mangle-NIX_STORE-in-__FILE__.patch48
-rw-r--r--pkgs/development/compilers/idris2/idris2-lsp.nix9
-rw-r--r--pkgs/development/compilers/ldc/binary.nix2
-rw-r--r--pkgs/development/compilers/ldc/generic.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/12/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/13/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/14/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/15/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/16/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/16/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/9/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/git/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/odin/default.nix4
-rw-r--r--pkgs/development/compilers/rust/1_76.nix (renamed from pkgs/development/compilers/rust/1_75.nix)30
-rw-r--r--pkgs/development/compilers/rust/cargo.nix36
-rw-r--r--pkgs/development/compilers/rust/make-rust-platform.nix4
-rw-r--r--pkgs/development/compilers/rust/rustc.nix15
-rw-r--r--pkgs/development/compilers/zulu/common.nix15
-rw-r--r--pkgs/development/embedded/fpga/openfpgaloader/default.nix4
-rw-r--r--pkgs/development/embedded/svdtools/default.nix6
-rw-r--r--pkgs/development/interpreters/cel-go/default.nix6
-rw-r--r--pkgs/development/interpreters/elixir/1.16.nix4
-rw-r--r--pkgs/development/interpreters/joker/default.nix6
-rw-r--r--pkgs/development/interpreters/luau/default.nix14
-rw-r--r--pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py3
-rw-r--r--pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix9
-rw-r--r--pkgs/development/interpreters/quickjs/default.nix14
-rw-r--r--pkgs/development/interpreters/scsh/default.nix12
-rw-r--r--pkgs/development/libraries/abseil-cpp/202401.nix4
-rw-r--r--pkgs/development/libraries/avahi/default.nix6
-rw-r--r--pkgs/development/libraries/boost-ext/boost-sml/default.nix4
-rw-r--r--pkgs/development/libraries/c-ares/default.nix4
-rw-r--r--pkgs/development/libraries/catch2/3.nix2
-rw-r--r--pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix27
-rw-r--r--pkgs/development/libraries/fmt/default.nix4
-rw-r--r--pkgs/development/libraries/freetts/default.nix60
-rw-r--r--pkgs/development/libraries/glib/default.nix7
-rw-r--r--pkgs/development/libraries/gnome-online-accounts/default.nix26
-rw-r--r--pkgs/development/libraries/gnutls/default.nix2
-rw-r--r--pkgs/development/libraries/grpc/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/setup-hook.sh3
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix16
-rw-r--r--pkgs/development/libraries/gstreamer/good/souploader.diff13
-rw-r--r--pkgs/development/libraries/imath/default.nix4
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix4
-rw-r--r--pkgs/development/libraries/libbacktrace/0001-libbacktrace-avoid-libtool-wrapping-tests.patch30
-rw-r--r--pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch23
-rw-r--r--pkgs/development/libraries/libbacktrace/0003-libbacktrace-Support-multiple-build-id-directories.patch20
-rw-r--r--pkgs/development/libraries/libbacktrace/0004-libbacktrace-Support-NIX_DEBUG_INFO_DIRS-environment.patch8
-rw-r--r--pkgs/development/libraries/libbacktrace/default.nix6
-rw-r--r--pkgs/development/libraries/libcbor/default.nix16
-rw-r--r--pkgs/development/libraries/libdeltachat/Cargo.lock1301
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix8
-rw-r--r--pkgs/development/libraries/libedit/default.nix43
-rw-r--r--pkgs/development/libraries/liberfa/default.nix4
-rw-r--r--pkgs/development/libraries/libffi/default.nix7
-rw-r--r--pkgs/development/libraries/libffi/fix-implicit-fun-decl.patch46
-rw-r--r--pkgs/development/libraries/libgsf/default.nix4
-rw-r--r--pkgs/development/libraries/libheif/default.nix16
-rw-r--r--pkgs/development/libraries/libmicrohttpd/0.9.77.nix10
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix2
-rw-r--r--pkgs/development/libraries/libsecret/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/backport-radeon-crash-fix.patch13
-rw-r--r--pkgs/development/libraries/mesa/default.nix15
-rw-r--r--pkgs/development/libraries/nv-codec-headers/10_x.nix22
-rw-r--r--pkgs/development/libraries/nv-codec-headers/11_x.nix27
-rw-r--r--pkgs/development/libraries/nv-codec-headers/12_x.nix27
-rw-r--r--pkgs/development/libraries/nv-codec-headers/default.nix46
-rw-r--r--pkgs/development/libraries/nv-codec-headers/make-nv-codec-headers.nix32
-rw-r--r--pkgs/development/libraries/ogre/default.nix34
-rw-r--r--pkgs/development/libraries/oneDNN/default.nix4
-rw-r--r--pkgs/development/libraries/openjpeg/default.nix21
-rw-r--r--pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/qt-6/modules/qtbase.nix4
-rw-r--r--pkgs/development/libraries/rapidfuzz-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/rapidjson/unstable.nix8
-rw-r--r--pkgs/development/libraries/s2geometry/default.nix6
-rw-r--r--pkgs/development/libraries/sentry-native/default.nix7
-rw-r--r--pkgs/development/libraries/simdjson/default.nix4
-rw-r--r--pkgs/development/libraries/spdlog/default.nix16
-rw-r--r--pkgs/development/libraries/tevent/default.nix4
-rw-r--r--pkgs/development/libraries/v8/default.nix8
-rw-r--r--pkgs/development/libraries/xvidcore/default.nix13
-rw-r--r--pkgs/development/libraries/zeroc-ice/default.nix4
-rw-r--r--pkgs/development/misc/resholve/oildev.nix27
-rw-r--r--pkgs/development/ocaml-modules/cry/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/eio/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix4
-rw-r--r--pkgs/development/octave-modules/signal/default.nix4
-rw-r--r--pkgs/development/php-packages/castor/default.nix16
-rw-r--r--pkgs/development/python-modules/acquire/default.nix4
-rw-r--r--pkgs/development/python-modules/ago/default.nix40
-rw-r--r--pkgs/development/python-modules/aiobotocore/default.nix5
-rw-r--r--pkgs/development/python-modules/aiocache/default.nix13
-rw-r--r--pkgs/development/python-modules/aiocoap/default.nix64
-rw-r--r--pkgs/development/python-modules/aiomisc/default.nix4
-rw-r--r--pkgs/development/python-modules/aionotion/default.nix10
-rw-r--r--pkgs/development/python-modules/aiopvpc/default.nix12
-rw-r--r--pkgs/development/python-modules/aioquic/default.nix8
-rw-r--r--pkgs/development/python-modules/aioswitcher/default.nix5
-rw-r--r--pkgs/development/python-modules/airly/default.nix4
-rw-r--r--pkgs/development/python-modules/alarmdecoder/default.nix5
-rw-r--r--pkgs/development/python-modules/amaranth-boards/default.nix8
-rw-r--r--pkgs/development/python-modules/amaranth-soc/default.nix23
-rw-r--r--pkgs/development/python-modules/amaranth/default.nix9
-rw-r--r--pkgs/development/python-modules/anywidget/default.nix4
-rw-r--r--pkgs/development/python-modules/apprise/default.nix4
-rw-r--r--pkgs/development/python-modules/arcam-fmj/default.nix13
-rw-r--r--pkgs/development/python-modules/asf-search/default.nix4
-rw-r--r--pkgs/development/python-modules/autopep8/default.nix14
-rw-r--r--pkgs/development/python-modules/axis/default.nix21
-rw-r--r--pkgs/development/python-modules/azure-core/default.nix4
-rw-r--r--pkgs/development/python-modules/bandit/default.nix7
-rw-r--r--pkgs/development/python-modules/bc-detect-secrets/default.nix11
-rw-r--r--pkgs/development/python-modules/bcrypt/default.nix6
-rw-r--r--pkgs/development/python-modules/bidict/default.nix8
-rw-r--r--pkgs/development/python-modules/bless/default.nix19
-rw-r--r--pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3/default.nix2
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/bthome-ble/default.nix6
-rw-r--r--pkgs/development/python-modules/cashaddress/default.nix42
-rw-r--r--pkgs/development/python-modules/chameleon/default.nix34
-rw-r--r--pkgs/development/python-modules/cherrypy/default.nix29
-rw-r--r--pkgs/development/python-modules/chromadb/default.nix2
-rw-r--r--pkgs/development/python-modules/clickhouse-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/cloudsmith-api/default.nix4
-rw-r--r--pkgs/development/python-modules/coconut/default.nix11
-rw-r--r--pkgs/development/python-modules/cohere/default.nix4
-rw-r--r--pkgs/development/python-modules/cpyparsing/default.nix10
-rw-r--r--pkgs/development/python-modules/croniter/default.nix4
-rw-r--r--pkgs/development/python-modules/css-inline/Cargo.lock1160
-rw-r--r--pkgs/development/python-modules/css-inline/default.nix13
-rw-r--r--pkgs/development/python-modules/debugpy/default.nix2
-rw-r--r--pkgs/development/python-modules/deltachat/default.nix6
-rw-r--r--pkgs/development/python-modules/dirigera/default.nix51
-rw-r--r--pkgs/development/python-modules/dissect-btrfs/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-cim/default.nix6
-rw-r--r--pkgs/development/python-modules/dissect-clfs/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-cstruct/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-esedb/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-etl/default.nix8
-rw-r--r--pkgs/development/python-modules/dissect-eventlog/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-evidence/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-executable/default.nix6
-rw-r--r--pkgs/development/python-modules/dissect-extfs/default.nix6
-rw-r--r--pkgs/development/python-modules/dissect-fat/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-ffs/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-hypervisor/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-jffs/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-ntfs/default.nix6
-rw-r--r--pkgs/development/python-modules/dissect-ole/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-regf/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-shellitem/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-sql/default.nix6
-rw-r--r--pkgs/development/python-modules/dissect-squashfs/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-target/default.nix11
-rw-r--r--pkgs/development/python-modules/dissect-thumbcache/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-util/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-vmfs/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-volume/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-xfs/default.nix6
-rw-r--r--pkgs/development/python-modules/dissect/default.nix4
-rw-r--r--pkgs/development/python-modules/django-celery-beat/default.nix24
-rw-r--r--pkgs/development/python-modules/django-formtools/default.nix13
-rw-r--r--pkgs/development/python-modules/django/4.nix7
-rw-r--r--pkgs/development/python-modules/django/5.nix7
-rw-r--r--pkgs/development/python-modules/dnspython/default.nix22
-rw-r--r--pkgs/development/python-modules/dsl2html/default.nix30
-rw-r--r--pkgs/development/python-modules/dsmr-parser/default.nix5
-rw-r--r--pkgs/development/python-modules/elastic-apm/default.nix11
-rw-r--r--pkgs/development/python-modules/enocean/default.nix4
-rw-r--r--pkgs/development/python-modules/eventlet/default.nix74
-rw-r--r--pkgs/development/python-modules/ezyrb/default.nix4
-rw-r--r--pkgs/development/python-modules/fake-useragent/default.nix4
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix6
-rw-r--r--pkgs/development/python-modules/faraday-agent-parameters-types/default.nix4
-rw-r--r--pkgs/development/python-modules/feedfinder2/default.nix43
-rw-r--r--pkgs/development/python-modules/fiona/default.nix4
-rw-r--r--pkgs/development/python-modules/fitbit/default.nix5
-rw-r--r--pkgs/development/python-modules/gawd/default.nix44
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix11
-rw-r--r--pkgs/development/python-modules/google-cloud-asset/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-dlp/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-netapp/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix4
-rw-r--r--pkgs/development/python-modules/gpiozero/default.nix18
-rw-r--r--pkgs/development/python-modules/grpcio-health-checking/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-reflection/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-status/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-testing/default.nix13
-rw-r--r--pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio/default.nix4
-rw-r--r--pkgs/development/python-modules/guidance/default.nix19
-rw-r--r--pkgs/development/python-modules/h3/default.nix4
-rw-r--r--pkgs/development/python-modules/habitipy/default.nix4
-rw-r--r--pkgs/development/python-modules/hg-git/default.nix4
-rw-r--r--pkgs/development/python-modules/http-ece/default.nix26
-rw-r--r--pkgs/development/python-modules/httpcore/default.nix6
-rw-r--r--pkgs/development/python-modules/hurry-filesize/default.nix39
-rw-r--r--pkgs/development/python-modules/hurry-filesize/use-pep-420-implicit-namespace-package.patch24
-rw-r--r--pkgs/development/python-modules/influxdb/default.nix13
-rw-r--r--pkgs/development/python-modules/iocsearcher/default.nix70
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipyvuetify/default.nix30
-rw-r--r--pkgs/development/python-modules/jaxtyping/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-lsp/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab-server/default.nix4
-rw-r--r--pkgs/development/python-modules/jwcrypto/default.nix4
-rw-r--r--pkgs/development/python-modules/keyring-pass/default.nix4
-rw-r--r--pkgs/development/python-modules/langchain-community/default.nix4
-rw-r--r--pkgs/development/python-modules/langchain-core/default.nix4
-rw-r--r--pkgs/development/python-modules/langsmith/default.nix4
-rw-r--r--pkgs/development/python-modules/lark/default.nix4
-rw-r--r--pkgs/development/python-modules/lingua/default.nix5
-rw-r--r--pkgs/development/python-modules/linknlink/default.nix4
-rw-r--r--pkgs/development/python-modules/llama-index-core/default.nix4
-rw-r--r--pkgs/development/python-modules/llama-parse/default.nix4
-rw-r--r--pkgs/development/python-modules/lomond/default.nix3
-rw-r--r--pkgs/development/python-modules/loqedapi/default.nix4
-rw-r--r--pkgs/development/python-modules/minio/default.nix11
-rw-r--r--pkgs/development/python-modules/mlflow/default.nix23
-rw-r--r--pkgs/development/python-modules/mplhep/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3/default.nix261
-rw-r--r--pkgs/development/python-modules/mypy-boto3/update.sh37
-rw-r--r--pkgs/development/python-modules/mypy/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--pkgs/development/python-modules/netutils/default.nix4
-rw-r--r--pkgs/development/python-modules/nevow/default.nix5
-rw-r--r--pkgs/development/python-modules/niworkflows/default.nix4
-rw-r--r--pkgs/development/python-modules/notebook-shim/default.nix4
-rw-r--r--pkgs/development/python-modules/numexpr/default.nix4
-rw-r--r--pkgs/development/python-modules/odp-amsterdam/default.nix8
-rw-r--r--pkgs/development/python-modules/opentelemetry-api/default.nix18
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix14
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix22
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix19
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix13
-rw-r--r--pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix13
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix12
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix10
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix19
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix6
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix12
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix18
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix10
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation/default.nix16
-rw-r--r--pkgs/development/python-modules/opentelemetry-proto/default.nix10
-rw-r--r--pkgs/development/python-modules/opentelemetry-sdk/default.nix11
-rw-r--r--pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix11
-rw-r--r--pkgs/development/python-modules/opentelemetry-test-utils/default.nix14
-rw-r--r--pkgs/development/python-modules/opentelemetry-util-http/default.nix19
-rw-r--r--pkgs/development/python-modules/openwrt-luci-rpc/default.nix4
-rw-r--r--pkgs/development/python-modules/orjson/default.nix23
-rw-r--r--pkgs/development/python-modules/patsy/default.nix4
-rw-r--r--pkgs/development/python-modules/pbr/default.nix2
-rw-r--r--pkgs/development/python-modules/pdm-backend/setup-hook.sh10
-rw-r--r--pkgs/development/python-modules/pgmpy/default.nix4
-rw-r--r--pkgs/development/python-modules/piccolo-theme/default.nix4
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pillow-heif/default.nix8
-rw-r--r--pkgs/development/python-modules/ping3/default.nix4
-rw-r--r--pkgs/development/python-modules/pubnub/default.nix4
-rw-r--r--pkgs/development/python-modules/pueblo/default.nix4
-rw-r--r--pkgs/development/python-modules/pushbullet-py/default.nix25
-rw-r--r--pkgs/development/python-modules/py-vapid/default.nix8
-rw-r--r--pkgs/development/python-modules/pyaml/default.nix4
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix4
-rw-r--r--pkgs/development/python-modules/pyatv/default.nix4
-rw-r--r--pkgs/development/python-modules/pydantic-core/default.nix6
-rw-r--r--pkgs/development/python-modules/pydantic/default.nix4
-rw-r--r--pkgs/development/python-modules/pyenphase/default.nix4
-rw-r--r--pkgs/development/python-modules/pygnmi/default.nix4
-rw-r--r--pkgs/development/python-modules/pyicloud/default.nix20
-rw-r--r--pkgs/development/python-modules/pykaleidescape/default.nix5
-rw-r--r--pkgs/development/python-modules/pylxd/default.nix37
-rw-r--r--pkgs/development/python-modules/pymodbus/default.nix4
-rw-r--r--pkgs/development/python-modules/pyngrok/default.nix4
-rw-r--r--pkgs/development/python-modules/pynvml/default.nix28
-rw-r--r--pkgs/development/python-modules/pypinyin/default.nix4
-rw-r--r--pkgs/development/python-modules/pysqueezebox/default.nix6
-rw-r--r--pkgs/development/python-modules/pytest-jupyter/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-services/default.nix51
-rw-r--r--pkgs/development/python-modules/python-dotenv/default.nix6
-rw-r--r--pkgs/development/python-modules/python-matter-server/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvisa-py/default.nix4
-rw-r--r--pkgs/development/python-modules/rapidfuzz/default.nix6
-rw-r--r--pkgs/development/python-modules/readabilipy/default.nix66
-rw-r--r--pkgs/development/python-modules/recipe-scrapers/default.nix4
-rw-r--r--pkgs/development/python-modules/reportlab/default.nix10
-rw-r--r--pkgs/development/python-modules/reptor/default.nix4
-rw-r--r--pkgs/development/python-modules/rns/default.nix4
-rw-r--r--pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--pkgs/development/python-modules/safety-schemas/default.nix52
-rw-r--r--pkgs/development/python-modules/safety/default.nix45
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/service-identity/default.nix4
-rw-r--r--pkgs/development/python-modules/smartypants/default.nix37
-rw-r--r--pkgs/development/python-modules/smmap/default.nix3
-rw-r--r--pkgs/development/python-modules/snitun/default.nix34
-rw-r--r--pkgs/development/python-modules/solax/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlalchemy-utils/default.nix5
-rw-r--r--pkgs/development/python-modules/statsd/default.nix11
-rw-r--r--pkgs/development/python-modules/streamlit/default.nix4
-rw-r--r--pkgs/development/python-modules/systembridgeconnector/default.nix4
-rw-r--r--pkgs/development/python-modules/systembridgemodels/default.nix14
-rw-r--r--pkgs/development/python-modules/textual-universal-directorytree/default.nix14
-rw-r--r--pkgs/development/python-modules/tinysegmenter/default.nix38
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/twilio/default.nix3
-rw-r--r--pkgs/development/python-modules/types-colorama/default.nix11
-rw-r--r--pkgs/development/python-modules/types-decorator/default.nix11
-rw-r--r--pkgs/development/python-modules/types-docutils/default.nix4
-rw-r--r--pkgs/development/python-modules/types-pillow/default.nix4
-rw-r--r--pkgs/development/python-modules/types-psutil/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/unidecode/default.nix15
-rw-r--r--pkgs/development/python-modules/universal-pathlib/default.nix4
-rw-r--r--pkgs/development/python-modules/uvcclient/default.nix9
-rw-r--r--pkgs/development/python-modules/vector/default.nix4
-rw-r--r--pkgs/development/python-modules/whitenoise/default.nix8
-rw-r--r--pkgs/development/python-modules/ws4py/default.nix48
-rw-r--r--pkgs/development/python-modules/xdxf2html/default.nix30
-rw-r--r--pkgs/development/python-modules/xiaomi-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/xknx/default.nix7
-rw-r--r--pkgs/development/python-modules/xknx/pytest-asyncio-0.22-compat.patch28
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix3
-rw-r--r--pkgs/development/python-modules/youless-api/default.nix4
-rw-r--r--pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--pkgs/development/r-modules/default.nix26
-rw-r--r--pkgs/development/tools/algolia-cli/default.nix4
-rw-r--r--pkgs/development/tools/analysis/binlore/default.nix7
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/analysis/rizin/0001-fix-compilation-with-clang.patch30
-rw-r--r--pkgs/development/tools/analysis/rizin/cutter.nix14
-rw-r--r--pkgs/development/tools/analysis/rizin/default.nix19
-rw-r--r--pkgs/development/tools/analysis/rizin/jsdec.nix33
-rw-r--r--pkgs/development/tools/analysis/rizin/rz-ghidra.nix21
-rw-r--r--pkgs/development/tools/analysis/rizin/sigdb.nix6
-rw-r--r--pkgs/development/tools/bearer/default.nix6
-rw-r--r--pkgs/development/tools/benthos/default.nix8
-rw-r--r--pkgs/development/tools/buf/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/sources.json10
-rw-r--r--pkgs/development/tools/build-managers/xmake/default.nix4
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/default.nix41
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/master.nix198
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix9
-rw-r--r--pkgs/development/tools/dtools/default.nix2
-rw-r--r--pkgs/development/tools/dump_syms/default.nix2
-rw-r--r--pkgs/development/tools/firebase-tools/default.nix6
-rw-r--r--pkgs/development/tools/go-task/default.nix4
-rw-r--r--pkgs/development/tools/infisical/default.nix2
-rw-r--r--pkgs/development/tools/infisical/hashes.json8
-rw-r--r--pkgs/development/tools/language-servers/neocmakelsp/default.nix6
-rw-r--r--pkgs/development/tools/melange/default.nix6
-rw-r--r--pkgs/development/tools/misc/binutils/CVE-2023-1972.patch23
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix22
-rw-r--r--pkgs/development/tools/misc/binutils/gold-powerpc-for-llvm.patch107
-rw-r--r--pkgs/development/tools/misc/binutils/mingw-abort-fix.patch30
-rw-r--r--pkgs/development/tools/misc/binutils/mips64-default-n64.patch82
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix90
-rw-r--r--pkgs/development/tools/misc/lttng-ust/generic.nix2
-rw-r--r--pkgs/development/tools/misc/terser/default.nix6
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix6
-rw-r--r--pkgs/development/tools/operator-sdk/default.nix4
-rw-r--r--pkgs/development/tools/pet/default.nix4
-rw-r--r--pkgs/development/tools/profiling/pprof/default.nix8
-rw-r--r--pkgs/development/tools/reindeer/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-binstall/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deb/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-mobile2/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-tally/default.nix6
-rw-r--r--pkgs/development/tools/rye/Cargo.lock2
-rw-r--r--pkgs/development/tools/rye/default.nix8
-rw-r--r--pkgs/development/tools/sentry-cli/default.nix6
-rw-r--r--pkgs/development/tools/sshs/Cargo.lock1053
-rw-r--r--pkgs/development/tools/sshs/Cargo.toml31
-rw-r--r--pkgs/development/tools/sshs/default.nix26
-rw-r--r--pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch20
-rw-r--r--pkgs/development/tools/vagrant/default.nix14
-rw-r--r--pkgs/development/tools/vagrant/gemset.nix142
-rw-r--r--pkgs/development/web/deno/default.nix12
-rw-r--r--pkgs/development/web/nodejs/v21.nix4
-rw-r--r--pkgs/games/eduke32/default.nix108
-rw-r--r--pkgs/games/freeciv/default.nix6
-rw-r--r--pkgs/games/lgames/lbreakout2/default.nix48
-rw-r--r--pkgs/games/nile/default.nix6
-rw-r--r--pkgs/games/openjk/default.nix6
-rw-r--r--pkgs/games/principia/default.nix62
-rw-r--r--pkgs/games/steam/fhsenv.nix3
-rw-r--r--pkgs/games/wesnoth/default.nix16
-rw-r--r--pkgs/kde/gear/akonadi/default.nix6
-rw-r--r--pkgs/misc/uboot/default.nix3
-rw-r--r--pkgs/os-specific/linux/apparmor/0001-aa-remove-unknown_empty-ruleset.patch30
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix4
-rw-r--r--pkgs/os-specific/linux/bpftrace/default.nix4
-rw-r--r--pkgs/os-specific/linux/conky/default.nix25
-rw-r--r--pkgs/os-specific/linux/firmware/sof-firmware/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/xanmod-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/ocf-resource-agents/default.nix12
-rw-r--r--pkgs/os-specific/linux/r8125/default.nix4
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix4
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix6
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix19
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix3
-rw-r--r--pkgs/os-specific/linux/vmware/default.nix10
-rw-r--r--pkgs/servers/geospatial/mapproxy/default.nix4
-rw-r--r--pkgs/servers/home-assistant/default.nix7
-rw-r--r--pkgs/servers/home-automation/evcc/default.nix8
-rw-r--r--pkgs/servers/icecream/default.nix10
-rw-r--r--pkgs/servers/mail/mailman/hyperkitty.nix26
-rw-r--r--pkgs/servers/mail/mailman/python.nix9
-rw-r--r--pkgs/servers/mattermost/default.nix6
-rw-r--r--pkgs/servers/miniflux/default.nix6
-rw-r--r--pkgs/servers/minio/default.nix6
-rw-r--r--pkgs/servers/monitoring/consul-alerts/default.nix1
-rw-r--r--pkgs/servers/monitoring/grafana-agent/default.nix28
-rw-r--r--pkgs/servers/monitoring/prometheus/smokeping-prober.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/wireguard-exporter.nix1
-rw-r--r--pkgs/servers/nosql/aerospike/default.nix4
-rw-r--r--pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-16.patch26
-rw-r--r--pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-darwin.patch27
-rw-r--r--pkgs/servers/pulseaudio/0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch26
-rw-r--r--pkgs/servers/pulseaudio/0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch13
-rw-r--r--pkgs/servers/pulseaudio/0005-Enable-CoreAudio-on-darwin.patch31
-rw-r--r--pkgs/servers/pulseaudio/0006-Fix-libpulsecommon-sources-on-darwin.patch18
-rw-r--r--pkgs/servers/pulseaudio/0007-Fix-link-args-on-darwin.patch75
-rw-r--r--pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch9
-rw-r--r--pkgs/servers/pulseaudio/default.nix18
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvecto-rs/0001-read-clang-flags-from-environment.diff19
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvecto-rs/Cargo.lock3626
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix118
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
-rw-r--r--pkgs/servers/sql/proxysql/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/default.nix24
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock2
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock6
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix16
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock2
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/Gemfile11
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock133
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix187
-rw-r--r--pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch22
-rw-r--r--pkgs/shells/fish/plugins/default.nix2
-rw-r--r--pkgs/shells/fish/plugins/transient-fish.nix22
-rw-r--r--pkgs/shells/nushell/nu_scripts/default.nix6
-rw-r--r--pkgs/shells/nushell/plugins/default.nix2
-rw-r--r--pkgs/shells/nushell/plugins/regex.nix35
-rw-r--r--pkgs/shells/zsh/agkozak-zsh-prompt/default.nix4
-rw-r--r--pkgs/shells/zsh/antidote/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-abbr/default.nix4
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix1
-rw-r--r--pkgs/stdenv/linux/bootstrap-tools-musl/default.nix2
-rw-r--r--pkgs/stdenv/linux/bootstrap-tools/default.nix2
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix1
-rw-r--r--pkgs/tools/X11/arandr/default.nix1
-rw-r--r--pkgs/tools/admin/amazon-ec2-utils/default.nix4
-rw-r--r--pkgs/tools/admin/balena-cli/default.nix6
-rw-r--r--pkgs/tools/admin/chamber/default.nix6
-rw-r--r--pkgs/tools/admin/gam/default.nix16
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/liquidsoap/full.nix7
-rw-r--r--pkgs/tools/backup/zfs-replicate/default.nix4
-rw-r--r--pkgs/tools/compression/xz/default.nix4
-rw-r--r--pkgs/tools/filesystems/rar2fs/default.nix6
-rw-r--r--pkgs/tools/misc/aichat/default.nix6
-rw-r--r--pkgs/tools/misc/bash_unit/default.nix4
-rw-r--r--pkgs/tools/misc/coreutils/default.nix2
-rw-r--r--pkgs/tools/misc/dua/default.nix6
-rw-r--r--pkgs/tools/misc/edid-decode/default.nix6
-rw-r--r--pkgs/tools/misc/fontforge/default.nix10
-rw-r--r--pkgs/tools/misc/fzf/default.nix6
-rw-r--r--pkgs/tools/misc/hunt/default.nix6
-rw-r--r--pkgs/tools/misc/mise/default.nix6
-rw-r--r--pkgs/tools/misc/mmctl/0001-module-replace-public.patch8
-rw-r--r--pkgs/tools/misc/mmctl/default.nix39
-rw-r--r--pkgs/tools/misc/moar/default.nix4
-rw-r--r--pkgs/tools/misc/ntfy-sh/default.nix8
-rw-r--r--pkgs/tools/misc/star-history/default.nix6
-rw-r--r--pkgs/tools/misc/time-decode/default.nix11
-rw-r--r--pkgs/tools/misc/tio/default.nix5
-rw-r--r--pkgs/tools/misc/tmuxinator/default.nix8
-rw-r--r--pkgs/tools/misc/ugs/default.nix4
-rw-r--r--pkgs/tools/networking/ddns-go/default.nix6
-rw-r--r--pkgs/tools/networking/globalping-cli/default.nix6
-rw-r--r--pkgs/tools/networking/grpc_cli/default.nix4
-rw-r--r--pkgs/tools/networking/hysteria/default.nix6
-rw-r--r--pkgs/tools/networking/knock/package.nix35
-rw-r--r--pkgs/tools/networking/ngrok/versions.json36
-rw-r--r--pkgs/tools/networking/oha/default.nix6
-rw-r--r--pkgs/tools/networking/v2ray/default.nix6
-rw-r--r--pkgs/tools/networking/v2raya/default.nix10
-rw-r--r--pkgs/tools/networking/v2raya/package.json4
-rw-r--r--pkgs/tools/package-management/nix/common.nix4
-rw-r--r--pkgs/tools/package-management/nix/default.nix22
-rw-r--r--pkgs/tools/package-management/poetry/plugins/poetry-audit-plugin.nix9
-rw-r--r--pkgs/tools/security/cdxgen/default.nix6
-rw-r--r--pkgs/tools/security/cnspec/default.nix7
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/firefox_decrypt/default.nix8
-rw-r--r--pkgs/tools/security/gallia/default.nix7
-rw-r--r--pkgs/tools/security/jwx/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock8
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix6
-rw-r--r--pkgs/tools/security/mokutil/default.nix4
-rw-r--r--pkgs/tools/security/pinentry/default.nix202
-rw-r--r--pkgs/tools/security/terrascan/default.nix4
-rw-r--r--pkgs/tools/security/trufflehog/default.nix6
-rw-r--r--pkgs/tools/security/vaultwarden/default.nix6
-rw-r--r--pkgs/tools/security/yara/default.nix13
-rw-r--r--pkgs/tools/system/automatic-timezoned/default.nix6
-rw-r--r--pkgs/tools/system/dell-command-configure/default.nix12
-rw-r--r--pkgs/tools/system/nsc/default.nix8
-rw-r--r--pkgs/tools/system/pciutils/default.nix4
-rw-r--r--pkgs/tools/text/ruplacer/default.nix6
-rw-r--r--pkgs/tools/text/ugrep/default.nix4
-rw-r--r--pkgs/tools/text/vale/default.nix6
-rw-r--r--pkgs/tools/typesetting/fop/default.nix72
-rw-r--r--pkgs/tools/typesetting/hayagriva/default.nix6
-rw-r--r--pkgs/tools/virtualization/govc/default.nix6
-rw-r--r--pkgs/tools/wayland/wlr-randr/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix16
-rw-r--r--pkgs/top-level/all-packages.nix238
-rw-r--r--pkgs/top-level/linux-kernels.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix28
-rw-r--r--pkgs/top-level/stage.nix1
873 files changed, 19451 insertions, 9640 deletions
diff --git a/pkgs/applications/audio/jmusicbot/default.nix b/pkgs/applications/audio/jmusicbot/default.nix
index 6b154ffbb1a67..5caf1a472d57d 100644
--- a/pkgs/applications/audio/jmusicbot/default.nix
+++ b/pkgs/applications/audio/jmusicbot/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "JMusicBot";
-  version = "0.3.9";
+  version = "0.4.0";
 
   src = fetchurl {
     url = "https://github.com/jagrosh/MusicBot/releases/download/${version}/JMusicBot-${version}.jar";
-    sha256 = "sha256-2A1yo2e1MawGLMTM6jWwpQJJuKOmljxFriORv90Jqg8=";
+    sha256 = "sha256-JSVrzyCqAp3V5OZ+KJczhWGolPkdaHsPmiqfmhapQMs=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/audio/ladspa-plugins/default.nix b/pkgs/applications/audio/ladspa-plugins/default.nix
index 491a18bba3eaa..d7e7dd7b69477 100644
--- a/pkgs/applications/audio/ladspa-plugins/default.nix
+++ b/pkgs/applications/audio/ladspa-plugins/default.nix
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://plugin.org.uk/";
     description = "LADSPA format audio plugins";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = [ maintainers.magnetophon ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix
index e1d2e8d35d521..7a666da0d23f3 100644
--- a/pkgs/applications/audio/mpg123/default.nix
+++ b/pkgs/applications/audio/mpg123/default.nix
@@ -21,11 +21,11 @@ assert withConplay -> !libOnly;
 
 stdenv.mkDerivation rec {
   pname = "${lib.optionalString libOnly "lib"}mpg123";
-  version = "1.32.4";
+  version = "1.32.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2";
-    hash = "sha256-WplmQzj7L3UbZi9A7iWATQydtrV13LXOdBxtxkIkoIo=";
+    hash = "sha256-r5CM32zbZUS5e8cGp5n3mJTmlGivWIG/RUoOu5Fx7WM=";
   };
 
   outputs = [ "out" "dev" "man" ] ++ lib.optional withConplay "conplay";
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 65cf4e3d7b000..54da814c5f204 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -26,11 +26,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qmmp";
-  version = "2.1.5";
+  version = "2.1.6";
 
   src = fetchurl {
     url = "https://qmmp.ylsoftware.com/files/qmmp/2.1/${pname}-${version}.tar.bz2";
-    hash = "sha256-Jb4/KxnY1wtrUTbD+X04Wl7b9A2sZ92E/N1K+dVU95U=";
+    hash = "sha256-knqo5yCkcO/bFmM++z+SdiWzpDKK9ooV0wqlcIKj7so=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix
index ce3f571623663..56c316dadcdb4 100644
--- a/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/pkgs/applications/audio/radiotray-ng/default.nix
@@ -19,7 +19,6 @@
 # GStreamer
 , glib-networking
 , gst_all_1
-, libsoup_3
 # User-agent info
 , lsb-release
 # rt2rtng
@@ -100,8 +99,6 @@ stdenv.mkDerivation rec {
   preFixup = ''
     gappsWrapperArgs+=(--suffix PATH : ${lib.makeBinPath [ dbus ]})
     wrapProgram $out/bin/rt2rtng --prefix PYTHONPATH : $PYTHONPATH
-    # for GStreamer
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.getLib libsoup_3}/lib")
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/youtube-music/default.nix b/pkgs/applications/audio/youtube-music/default.nix
index cfb97b549a06d..7f6b7865054f1 100644
--- a/pkgs/applications/audio/youtube-music/default.nix
+++ b/pkgs/applications/audio/youtube-music/default.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchFromGitHub
-, buildNpmPackage
 , makeWrapper
 , electron
 , python3
@@ -14,21 +13,17 @@
 , makeDesktopItem
 }:
 
-let
+stdenv.mkDerivation (finalAttrs: {
   pname = "youtube-music";
-  version = "3.1.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "th-ch";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-6ZiftpdCwxCkJzcHryVrUKzM+mM1eQpdLNFl0Dja59Q=";
+    repo = "youtube-music";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-N6TzDTKvMyasksE0qcEGKeNjGAD08OzxpmpoQ11/ZW4=";
   };
 
-in
-stdenv.mkDerivation (finalAttrs: {
-  inherit pname version src;
-
   pnpmDeps = stdenvNoCC.mkDerivation {
     pname = "${finalAttrs.pname}-pnpm-deps";
     inherit (finalAttrs) src version ELECTRON_SKIP_BINARY_DOWNLOAD;
@@ -51,17 +46,15 @@ stdenv.mkDerivation (finalAttrs: {
     dontBuild = true;
     dontFixup = true;
     outputHashMode = "recursive";
-    outputHashAlgo = "sha256";
     outputHash = {
-      x86_64-linux = "sha256-Oy11V7FXfVhLUR9gX0sjQEFuVPFpbaVdT518oOSLcvA=";
-      aarch64-linux = "sha256-6nXemaGiQjp2stjjKItPJ62VcH5Q5pRf63qKtl2haXI=";
-      x86_64-darwin = "sha256-jSMAw+AMD63vqPckZjblw4EDngA4E8h0WlsZu3hUShY=";
-      aarch64-darwin = "sha256-zujXURpIcw7IOw63AW167h6cywYXydhHZMzA2apGZAs=";
+      x86_64-linux = "sha256-V6CSawxBWFbXmAPbck0xCXqRlANpqFAoqSAB4Duf8qM=";
+      aarch64-linux = "sha256-cqBn35soV14CmobKt0napRELio4HKKA8Iw3QSWTxzP8=";
+      x86_64-darwin = "sha256-DY9T1N8Hxr57/XisYT+u2+hQvYMIiyQ3UHeTuA6BhSY=";
+      aarch64-darwin = "sha256-3Zk0SyhVKaz5QdO69/xzWFZj9ueJS6GLWhfW7odWvHc=";
     }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
   };
 
-  nativeBuildInputs =
-    [ makeWrapper python3 nodePackages.pnpm nodePackages.nodejs ]
+  nativeBuildInputs = [ makeWrapper python3 nodePackages.pnpm nodePackages.nodejs ]
     ++ lib.optionals (!stdenv.isDarwin) [ copyDesktopItems ];
 
 
diff --git a/pkgs/applications/blockchains/clightning/default.nix b/pkgs/applications/blockchains/clightning/default.nix
index 2e3ec0e3143af..cf8279e78c7b8 100644
--- a/pkgs/applications/blockchains/clightning/default.nix
+++ b/pkgs/applications/blockchains/clightning/default.nix
@@ -22,11 +22,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "clightning";
-  version = "24.02";
+  version = "24.02.1";
 
   src = fetchurl {
     url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
-    sha256 = "sha256-hud6NU2apAJNf2epNk+3nwTUmRy5DfNOYiGp402H4ik=";
+    sha256 = "sha256-cz4rQUEaWILZMxmIP4V15pWf4zow5PDeWJzn5FEaUSs=";
   };
 
   # when building on darwin we need dawin.cctools to provide the correct libtool
diff --git a/pkgs/applications/blockchains/ton/default.nix b/pkgs/applications/blockchains/ton/default.nix
index 0d4d3826b7e7d..0db8d3f16876c 100644
--- a/pkgs/applications/blockchains/ton/default.nix
+++ b/pkgs/applications/blockchains/ton/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ton";
-  version = "2024.01";
+  version = "2024.02";
 
   src = fetchFromGitHub {
     owner = "ton-blockchain";
     repo = "ton";
     rev = "v${version}";
-    hash = "sha256-nZ7yel+lTNO5zFzN711tLwAvqpf5qaYOxERwApnMVOs=";
+    hash = "sha256-ZYW1/7jebgPu0IvBkopUjaXZZLymJ4yYp8Di0vI2WUg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 230c5d36f1b55..732dc7695cc2b 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -9,7 +9,7 @@
 # use ./update.sh to help with updating for each quarterly release
 #
 # then, to test:
-# for e in cpp dsl modeling platform sdk java jee committers rcp; do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix build -f default.nix ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done
+# for e in cpp dsl embedcpp modeling platform sdk java jee committers rcp; do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix-build -A ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done
 
 let
   platform_major = "4";
@@ -64,6 +64,21 @@ in rec {
       };
   };
 
+  ### Eclipse IDE for Embedded C/C++ Developers
+
+  eclipse-embedcpp = buildEclipse {
+    name = "eclipse-embedcpp-${platform_major}.${platform_minor}";
+    description = "Eclipse IDE for Embedded C/C++ Developers";
+    src =
+      fetchurl {
+        url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
+        hash = {
+          x86_64 = "sha256-c/dd/3PzTSnrtaa2gNw+crdNu/xA428hYr8YNeBSEyw=";
+          aarch64 = "sha256-tF6o3NpFNxXALf2UA8tLzFhqYe46cI2swvym8vDSxNI=";
+        }.${arch};
+      };
+  };
+
   ### Eclipse Modeling
 
   eclipse-modeling = buildEclipse {
diff --git a/pkgs/applications/editors/ed/sources.nix b/pkgs/applications/editors/ed/sources.nix
index e78a6085ddda0..77e13da9eb157 100644
--- a/pkgs/applications/editors/ed/sources.nix
+++ b/pkgs/applications/editors/ed/sources.nix
@@ -23,10 +23,10 @@ in
 {
   ed = let
     pname = "ed";
-    version = "1.20";
+    version = "1.20.1";
     src = fetchurl {
       url = "mirror://gnu/ed/ed-${version}.tar.lz";
-      hash = "sha256-xgMN7+auFy8Wh5Btc1QFTHWmqRMK8xnU5zxQqRlZxaY=";
+      hash = "sha256-saRjspehQfmHbEsfzQFHf2Rc3tkhaAkOmjXbKvS6u8o=";
     };
   in import ./generic.nix {
     inherit pname version src meta;
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
index 5fd72ff5a9de9..09413f741158f 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
@@ -41,10 +41,10 @@
       elpaBuild {
         pname = "activities";
         ename = "activities";
-        version = "0.4.0.20240201.202903";
+        version = "0.6pre0.20240218.181422";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/activities-0.4.0.20240201.202903.tar";
-          sha256 = "150qs08wmkgfkyqvm3a9hjvv5lpa4slxnr2canq24aavyykv6jj3";
+          url = "https://elpa.gnu.org/devel/activities-0.6pre0.20240218.181422.tar";
+          sha256 = "172rbxnhbdppkr4kc2a11i9588dfcz629d2flg2sfmx5j23995zn";
         };
         packageRequires = [ emacs persist ];
         meta = {
@@ -265,10 +265,10 @@
       elpaBuild {
         pname = "ampc";
         ename = "ampc";
-        version = "0.2.0.20240201.134117";
+        version = "0.2.0.20240220.181558";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ampc-0.2.0.20240201.134117.tar";
-          sha256 = "1dzqvlpp8l5kqfjymw5r6ag5hxkvy16adfgxaj96iik6wz57j482";
+          url = "https://elpa.gnu.org/devel/ampc-0.2.0.20240220.181558.tar";
+          sha256 = "0mlf9lggf41rlx6zxjj2kjdy4k11s0kjmxg6qga45r38ynd3am5d";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -326,14 +326,17 @@
           license = lib.licenses.free;
         };
       }) {};
-    auctex = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    auctex = callPackage ({ elpaBuild
+                          , emacs
+                          , fetchurl
+                          , lib }:
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "13.3.0.0.20240118.92510";
+        version = "14.0.3.0.20240220.160410";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/auctex-13.3.0.0.20240118.92510.tar";
-          sha256 = "1nnvyxcicxqwpxdj622hfgb3dwhivx3y680npby4bviaw3ap54s1";
+          url = "https://elpa.gnu.org/devel/auctex-14.0.3.0.20240220.160410.tar";
+          sha256 = "1j4i9m9018s606wbrx4r439i479jqf9f5040m9b3qbqhgqwklw8z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -475,10 +478,10 @@
       elpaBuild {
         pname = "beframe";
         ename = "beframe";
-        version = "1.0.0.0.20240117.23842";
+        version = "1.0.1.0.20240210.51926";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/beframe-1.0.0.0.20240117.23842.tar";
-          sha256 = "00kg149zidzb76ibal2wsja7md9yiiw4mghybdwwf8h783vpb1qb";
+          url = "https://elpa.gnu.org/devel/beframe-1.0.1.0.20240210.51926.tar";
+          sha256 = "13j35grsh452wwv69qkxckwa8ip27x10bnk5vs60higair15624k";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -492,10 +495,10 @@
       elpaBuild {
         pname = "bicep-ts-mode";
         ename = "bicep-ts-mode";
-        version = "0.1.1.0.20240202.73552";
+        version = "0.1.3.0.20240218.140135";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/bicep-ts-mode-0.1.1.0.20240202.73552.tar";
-          sha256 = "0hm2jz1hd8kjb9hv58lc1h8095z6fklb2mpjga6dric182jxk071";
+          url = "https://elpa.gnu.org/devel/bicep-ts-mode-0.1.3.0.20240218.140135.tar";
+          sha256 = "0c6xg1dpz60akcr847x6ydl7riwy9bchww31l14wr1s54zrf76sg";
         };
         packageRequires = [];
         meta = {
@@ -510,10 +513,10 @@
       elpaBuild {
         pname = "bind-key";
         ename = "bind-key";
-        version = "2.4.1.0.20240102.22814";
+        version = "2.4.1.0.20240210.91008";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/bind-key-2.4.1.0.20240102.22814.tar";
-          sha256 = "1ag9l9yi2x37931ygr619qsn6ffkx5sj76wffl2vsz3c41xjb0s8";
+          url = "https://elpa.gnu.org/devel/bind-key-2.4.1.0.20240210.91008.tar";
+          sha256 = "034r93cf4dkrzggfacmwg6ny05wxdzva6ia6ry7x2saf7fhlb6qh";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -737,18 +740,14 @@
           license = lib.licenses.free;
         };
       }) {};
-    calibre = callPackage ({ compat
-                           , elpaBuild
-                           , emacs
-                           , fetchurl
-                           , lib }:
+    calibre = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "calibre";
         ename = "calibre";
-        version = "1.4.0.0.20240116.165051";
+        version = "1.4.1.0.20240208.85735";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/calibre-1.4.0.0.20240116.165051.tar";
-          sha256 = "1mf05z7nsf22pcvzdjb48smv97k7jff8jwkaya3444cxl5gs0zg8";
+          url = "https://elpa.gnu.org/devel/calibre-1.4.1.0.20240208.85735.tar";
+          sha256 = "0b69ymkcahx6bh9ss8zygwfwiffsql370i9pwriv9ypy17nbjxlc";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -760,10 +759,10 @@
       elpaBuild {
         pname = "cape";
         ename = "cape";
-        version = "1.2.0.20240130.230120";
+        version = "1.3.0.20240214.113952";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/cape-1.2.0.20240130.230120.tar";
-          sha256 = "0znx1n3fg95x14z30q0rxhb8aqxn7xy7z6w1nin126kmpvrlrgii";
+          url = "https://elpa.gnu.org/devel/cape-1.3.0.20240214.113952.tar";
+          sha256 = "01q9hrzar17zrcm1ayakg6xamz5a434294d3xij9yalwrnnpvrd3";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -962,10 +961,10 @@
       elpaBuild {
         pname = "company";
         ename = "company";
-        version = "0.10.2.0.20240130.190554";
+        version = "0.10.2.0.20240218.181202";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/company-0.10.2.0.20240130.190554.tar";
-          sha256 = "0ikqr2vzdp37r0vnybx8qdhj9jmjmcqg88g9dbjrkgdm9hbgm6z2";
+          url = "https://elpa.gnu.org/devel/company-0.10.2.0.20240218.181202.tar";
+          sha256 = "0w170l9br7cxq8ili7jba89qx45wfkhqbz0yrvmmwa27qh2nz4ki";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1038,10 +1037,10 @@
       elpaBuild {
         pname = "compat";
         ename = "compat";
-        version = "29.1.4.4.0.20240120.151031";
+        version = "29.1.4.4.0.20240213.64417";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/compat-29.1.4.4.0.20240120.151031.tar";
-          sha256 = "1c26d2lalacbbgn9knadksgilx7mb6raxrkfxvgy79rf0g7z42bj";
+          url = "https://elpa.gnu.org/devel/compat-29.1.4.4.0.20240213.64417.tar";
+          sha256 = "1ihkqsa6akwk3p4z83iwbizcp0bg0gla5klavzrfppnnpyh83nrf";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -1053,10 +1052,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "1.2.0.20240202.141958";
+        version = "1.3.0.20240223.131438";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/consult-1.2.0.20240202.141958.tar";
-          sha256 = "1hki6bscy3gaid2dn629ycgqbmglw2pgllfqjyx8nrbfkprk8zfl";
+          url = "https://elpa.gnu.org/devel/consult-1.3.0.20240223.131438.tar";
+          sha256 = "0pibhg8i7rcxbkzlkz37v5w9x566ffabx7jmhjzgjgq7v6cgqzv6";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1064,6 +1063,26 @@
           license = lib.licenses.free;
         };
       }) {};
+    consult-hoogle = callPackage ({ consult
+                                  , elpaBuild
+                                  , emacs
+                                  , fetchurl
+                                  , haskell-mode
+                                  , lib }:
+      elpaBuild {
+        pname = "consult-hoogle";
+        ename = "consult-hoogle";
+        version = "0.1.1.0.20240211.83945";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/consult-hoogle-0.1.1.0.20240211.83945.tar";
+          sha256 = "1ka6k26k3zr86p4z7lxb7jsh9wrhkiz8mp552jbz3v6kyifcmaq1";
+        };
+        packageRequires = [ consult emacs haskell-mode ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/consult-hoogle.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     consult-recoll = callPackage ({ consult
                                   , elpaBuild
                                   , emacs
@@ -1105,10 +1124,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "1.2.0.20240122.232720";
+        version = "1.2.0.20240212.223716";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/corfu-1.2.0.20240122.232720.tar";
-          sha256 = "1gd0l41y1s2yyd97bprg3n63bi1wrhhxbrz9z8a6rlx8i68qhxx7";
+          url = "https://elpa.gnu.org/devel/corfu-1.2.0.20240212.223716.tar";
+          sha256 = "179sprpnfwda9ibgcn3q2g6czbxl40p0l1sfa0pbs5kzwjslg0i9";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1140,10 +1159,10 @@
       elpaBuild {
         pname = "counsel";
         ename = "counsel";
-        version = "0.14.2.0.20231025.232958";
+        version = "0.14.2.0.20240214.214516";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/counsel-0.14.2.0.20231025.232958.tar";
-          sha256 = "0y1lxhsmjazml41sg0if7y9jv1i90ad13grafil6pb4mg4m15v70";
+          url = "https://elpa.gnu.org/devel/counsel-0.14.2.0.20240214.214516.tar";
+          sha256 = "0fnx7m76zrspnrmcbj359724w6ih77pyl17w1968r621law6i37i";
         };
         packageRequires = [ emacs ivy swiper ];
         meta = {
@@ -1289,10 +1308,10 @@
       elpaBuild {
         pname = "dape";
         ename = "dape";
-        version = "0.5.0.0.20240202.115007";
+        version = "0.7.0.0.20240223.130714";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/dape-0.5.0.0.20240202.115007.tar";
-          sha256 = "03kpf3p0f8900gi7p5anq48i628rh5f3is9xwd14pbc88mx82294";
+          url = "https://elpa.gnu.org/devel/dape-0.7.0.0.20240223.130714.tar";
+          sha256 = "1jm7r04bi22flwh83cfv6grla76s3c6qayw4iz6mbiwpqc4yx3qa";
         };
         packageRequires = [ emacs jsonrpc ];
         meta = {
@@ -1319,10 +1338,10 @@
       elpaBuild {
         pname = "dash";
         ename = "dash";
-        version = "2.19.1.0.20240123.123337";
+        version = "2.19.1.0.20240216.133446";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/dash-2.19.1.0.20240123.123337.tar";
-          sha256 = "1iq6bnfn9ay67j6b6yapidsxmh3vg3zyji3fzqdvb84m0f1cl2i7";
+          url = "https://elpa.gnu.org/devel/dash-2.19.1.0.20240216.133446.tar";
+          sha256 = "0wjx6lxj5svvhifnqffmxqf1li57606v0hv1ixs90275r56294gh";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1352,10 +1371,10 @@
       elpaBuild {
         pname = "debbugs";
         ename = "debbugs";
-        version = "0.38.0.20240116.140137";
+        version = "0.40.0.20240215.214858";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/debbugs-0.38.0.20240116.140137.tar";
-          sha256 = "0i3cdwnahsjyxn1dpp2dkxn5pqd8mpy9rbvali0cicmf82gg229w";
+          url = "https://elpa.gnu.org/devel/debbugs-0.40.0.20240215.214858.tar";
+          sha256 = "0kf6f8qpshdx07zbpgglpz01daq2ix3sw006yn1qx07bxj1kihsd";
         };
         packageRequires = [ emacs soap-client ];
         meta = {
@@ -1382,10 +1401,10 @@
       elpaBuild {
         pname = "denote";
         ename = "denote";
-        version = "2.2.4.0.20240129.51523";
+        version = "2.2.4.0.20240223.62237";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/denote-2.2.4.0.20240129.51523.tar";
-          sha256 = "01p1r1igbx5kszzdq552v79hc7g36khlma40w2davyiayq6izx4y";
+          url = "https://elpa.gnu.org/devel/denote-2.2.4.0.20240223.62237.tar";
+          sha256 = "0h4cs61mipfxb8hzs6d7mafw7y97r0k0l68mcglr0c2lxcxv6sd3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1836,10 +1855,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20240115.0.20240201.101218";
+        version = "20240205.0.20240220.34251";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/eev-20240115.0.20240201.101218.tar";
-          sha256 = "0j423cflngmrvzrlvlm3j4k25niyjpxyyxh57s9h862ipk0lpy69";
+          url = "https://elpa.gnu.org/devel/eev-20240205.0.20240220.34251.tar";
+          sha256 = "01m609prd554rgwjs9igxwxair1pl6g1vgm2p890mddd0741ci7k";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1854,10 +1873,10 @@
       elpaBuild {
         pname = "ef-themes";
         ename = "ef-themes";
-        version = "1.5.0.0.20240117.24532";
+        version = "1.5.1.0.20240223.55243";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ef-themes-1.5.0.0.20240117.24532.tar";
-          sha256 = "02i4z2pqfivpabdck83qvz2baz1r9bkkv3929v36k59bvz3vvvyj";
+          url = "https://elpa.gnu.org/devel/ef-themes-1.5.1.0.20240223.55243.tar";
+          sha256 = "1i9rjlfnmq2in93q4j08w5hkhjf0mhd4sam329x2bzibq5rv4m24";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1879,10 +1898,10 @@
       elpaBuild {
         pname = "eglot";
         ename = "eglot";
-        version = "1.17.0.20240203.64953";
+        version = "1.17.0.20240204.100650";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/eglot-1.17.0.20240203.64953.tar";
-          sha256 = "0z065558906rm9zm0q1ygr1w5jpwprk9fylkdm81wnbv8jzg86qp";
+          url = "https://elpa.gnu.org/devel/eglot-1.17.0.20240204.100650.tar";
+          sha256 = "0jcqjpw15gjgi2kbr9xjdjjy5g8gjry7q04a3cnr1ih43qa0hkhb";
         };
         packageRequires = [
           eldoc
@@ -1923,10 +1942,10 @@
       elpaBuild {
         pname = "eldoc";
         ename = "eldoc";
-        version = "1.15.0.0.20240120.60021";
+        version = "1.15.0.0.20240223.120227";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/eldoc-1.15.0.0.20240120.60021.tar";
-          sha256 = "0jn2n6xv3bbgqlhj2s0gx4njy007wgx2d0g30rhmsswf39w4a041";
+          url = "https://elpa.gnu.org/devel/eldoc-1.15.0.0.20240223.120227.tar";
+          sha256 = "0v9y8qbcxs9dkb9sfgqsnqiz4b1w75hwq3hc24j9jkjkpny7fd4m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1978,10 +1997,10 @@
       elpaBuild {
         pname = "ellama";
         ename = "ellama";
-        version = "0.7.4.0.20240203.195859";
+        version = "0.8.7.0.20240223.201209";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ellama-0.7.4.0.20240203.195859.tar";
-          sha256 = "10h44skw358glzi9z6k5344snxl8gfayplqp1qgsqry221hj94h2";
+          url = "https://elpa.gnu.org/devel/ellama-0.8.7.0.20240223.201209.tar";
+          sha256 = "0b8b6qq9d14krxzrhwwh0g6xgpgxags8cr09b6bkpkrly4j3q08f";
         };
         packageRequires = [ dash emacs llm spinner ];
         meta = {
@@ -2011,10 +2030,10 @@
       elpaBuild {
         pname = "embark";
         ename = "embark";
-        version = "1.0.0.20240131.64817";
+        version = "1.0.0.20240221.104918";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/embark-1.0.0.20240131.64817.tar";
-          sha256 = "03n2dxj78lgddpxqqsbsprxjh1c2j6ggr5r7271l2d4pal8aab7q";
+          url = "https://elpa.gnu.org/devel/embark-1.0.0.20240221.104918.tar";
+          sha256 = "121vvf8j9hs1z6lxz1v5r7r663k6kvzxnfd3xfgmipjfvax3ql85";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2032,10 +2051,10 @@
       elpaBuild {
         pname = "embark-consult";
         ename = "embark-consult";
-        version = "1.0.0.20240131.64817";
+        version = "1.0.0.20240221.104918";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/embark-consult-1.0.0.20240131.64817.tar";
-          sha256 = "0i48i3f8sp366vj1pj07kfz8fxz9ysy37pfnv5ciglnh152bqyzv";
+          url = "https://elpa.gnu.org/devel/embark-consult-1.0.0.20240221.104918.tar";
+          sha256 = "1ky6nsgzp73s94w7x1p00cly54gnmb763hrj7lx8k5ljc953zsd1";
         };
         packageRequires = [ compat consult emacs embark ];
         meta = {
@@ -2057,10 +2076,10 @@
       elpaBuild {
         pname = "ement";
         ename = "ement";
-        version = "0.15pre0.20240126.232546";
+        version = "0.15pre0.20240216.193240";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ement-0.15pre0.20240126.232546.tar";
-          sha256 = "0hs3q51gda0ifclffm7dr2l4r6s5bqlz4pwivd6ya1z82fidpw5w";
+          url = "https://elpa.gnu.org/devel/ement-0.15pre0.20240216.193240.tar";
+          sha256 = "0bqvdz8rq63ac1szlvnk4aq1kafshc4kgyb91q941ndmpkd18gnj";
         };
         packageRequires = [
           emacs
@@ -2086,10 +2105,10 @@
       elpaBuild {
         pname = "emms";
         ename = "emms";
-        version = "18.0.20240202.162234";
+        version = "18.0.20240211.172953";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/emms-18.0.20240202.162234.tar";
-          sha256 = "0s6dhbzmhi50ls5rhn37sfa8l1k8qg3bng3dj0xa99psgrpn3p6v";
+          url = "https://elpa.gnu.org/devel/emms-18.0.20240211.172953.tar";
+          sha256 = "1y70n5f0xw05z5ri4gj13z5fyibygcff019zazmy3wq4idn2ff2z";
         };
         packageRequires = [ cl-lib nadvice seq ];
         meta = {
@@ -2155,10 +2174,10 @@
       elpaBuild {
         pname = "erc";
         ename = "erc";
-        version = "5.6snapshot0.20240202.170821";
+        version = "5.6snapshot0.20240216.195938";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/erc-5.6snapshot0.20240202.170821.tar";
-          sha256 = "00x0k4c7caglkwsa2ylg8ybvish73j4r9pw1flsjrk4gq2f5xlk3";
+          url = "https://elpa.gnu.org/devel/erc-5.6snapshot0.20240216.195938.tar";
+          sha256 = "0ap7kibpas9fwfsyail09v2zx9jkfa7hlj7fi0dr67a6jkqmgvya";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2214,10 +2233,10 @@
       elpaBuild {
         pname = "excorporate";
         ename = "excorporate";
-        version = "1.1.1.0.20230529.173200";
+        version = "1.1.2.0.20240219.90343";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/excorporate-1.1.1.0.20230529.173200.tar";
-          sha256 = "1485cy2a8vzws2k796cj8a6dydjf8dagyid1ns04krzafvkfdnh4";
+          url = "https://elpa.gnu.org/devel/excorporate-1.1.2.0.20240219.90343.tar";
+          sha256 = "1cfpg7i4jvzfi4iak5g9cj7bsvb0zkqh64jkbfrchhk4wxpj0s01";
         };
         packageRequires = [
           cl-lib
@@ -2287,10 +2306,10 @@
       elpaBuild {
         pname = "exwm";
         ename = "exwm";
-        version = "0.28.0.20240124.50533";
+        version = "0.28.0.20240212.225519";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/exwm-0.28.0.20240124.50533.tar";
-          sha256 = "1cqni0nhf9r0pr2c56c6xxb83vdgy2jnljr683fv02sari188irb";
+          url = "https://elpa.gnu.org/devel/exwm-0.28.0.20240212.225519.tar";
+          sha256 = "1ikp7q4cdss5isqrnl1iwlqwqgswh7sraz983ixdq706k1zsbcgr";
         };
         packageRequires = [ emacs xelb ];
         meta = {
@@ -2334,6 +2353,25 @@
           license = lib.licenses.free;
         };
       }) {};
+    filechooser = callPackage ({ compat
+                               , elpaBuild
+                               , emacs
+                               , fetchurl
+                               , lib }:
+      elpaBuild {
+        pname = "filechooser";
+        ename = "filechooser";
+        version = "0.1.2.0.20240219.174103";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/filechooser-0.1.2.0.20240219.174103.tar";
+          sha256 = "13rfqb0s3kw3llvgaxq27cdj8fihimihpaicsn5mq36yxbdcd0an";
+        };
+        packageRequires = [ compat emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/filechooser.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     filladapt = callPackage ({ elpaBuild
                              , emacs
                              , fetchurl
@@ -2394,10 +2432,10 @@
       elpaBuild {
         pname = "flymake";
         ename = "flymake";
-        version = "1.3.7.0.20240124.125733";
+        version = "1.3.7.0.20240223.154540";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/flymake-1.3.7.0.20240124.125733.tar";
-          sha256 = "05a49cr6j4jhs48z1qpr78gswq1hrc1cbrjqk5d9ssyw9blm5zdp";
+          url = "https://elpa.gnu.org/devel/flymake-1.3.7.0.20240223.154540.tar";
+          sha256 = "1z9j0mrka8qznz3d81h1pzns2bn1sswqj2rd8m2drwjzzgaq4j0w";
         };
         packageRequires = [ eldoc emacs project ];
         meta = {
@@ -2449,10 +2487,10 @@
       elpaBuild {
         pname = "fontaine";
         ename = "fontaine";
-        version = "1.0.0.0.20240117.24716";
+        version = "1.0.0.0.20240222.132833";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/fontaine-1.0.0.0.20240117.24716.tar";
-          sha256 = "15m2d0q2imqjlhr5xhmmvmrir3s8ickywmziqp8lxhc5k4q40h93";
+          url = "https://elpa.gnu.org/devel/fontaine-1.0.0.0.20240222.132833.tar";
+          sha256 = "19smmj7fk5584fwh0yhf0h2h01xv5148rvwc4bcypdsm744rcvfj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2777,14 +2815,17 @@
           license = lib.licenses.free;
         };
       }) {};
-    greader = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    greader = callPackage ({ elpaBuild
+                           , emacs
+                           , fetchurl
+                           , lib }:
       elpaBuild {
         pname = "greader";
         ename = "greader";
-        version = "0.8.2.0.20240131.45308";
+        version = "0.9.7.0.20240223.114345";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/greader-0.8.2.0.20240131.45308.tar";
-          sha256 = "0x5nvnrdwb3lbfffriyjfw5c7y2a5wk9xwykb7pqs9asqwcpzvrf";
+          url = "https://elpa.gnu.org/devel/greader-0.9.7.0.20240223.114345.tar";
+          sha256 = "11kkp3x93yka54a68jjg0wpk51d3snf21wvamylk016w9sh3lls0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2967,10 +3008,10 @@
       elpaBuild {
         pname = "hyperbole";
         ename = "hyperbole";
-        version = "8.0.1pre0.20231210.205257";
+        version = "8.0.2pre0.20240222.73640";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/hyperbole-8.0.1pre0.20231210.205257.tar";
-          sha256 = "14fbksn66l1z65dgfysx61zwxv0rwx8gz89swpfyjs3psc3mqrni";
+          url = "https://elpa.gnu.org/devel/hyperbole-8.0.2pre0.20240222.73640.tar";
+          sha256 = "0j94qx0gmfh3n43jmca7zvr3j0sjc4nd2bxz5impgajq19l94wmj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2982,10 +3023,10 @@
       elpaBuild {
         pname = "ilist";
         ename = "ilist";
-        version = "0.1.0.20220115.130125";
+        version = "0.3.0.20240219.40214";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ilist-0.1.0.20220115.130125.tar";
-          sha256 = "088g1ybcvphlgjyl7n7y81m0q2g77brabdbj479j2s8rbidw26va";
+          url = "https://elpa.gnu.org/devel/ilist-0.3.0.20240219.40214.tar";
+          sha256 = "0y8qziqq70qwxffx7fy8b6grbsxh22dmbrgxpx9a8q4zq9257j90";
         };
         packageRequires = [];
         meta = {
@@ -3066,10 +3107,10 @@
       elpaBuild {
         pname = "ivy";
         ename = "ivy";
-        version = "0.14.2.0.20231025.231958";
+        version = "0.14.2.0.20240214.214034";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ivy-0.14.2.0.20231025.231958.tar";
-          sha256 = "0r6dyq350djn5vprk0cvj7vh3l0j2vadsxaiq35yv9gjqh20ca88";
+          url = "https://elpa.gnu.org/devel/ivy-0.14.2.0.20240214.214034.tar";
+          sha256 = "0y7fakcrzwghgg1pvlgbsp1ziidh7vyy22nm0ph4bsq4il16fm9m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3086,10 +3127,10 @@
       elpaBuild {
         pname = "ivy-avy";
         ename = "ivy-avy";
-        version = "0.14.2.0.20231025.232243";
+        version = "0.14.2.0.20240214.214218";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ivy-avy-0.14.2.0.20231025.232243.tar";
-          sha256 = "1y9v3iv7zj7zc526k336rjq04vlisx8giyax5h0as97r8zc4rpzc";
+          url = "https://elpa.gnu.org/devel/ivy-avy-0.14.2.0.20240214.214218.tar";
+          sha256 = "0qrrvkb6kl83lxikr3ags4mbxi015qy9l34dnjb5580zgcsjvqc8";
         };
         packageRequires = [ avy emacs ivy ];
         meta = {
@@ -3125,10 +3166,10 @@
       elpaBuild {
         pname = "ivy-hydra";
         ename = "ivy-hydra";
-        version = "0.14.2.0.20231025.232457";
+        version = "0.14.2.0.20240214.214337";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ivy-hydra-0.14.2.0.20231025.232457.tar";
-          sha256 = "15az95s0bv0wc33kqh2h5n92hhn54mhy4lx9m2mm2x83jggdw4yy";
+          url = "https://elpa.gnu.org/devel/ivy-hydra-0.14.2.0.20240214.214337.tar";
+          sha256 = "1k719hy80hs0019qza0vcpvgxpfsmkkz6j8hs3bfbpmzg0pj54ph";
         };
         packageRequires = [ emacs hydra ivy ];
         meta = {
@@ -3163,10 +3204,10 @@
       elpaBuild {
         pname = "jami-bot";
         ename = "jami-bot";
-        version = "0.0.4.0.20240203.101753";
+        version = "0.0.4.0.20240204.184721";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/jami-bot-0.0.4.0.20240203.101753.tar";
-          sha256 = "0c5lf8h8102anr6hqw6j58k7pxj046abaxfigp49snapapk2h6sv";
+          url = "https://elpa.gnu.org/devel/jami-bot-0.0.4.0.20240204.184721.tar";
+          sha256 = "0klkzj83cqc1pp2q46067wq3gpxkmgcsb24s9mcccrwsrvqbgm9s";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3229,10 +3270,10 @@
       elpaBuild {
         pname = "jinx";
         ename = "jinx";
-        version = "1.2.0.20240129.152453";
+        version = "1.3.0.20240223.131200";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/jinx-1.2.0.20240129.152453.tar";
-          sha256 = "0cqykfazzrjxkxp4fldff5kf9m3him8mbq0llqr9zan4n8rkw0yi";
+          url = "https://elpa.gnu.org/devel/jinx-1.3.0.20240223.131200.tar";
+          sha256 = "1iyi3ayrjwp0xvsz4r03hwdlph0jw454xrlpy7j4spbwcq3s50yn";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -3267,10 +3308,10 @@
       elpaBuild {
         pname = "js2-mode";
         ename = "js2-mode";
-        version = "20231224.0.20231225.115039";
+        version = "20231224.0.20240221.35415";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/js2-mode-20231224.0.20231225.115039.tar";
-          sha256 = "0vgd6gf233y6q5xj169pavz4ywaywbbz5grv4y4xb7p3r72sg851";
+          url = "https://elpa.gnu.org/devel/js2-mode-20231224.0.20240221.35415.tar";
+          sha256 = "076jh8ldqmanb140cf4s381dwmlm0mr030ddqz7aaj790853vff2";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3447,10 +3488,10 @@
       elpaBuild {
         pname = "lex";
         ename = "lex";
-        version = "1.1.0.20221221.80437";
+        version = "1.2.0.20240216.82808";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/lex-1.1.0.20221221.80437.tar";
-          sha256 = "1f13cijb1pgna364yp7kssnxka7n7wmswsi63pprljxh8mf8p2w5";
+          url = "https://elpa.gnu.org/devel/lex-1.2.0.20240216.82808.tar";
+          sha256 = "109sprgslx2gh6frqyhcsczi59bb6298lvrfbn0qjggxsrmc486z";
         };
         packageRequires = [];
         meta = {
@@ -3477,10 +3518,10 @@
       elpaBuild {
         pname = "llm";
         ename = "llm";
-        version = "0.9.0.0.20240203.150426";
+        version = "0.9.1.0.20240218.124933";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/llm-0.9.0.0.20240203.150426.tar";
-          sha256 = "0wi166lahqlhi2ckr0nbpv1252di0spqf2f6y9x3y6yb1x5wpllm";
+          url = "https://elpa.gnu.org/devel/llm-0.9.1.0.20240218.124933.tar";
+          sha256 = "1xdq5riyhxp5kff4v87mz5rr0df77ysmrc3vlarfhh12hg9bf3i4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3619,10 +3660,10 @@
       elpaBuild {
         pname = "map";
         ename = "map";
-        version = "3.3.1.0.20240102.22814";
+        version = "3.3.1.0.20240221.84915";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/map-3.3.1.0.20240102.22814.tar";
-          sha256 = "1ymd4viwqpq5nqb6x53d2kvmicxf66jb1f798siqacfwl09yb40l";
+          url = "https://elpa.gnu.org/devel/map-3.3.1.0.20240221.84915.tar";
+          sha256 = "04zywlimai9v6131ksh3vkp6zlrnx9wr36hr0cg0yh2vhsj09kkm";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3687,10 +3728,10 @@
       elpaBuild {
         pname = "mct";
         ename = "mct";
-        version = "1.0.0.0.20240117.25259";
+        version = "1.0.0.0.20240214.72309";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/mct-1.0.0.0.20240117.25259.tar";
-          sha256 = "0zfj99637h34iwhxiaqzlsgzq1kbppkrp3l5wv5iifwx84yxc3kr";
+          url = "https://elpa.gnu.org/devel/mct-1.0.0.0.20240214.72309.tar";
+          sha256 = "0iqv403ikrj4fpbbs01wcmm94klifr71mlx6kb5n1cxf4i12f8s9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3818,10 +3859,10 @@
       elpaBuild {
         pname = "mmm-mode";
         ename = "mmm-mode";
-        version = "0.5.10.0.20230917.2837";
+        version = "0.5.11.0.20240222.42825";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/mmm-mode-0.5.10.0.20230917.2837.tar";
-          sha256 = "1md34a8bgkf54n6qwylknknzzhql4779jh0pjl3xgnl09wvvdb74";
+          url = "https://elpa.gnu.org/devel/mmm-mode-0.5.11.0.20240222.42825.tar";
+          sha256 = "1bsccf8i48r4zjzg7pqi47n2r09dj8baylw83ksdrzc57n1s90x7";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3836,10 +3877,10 @@
       elpaBuild {
         pname = "modus-themes";
         ename = "modus-themes";
-        version = "4.3.0.0.20240203.61443";
+        version = "4.3.0.0.20240223.71209";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/modus-themes-4.3.0.0.20240203.61443.tar";
-          sha256 = "18w5dngxdz260wknp4byvlkw4yi3n1ygr7x7gmc3d9nnc8ij3jbz";
+          url = "https://elpa.gnu.org/devel/modus-themes-4.3.0.0.20240223.71209.tar";
+          sha256 = "0gvzgq2h7nkh77kg82jflpnrn5ilp6gmsl1jsg4gkcrhs0v36i1s";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3886,10 +3927,10 @@
       elpaBuild {
         pname = "muse";
         ename = "muse";
-        version = "3.20.2.0.20201128.92545";
+        version = "3.20.2.0.20240209.184001";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/muse-3.20.2.0.20201128.92545.tar";
-          sha256 = "0n201dzka0r2fwjjfklzif8kgbkh102pw83irb0y93sjsj6kkm9l";
+          url = "https://elpa.gnu.org/devel/muse-3.20.2.0.20240209.184001.tar";
+          sha256 = "0jp0qmak49gnx121nkay70dbld26z6jvgc7d1ycgyfl49flqhjb4";
         };
         packageRequires = [];
         meta = {
@@ -4255,10 +4296,10 @@
       elpaBuild {
         pname = "orderless";
         ename = "orderless";
-        version = "1.0.0.20231110.144817";
+        version = "1.0.0.20240221.100116";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/orderless-1.0.0.20231110.144817.tar";
-          sha256 = "0cfspqc7livr0m3s021gp2cl74qnv1pvyxba83af0088nb9z0aqz";
+          url = "https://elpa.gnu.org/devel/orderless-1.0.0.20240221.100116.tar";
+          sha256 = "1qg94gy3f7f49xfnqxl5315gr55rm8crpp7l5jkw3ha6d4n7cjvl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4270,10 +4311,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "9.7pre0.20240203.145841";
+        version = "9.7pre0.20240223.132445";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/org-9.7pre0.20240203.145841.tar";
-          sha256 = "14c1yjpq50kfrkm8fas5rsw9irdiw29ndxi26y81hq30yhlb71qz";
+          url = "https://elpa.gnu.org/devel/org-9.7pre0.20240223.132445.tar";
+          sha256 = "1va7l4h4lbajwzvmvj5w9fx148ixbzbagbhjjlqmg0kccsamx8qj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4320,6 +4361,25 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-jami-bot = callPackage ({ elpaBuild
+                                , emacs
+                                , fetchurl
+                                , jami-bot
+                                , lib }:
+      elpaBuild {
+        pname = "org-jami-bot";
+        ename = "org-jami-bot";
+        version = "0.0.5.0.20240204.184749";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/org-jami-bot-0.0.5.0.20240204.184749.tar";
+          sha256 = "0gs0f9xdgfylgrdgcxm13m4dw526ps47kqwggdz8y2x94p54p1ny";
+        };
+        packageRequires = [ emacs jami-bot ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/org-jami-bot.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-modern = callPackage ({ compat
                               , elpaBuild
                               , emacs
@@ -4404,10 +4464,10 @@
       elpaBuild {
         pname = "org-transclusion";
         ename = "org-transclusion";
-        version = "1.3.2.0.20240121.191446";
+        version = "1.3.2.0.20240222.204851";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/org-transclusion-1.3.2.0.20240121.191446.tar";
-          sha256 = "02g3ih3sd2npnab4d46186dzplxwj01c0z71z1vr1axj45jzh5xv";
+          url = "https://elpa.gnu.org/devel/org-transclusion-1.3.2.0.20240222.204851.tar";
+          sha256 = "0gbdhgz0bg6a4zy60wn39f2x4xyag32yxrkcaixsgpcrc3358c0y";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4500,18 +4560,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    pabbrev = callPackage ({ elpaBuild
-                           , fetchurl
-                           , lib }:
+    pabbrev = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "pabbrev";
         ename = "pabbrev";
-        version = "4.2.2.0.20230101.115226";
+        version = "4.3.0.0.20240216.43949";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/pabbrev-4.2.2.0.20230101.115226.tar";
-          sha256 = "0wx9833z07riclppprjwf08s7kybwg1145rzxwxrk1gjv2glq4lj";
+          url = "https://elpa.gnu.org/devel/pabbrev-4.3.0.0.20240216.43949.tar";
+          sha256 = "08sbsr0dgw1yrfbsfcj9zslwiwvzafmdpflmj5g2bcmlx2jvck9h";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/pabbrev.html";
           license = lib.licenses.free;
@@ -4554,10 +4612,10 @@
       elpaBuild {
         pname = "parser-generator";
         ename = "parser-generator";
-        version = "0.2.0.0.20240110.203302";
+        version = "0.2.1.0.20240220.204114";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/parser-generator-0.2.0.0.20240110.203302.tar";
-          sha256 = "10f1l10y92677nckfwz9778cxmcg9v28j7kllvhwhibxbyviy1z4";
+          url = "https://elpa.gnu.org/devel/parser-generator-0.2.1.0.20240220.204114.tar";
+          sha256 = "08apzsgqxld3z2cpxhhygh2wj3mvs4pqxib6gfw4jliipkkrk1k6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4653,10 +4711,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.4.47.0.20240115.73646";
+        version = "0.4.48.0.20240215.72135";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/phps-mode-0.4.47.0.20240115.73646.tar";
-          sha256 = "16gnsisn1v3gh9hfwms4r9g3m03qg20bvfj42h15zyi4wz424bcv";
+          url = "https://elpa.gnu.org/devel/phps-mode-0.4.48.0.20240215.72135.tar";
+          sha256 = "1rizb13l60d6mjg5fdpqgks2q2lihxhbhbhlcdvnc3l6gdgvzq0r";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4847,10 +4905,10 @@
       elpaBuild {
         pname = "project";
         ename = "project";
-        version = "0.10.0.0.20240126.10023";
+        version = "0.10.0.0.20240215.181437";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/project-0.10.0.0.20240126.10023.tar";
-          sha256 = "02giqysmn6bjrl77jpzx2pwcxcx69bchxr2mraz1d9wm5whnmrhg";
+          url = "https://elpa.gnu.org/devel/project-0.10.0.0.20240215.181437.tar";
+          sha256 = "1pp3al6yydv4wpqc2bz2ccak8na38x35i0z1vi999ir232mpdaa5";
         };
         packageRequires = [ emacs xref ];
         meta = {
@@ -4939,10 +4997,10 @@
       elpaBuild {
         pname = "python";
         ename = "python";
-        version = "0.28.0.20240127.100548";
+        version = "0.28.0.20240223.100931";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/python-0.28.0.20240127.100548.tar";
-          sha256 = "0qzj4j8rx7kmrxd8lqrflzzb8wv3gfk6q755sm4vsqapssckziwx";
+          url = "https://elpa.gnu.org/devel/python-0.28.0.20240223.100931.tar";
+          sha256 = "1x97iqsg2jnhr23l81dlipz5xwf0g8mlw9yqqz02rjc8s112awsv";
         };
         packageRequires = [ compat emacs seq ];
         meta = {
@@ -5049,6 +5107,24 @@
           license = lib.licenses.free;
         };
       }) {};
+    rcirc-sqlite = callPackage ({ elpaBuild
+                                , emacs
+                                , fetchurl
+                                , lib }:
+      elpaBuild {
+        pname = "rcirc-sqlite";
+        ename = "rcirc-sqlite";
+        version = "0.1.3.0.20240215.94754";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/rcirc-sqlite-0.1.3.0.20240215.94754.tar";
+          sha256 = "169d4pb204jns39p2xbh37psy9pyi6yhiywlm7ywn2c4fagwj2q2";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/rcirc-sqlite.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     realgud = callPackage ({ elpaBuild
                            , emacs
                            , fetchurl
@@ -5551,10 +5627,10 @@
       elpaBuild {
         pname = "site-lisp";
         ename = "site-lisp";
-        version = "0.1.2.0.20231003.74326";
+        version = "0.1.2.0.20240221.82209";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/site-lisp-0.1.2.0.20231003.74326.tar";
-          sha256 = "0a1l7cvibsrrhalr85vbg4g82y1z856krzia0h8pkv85mdjh1628";
+          url = "https://elpa.gnu.org/devel/site-lisp-0.1.2.0.20240221.82209.tar";
+          sha256 = "0jx7lqwrbvwk2cyznd2rfapnvs6k3kaz6kwyd9508kxv2y521gz2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5739,10 +5815,10 @@
       elpaBuild {
         pname = "spacious-padding";
         ename = "spacious-padding";
-        version = "0.3.0.0.20240117.25856";
+        version = "0.3.0.0.20240222.124225";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/spacious-padding-0.3.0.0.20240117.25856.tar";
-          sha256 = "1r51ag62452w8sg40v83wlkkpqkc14p99af4xalwg07zililii2p";
+          url = "https://elpa.gnu.org/devel/spacious-padding-0.3.0.0.20240222.124225.tar";
+          sha256 = "072biw4a146d7064j1zqi03nh7aiy465bna11sk102x90mhs9z25";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5873,10 +5949,10 @@
       elpaBuild {
         pname = "standard-themes";
         ename = "standard-themes";
-        version = "2.0.1.0.20240117.30001";
+        version = "2.0.1.0.20240212.80249";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/standard-themes-2.0.1.0.20240117.30001.tar";
-          sha256 = "0fxidsjcyh9cgw73ss8xwmsj1a3dzssy7vjb512xpkbxhwdfma62";
+          url = "https://elpa.gnu.org/devel/standard-themes-2.0.1.0.20240212.80249.tar";
+          sha256 = "1k4285xpdlhhbmn4516jv2kwn5x82mah23jwlr9qhb4hxvzjmkms";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5951,10 +6027,10 @@
       elpaBuild {
         pname = "svg-lib";
         ename = "svg-lib";
-        version = "0.3.0.20240116.145654";
+        version = "0.3.0.20240219.161327";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/svg-lib-0.3.0.20240116.145654.tar";
-          sha256 = "191hy26f6ppb4jqyszlb1zqbfz2l9bwrplgqycvzmf21r3qb73p8";
+          url = "https://elpa.gnu.org/devel/svg-lib-0.3.0.20240219.161327.tar";
+          sha256 = "1nc5ld90pklqwai4waimv41466ph2n5pr2myx1s2s5afq3m2fc0y";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5989,10 +6065,10 @@
       elpaBuild {
         pname = "swiper";
         ename = "swiper";
-        version = "0.14.2.0.20231025.232825";
+        version = "0.14.2.0.20240214.214428";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/swiper-0.14.2.0.20231025.232825.tar";
-          sha256 = "13jvr9xv1i44ky906m4awkakvhrmpxg7x5f9hzbwnfz52wcxx8ix";
+          url = "https://elpa.gnu.org/devel/swiper-0.14.2.0.20240214.214428.tar";
+          sha256 = "15hncb6g90k3zc2scvammfc8hnw2p38xcn6c0d3vzfiqg12jlp6x";
         };
         packageRequires = [ emacs ivy ];
         meta = {
@@ -6157,10 +6233,10 @@
       elpaBuild {
         pname = "tempel";
         ename = "tempel";
-        version = "1.0.0.20240102.33150";
+        version = "1.1.0.20240216.154335";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/tempel-1.0.0.20240102.33150.tar";
-          sha256 = "16kfp6bshcsqps7fxfc6nm2wnhj1bffizjyakzcw6g2qzb5yig88";
+          url = "https://elpa.gnu.org/devel/tempel-1.1.0.20240216.154335.tar";
+          sha256 = "1zr32jc41shq73n9sl7hx8z3z49pwhvhwmnp6x4rjchvdn7xanyl";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -6779,10 +6855,10 @@
       elpaBuild {
         pname = "vertico";
         ename = "vertico";
-        version = "1.7.0.20240128.152618";
+        version = "1.7.0.20240212.231900";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/vertico-1.7.0.20240128.152618.tar";
-          sha256 = "1h557pz30s86mivx4y2b8pxn2nws3qm8zhvmcf0hm40xv3fcyfyk";
+          url = "https://elpa.gnu.org/devel/vertico-1.7.0.20240212.231900.tar";
+          sha256 = "0rhl6brd5h0l0bq3izy4114gaj8qm88ldx6x9a9ixa0kjjx2pc6a";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -6879,10 +6955,10 @@
       elpaBuild {
         pname = "vundo";
         ename = "vundo";
-        version = "2.2.0.0.20240128.155237";
+        version = "2.2.0.0.20240219.110913";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/vundo-2.2.0.0.20240128.155237.tar";
-          sha256 = "0x21zxvn6d9pdbwf00ahi23ly48hqq9fn8fblf8gbla6w8qg8ava";
+          url = "https://elpa.gnu.org/devel/vundo-2.2.0.0.20240219.110913.tar";
+          sha256 = "0y9b8029f9apx0nii968smr4dsiqr3ms3vs929par7h0ab6fcbb8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6984,10 +7060,10 @@
       elpaBuild {
         pname = "which-key";
         ename = "which-key";
-        version = "3.6.0.0.20230905.172829";
+        version = "3.6.0.0.20240220.203830";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/which-key-3.6.0.0.20230905.172829.tar";
-          sha256 = "091pyj5kl02pcha63qyh6i2cwa8730fi3jmvdq1cksqr7q3s4xjc";
+          url = "https://elpa.gnu.org/devel/which-key-3.6.0.0.20240220.203830.tar";
+          sha256 = "1pp40cm6a46pdpljzfrx70vszmynr1flzlwzv2ky1zf5yv6wacq4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7002,10 +7078,10 @@
       elpaBuild {
         pname = "window-commander";
         ename = "window-commander";
-        version = "3.0.2.0.20231211.140728";
+        version = "3.0.2.0.20240212.12958";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/window-commander-3.0.2.0.20231211.140728.tar";
-          sha256 = "1k5s0ccx26z1zdbd9fzgcvwkra4ww0crbcixl78ayh0wkxcjgkzv";
+          url = "https://elpa.gnu.org/devel/window-commander-3.0.2.0.20240212.12958.tar";
+          sha256 = "02v3m4qrwzxdlsfdjh35bazcdfn92s6qjh8q7jqfnhv3i2b80jx6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7149,10 +7225,10 @@
       elpaBuild {
         pname = "xelb";
         ename = "xelb";
-        version = "0.18.0.20240124.64549";
+        version = "0.18.0.20240212.225455";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/xelb-0.18.0.20240124.64549.tar";
-          sha256 = "1phpk0kwlz92mqb72l1n4n9nrxallvf9apxgrz9lg2fwcfrk03my";
+          url = "https://elpa.gnu.org/devel/xelb-0.18.0.20240212.225455.tar";
+          sha256 = "0mr6rrg7jbxrb60qzmngvs5nkx7kxk8cpw0sm9i4yrwypfihffgz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7231,10 +7307,10 @@
       elpaBuild {
         pname = "yasnippet";
         ename = "yasnippet";
-        version = "0.14.1.0.20240123.215824";
+        version = "0.14.1.0.20240215.153445";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/yasnippet-0.14.1.0.20240123.215824.tar";
-          sha256 = "1fr851wlj4l8354xx7lgvkx0khpbqgv2d3fj568s84l4zqrgmfz5";
+          url = "https://elpa.gnu.org/devel/yasnippet-0.14.1.0.20240215.153445.tar";
+          sha256 = "121b54xh9jsqcb2x1a5r9nd1c3i5ayka932xd47z09ps46zlvpsr";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index e3cc2f0a5c7e5..25831b16cc4a5 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -34,10 +34,10 @@
       elpaBuild {
         pname = "activities";
         ename = "activities";
-        version = "0.4";
+        version = "0.5.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/activities-0.4.tar";
-          sha256 = "0mmb7fslirb40n75m8zfib1999yndysm13lyj0mypn9ciy1mvm6l";
+          url = "https://elpa.gnu.org/packages/activities-0.5.1.tar";
+          sha256 = "0ng9sgajcpal881s3kavkmz0fc38f2h207hpqj62cf14z7bsk0zk";
         };
         packageRequires = [ emacs persist ];
         meta = {
@@ -280,10 +280,10 @@
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "13.3.0";
+        version = "14.0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-13.3.0.tar";
-          sha256 = "09yc9242xya2by8z72899li7zc9g23bb8j8m30kbvivynmdfhzkf";
+          url = "https://elpa.gnu.org/packages/auctex-14.0.3.tar";
+          sha256 = "1xk29nk3r7ilxk2vag3diacamqvlws7mbjk5a0iivz5y6fy7hmjc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -415,10 +415,10 @@
       elpaBuild {
         pname = "beframe";
         ename = "beframe";
-        version = "1.0.0";
+        version = "1.0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/beframe-1.0.0.tar";
-          sha256 = "0fw0nsdp78x194gkscwfyayq51yfb8r4k0q51ia1rnj43kxmmvr9";
+          url = "https://elpa.gnu.org/packages/beframe-1.0.1.tar";
+          sha256 = "0j4ks5i67ck1cid6whvwq564s94xb0q5fchb006wzbniy1inwcna";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -430,10 +430,10 @@
       elpaBuild {
         pname = "bicep-ts-mode";
         ename = "bicep-ts-mode";
-        version = "0.1.1";
+        version = "0.1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/bicep-ts-mode-0.1.1.tar";
-          sha256 = "0yxn9vk8hbsx50ljjy2swn38cxw2nkvkyc6hqw3qxj014vaavxvn";
+          url = "https://elpa.gnu.org/packages/bicep-ts-mode-0.1.3.tar";
+          sha256 = "1di4pkk682kl46acdq44d1xykzqnvayhd84rwf71rj3q252di5a6";
         };
         packageRequires = [];
         meta = {
@@ -644,10 +644,10 @@
       elpaBuild {
         pname = "calibre";
         ename = "calibre";
-        version = "1.4.0";
+        version = "1.4.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/calibre-1.4.0.tar";
-          sha256 = "1p3sla0j9v1d42z2amwb3hk2gs80ld50nxm1bfi30vdh563cfz4q";
+          url = "https://elpa.gnu.org/packages/calibre-1.4.1.tar";
+          sha256 = "1wjz4d2hrhwcd9ljngygacxm28ddgwndp9krz5cxhjz2dkhs1pgb";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -659,10 +659,10 @@
       elpaBuild {
         pname = "cape";
         ename = "cape";
-        version = "1.2";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/cape-1.2.tar";
-          sha256 = "0f18y40ajrkl5kc2r656lvi5vqkz7cpvyz0h6dwbc4dfhsa3cyfs";
+          url = "https://elpa.gnu.org/packages/cape-1.3.tar";
+          sha256 = "1178f6js821zcmsc3zrlclnaf4sswgvzs2qazzi975dkcfqcn3vq";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -922,10 +922,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "1.2";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-1.2.tar";
-          sha256 = "1dxnr5a1gj1gwmwagl9sd8bq2g9fw0gmldzz2jfg8dj3dw75rk71";
+          url = "https://elpa.gnu.org/packages/consult-1.3.tar";
+          sha256 = "1qyqvc4rp0287lidpzhvi669ygjnqmlw8wq0hc0nks2703p283c8";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -933,6 +933,26 @@
           license = lib.licenses.free;
         };
       }) {};
+    consult-hoogle = callPackage ({ consult
+                                  , elpaBuild
+                                  , emacs
+                                  , fetchurl
+                                  , haskell-mode
+                                  , lib }:
+      elpaBuild {
+        pname = "consult-hoogle";
+        ename = "consult-hoogle";
+        version = "0.1.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/consult-hoogle-0.1.1.tar";
+          sha256 = "1bcl7h5ykcgrsfj27wkv9l9jvbj2bbkh0w9d60663m1bkp0p3y2r";
+        };
+        packageRequires = [ consult emacs haskell-mode ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/consult-hoogle.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     consult-recoll = callPackage ({ consult, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "consult-recoll";
@@ -1132,10 +1152,10 @@
       elpaBuild {
         pname = "dape";
         ename = "dape";
-        version = "0.5.0";
+        version = "0.7.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dape-0.5.0.tar";
-          sha256 = "1pgrlgk1wf35afgfcbm256ikixk2r6rbkc05iwsr6x6l9y3h0v3w";
+          url = "https://elpa.gnu.org/packages/dape-0.7.0.tar";
+          sha256 = "0fbafwmrs9dlv875vcg1c9gh0hqs1zpnyqxgkdvbrazww7ffn60g";
         };
         packageRequires = [ emacs jsonrpc ];
         meta = {
@@ -1192,10 +1212,10 @@
       elpaBuild {
         pname = "debbugs";
         ename = "debbugs";
-        version = "0.38";
+        version = "0.40";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/debbugs-0.38.tar";
-          sha256 = "0cl6vcnlyanrl3qzhd31pw9qvij6g88cgifl3mwgw54bbagl9hh6";
+          url = "https://elpa.gnu.org/packages/debbugs-0.40.tar";
+          sha256 = "0yfl9gd23xnfk3iwiq26brd7fg9ikhd201lw4awng0rdh0fddxwd";
         };
         packageRequires = [ emacs soap-client ];
         meta = {
@@ -1633,10 +1653,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20240115";
+        version = "20240205";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20240115.tar";
-          sha256 = "0vlw88wjgzgl3wsa7k5p03qvj2yipvjsrjcrv8vjlvnm83pszskh";
+          url = "https://elpa.gnu.org/packages/eev-20240205.tar";
+          sha256 = "06psmcf3yi7pincsbhjrcrml0wzwgmlv6xy2fbpg1sg8vlibbgi3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1648,10 +1668,10 @@
       elpaBuild {
         pname = "ef-themes";
         ename = "ef-themes";
-        version = "1.5.0";
+        version = "1.5.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ef-themes-1.5.0.tar";
-          sha256 = "1jckhizsrlnkfrfal9ym214gb10kyfzws7vvmyxnpxn8pspiby4a";
+          url = "https://elpa.gnu.org/packages/ef-themes-1.5.1.tar";
+          sha256 = "00qh5b7kx0dlms7drnzj95mvgwfzg5h5m9prkbr8qi4ssx939gdw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1768,10 +1788,10 @@
       elpaBuild {
         pname = "ellama";
         ename = "ellama";
-        version = "0.7.4";
+        version = "0.8.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ellama-0.7.4.tar";
-          sha256 = "0xpavi6kqrimgxyhpqlp1kkgisswkarm35s1b40938i70cyy3157";
+          url = "https://elpa.gnu.org/packages/ellama-0.8.7.tar";
+          sha256 = "0qmd7zrh026rjic26bdp9zinb7vkppdm14inwpwaashqxa5brwi5";
         };
         packageRequires = [ dash emacs llm spinner ];
         meta = {
@@ -1992,10 +2012,10 @@
       elpaBuild {
         pname = "excorporate";
         ename = "excorporate";
-        version = "1.1.1";
+        version = "1.1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/excorporate-1.1.1.tar";
-          sha256 = "06ilfkrlx6ca0qfqq3w1w07kdwak556i1wgf1875py2d5xkg4r90";
+          url = "https://elpa.gnu.org/packages/excorporate-1.1.2.tar";
+          sha256 = "11w53idm7m20jhmwnj9wiqiv6fzydjrgy2s3mp36barlj3xq0l0z";
         };
         packageRequires = [
           cl-lib
@@ -2101,6 +2121,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    filechooser = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "filechooser";
+        ename = "filechooser";
+        version = "0.1.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/filechooser-0.1.2.tar";
+          sha256 = "0s0mdc851zd2hy8hfpbamiimbh7c788cyz8mxnwzkpmf6jlj6xdw";
+        };
+        packageRequires = [ compat emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/filechooser.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     filladapt = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "filladapt";
@@ -2519,10 +2554,10 @@
       elpaBuild {
         pname = "greader";
         ename = "greader";
-        version = "0.8.2";
+        version = "0.9.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/greader-0.8.2.tar";
-          sha256 = "0cfdx4ybvdklsmxd2n10n8c0niw5k2d4cdnmm98ixadvh56bvflr";
+          url = "https://elpa.gnu.org/packages/greader-0.9.7.tar";
+          sha256 = "08q2qfcwyxrnmjbzblgk16xhshhn2314swjs0kr5jrdijdgpfghh";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2691,10 +2726,10 @@
       elpaBuild {
         pname = "hyperbole";
         ename = "hyperbole";
-        version = "8.0.0";
+        version = "9.0.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/hyperbole-8.0.0.tar";
-          sha256 = "171x7jad62xd0n3xgs32dksyhn5abxj1kna0qgm65mm0v73hrv8d";
+          url = "https://elpa.gnu.org/packages/hyperbole-9.0.0.tar";
+          sha256 = "07kpyp3ggf4knakn18niy819l184apx4d9vbcwv57j8zyqgn4c3l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2706,10 +2741,10 @@
       elpaBuild {
         pname = "ilist";
         ename = "ilist";
-        version = "0.1";
+        version = "0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ilist-0.1.tar";
-          sha256 = "1ihh44276ivgykva805540nkkrqmc61lydv20l99si3amg07q9bh";
+          url = "https://elpa.gnu.org/packages/ilist-0.3.tar";
+          sha256 = "1gg77fnk2ky5z5153axszs43a9npb1xg56ik23rz45xl9hg7v8as";
         };
         packageRequires = [];
         meta = {
@@ -2921,10 +2956,10 @@
       elpaBuild {
         pname = "jinx";
         ename = "jinx";
-        version = "1.2";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/jinx-1.2.tar";
-          sha256 = "027r05123bmqwy4h9x8mlxn1m65jv759jqf1rh6gs92bi29slwy8";
+          url = "https://elpa.gnu.org/packages/jinx-1.3.tar";
+          sha256 = "0xlfw1sw92qf8bwpw9qnjhkz4ax6n7kcl72ypqm3swmj92jbgsg7";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -3121,10 +3156,10 @@
       elpaBuild {
         pname = "lex";
         ename = "lex";
-        version = "1.1";
+        version = "1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/lex-1.1.tar";
-          sha256 = "1i6ri3k2b2nginhnmwy67mdpv5p75jkxjfwbf42wymza8fxzwbb7";
+          url = "https://elpa.gnu.org/packages/lex-1.2.tar";
+          sha256 = "03g5lm6gyh4k8l4iccdl9z0qinr46fkpqlwdw0gdfj9d0b782mbs";
         };
         packageRequires = [];
         meta = {
@@ -3151,10 +3186,10 @@
       elpaBuild {
         pname = "llm";
         ename = "llm";
-        version = "0.9.0";
+        version = "0.9.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/llm-0.9.0.tar";
-          sha256 = "16sin4l2wgwvzx0a4bjksv2g93ayfcamvjfan6hmflfmc0sd5s7v";
+          url = "https://elpa.gnu.org/packages/llm-0.9.1.tar";
+          sha256 = "0vib0zl41fsacc5d79f1l52j2vxnbqc37471b86cxw9rha0clr8m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3466,10 +3501,10 @@
       elpaBuild {
         pname = "mmm-mode";
         ename = "mmm-mode";
-        version = "0.5.10";
+        version = "0.5.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/mmm-mode-0.5.10.tar";
-          sha256 = "1ny9gm87qah4qy0iphw2nlhz2pfc87hzzsv58lrxl18gr69qhndi";
+          url = "https://elpa.gnu.org/packages/mmm-mode-0.5.11.tar";
+          sha256 = "07pda4bvvcmdwkwh8dnfqgvhkdni2wjgps1094kn1j5c9j254741";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3880,10 +3915,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "9.6.17";
+        version = "9.6.19";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-9.6.17.tar";
-          sha256 = "1gnm9hja2p93l0h5dz86035jh37wkngw7kk4bpgbzjlv74wih1jb";
+          url = "https://elpa.gnu.org/packages/org-9.6.19.tar";
+          sha256 = "0ibgw0i7nsn589k0ynifwdp1f3ia6p8369myhjqgmwy392cwrcxg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3921,6 +3956,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-jami-bot = callPackage ({ elpaBuild, emacs, fetchurl, jami-bot, lib }:
+      elpaBuild {
+        pname = "org-jami-bot";
+        ename = "org-jami-bot";
+        version = "0.0.5";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/org-jami-bot-0.0.5.tar";
+          sha256 = "0nh0sp1l8hn568n6j11nkl42rm6b3gbjwi3lsf6vanr0lzvrl58r";
+        };
+        packageRequires = [ emacs jami-bot ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/org-jami-bot.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-modern = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "org-modern";
@@ -4071,16 +4121,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    pabbrev = callPackage ({ elpaBuild, fetchurl, lib }:
+    pabbrev = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "pabbrev";
         ename = "pabbrev";
-        version = "4.2.2";
+        version = "4.3.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pabbrev-4.2.2.tar";
-          sha256 = "0iydz8yz866krxv1qv32k88w4464xpymh0wxgrxv6nvniwvhvd0s";
+          url = "https://elpa.gnu.org/packages/pabbrev-4.3.0.tar";
+          sha256 = "0a54ld80s0r9zrc2kd861p4ii3jzqhxykzcnvi64fhxxg3x2aggx";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/pabbrev.html";
           license = lib.licenses.free;
@@ -4120,10 +4170,10 @@
       elpaBuild {
         pname = "parser-generator";
         ename = "parser-generator";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/parser-generator-0.2.0.tar";
-          sha256 = "1pp11qnm09w69vc1sl2629r0ymd2vhnaqj4d4ly1bbwxrwjl2nsv";
+          url = "https://elpa.gnu.org/packages/parser-generator-0.2.1.tar";
+          sha256 = "17kqkqz3d29pmn8ydw5kxs2fdgwqh0q31f13hdf1bnw009j24rl9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4195,10 +4245,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.4.47";
+        version = "0.4.48";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.4.47.tar";
-          sha256 = "08zyk00vwi3wrw9shlv1faxcall3xcqlg02hj3yb8cg4071dv922";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.4.48.tar";
+          sha256 = "1nm1j0f77afmwhb5cavk60nn4ifnx5qaycdy0c7qj8w3vdhyn3da";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4521,6 +4571,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    rcirc-sqlite = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "rcirc-sqlite";
+        ename = "rcirc-sqlite";
+        version = "0.1.3";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/rcirc-sqlite-0.1.3.tar";
+          sha256 = "1pwxkw6dzwbg5g3rxilpp6iy3mzxgpn0mw59i3dcx25hdyizqhip";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/rcirc-sqlite.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     realgud = callPackage ({ elpaBuild
                            , emacs
                            , fetchurl
@@ -5500,10 +5565,10 @@
       elpaBuild {
         pname = "tempel";
         ename = "tempel";
-        version = "1.0";
+        version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tempel-1.0.tar";
-          sha256 = "0k9802fby7yh5kz6slkfzpyvfa0fvs3hcfni61l2bic8pfrdxwl7";
+          url = "https://elpa.gnu.org/packages/tempel-1.1.tar";
+          sha256 = "1780dgyfj569vxzzg8gqky9953fzw8x5kzy2l05vl7my06nyk46i";
         };
         packageRequires = [ compat emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
index 822a2ef0773ed..8f2e093ddf8d1 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
@@ -182,6 +182,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    base32 = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "base32";
+        ename = "base32";
+        version = "1.0";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/base32-1.0.tar";
+          sha256 = "02n227xwg621zh4na5lx8xh5q6zldq0hwwfzc4wkgfg2jb83n4g8";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/base32.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     bash-completion = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "bash-completion";
@@ -400,10 +415,10 @@
       elpaBuild {
         pname = "clojure-ts-mode";
         ename = "clojure-ts-mode";
-        version = "0.2.0";
+        version = "0.2.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/clojure-ts-mode-0.2.0.tar";
-          sha256 = "1jb6n84pk2ybrihh1s472q77pmnn288p4bzvhga0sxxqg88ial2p";
+          url = "https://elpa.nongnu.org/nongnu/clojure-ts-mode-0.2.2.tar";
+          sha256 = "19dskc53dx183kcb7p5qx41qsjsy1mqi46zrdfc1znl7rdknhvl7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -727,10 +742,10 @@
       elpaBuild {
         pname = "elpher";
         ename = "elpher";
-        version = "3.5.0";
+        version = "3.5.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/elpher-3.5.0.tar";
-          sha256 = "10b4s3anbm4afs5i7rkv9qm5f5y9lzyj9dzajb1x654df4l0m4w4";
+          url = "https://elpa.nongnu.org/nongnu/elpher-3.5.1.tar";
+          sha256 = "0687npypihavghz9bjs8f6h10awjgjv5fdd11dmh43p1krhrga2w";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -910,10 +925,10 @@
       elpaBuild {
         pname = "evil-matchit";
         ename = "evil-matchit";
-        version = "3.0.2";
+        version = "3.0.4";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/evil-matchit-3.0.2.tar";
-          sha256 = "02sim8hkclkp7lzj3hybjky75lyvf452wc7hmbkx1rjb3cx9j5m5";
+          url = "https://elpa.nongnu.org/nongnu/evil-matchit-3.0.4.tar";
+          sha256 = "1bc14r8cl0sd4ygj5didhzh74alzafc6rjk9fm4zgylkbcxal8nl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1049,6 +1064,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    flycheck = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "flycheck";
+        ename = "flycheck";
+        version = "34.1";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/flycheck-34.1.tar";
+          sha256 = "1yyvlhv45gvjmv1rja16j12gv2afiaf4r852mcw3l97h6f40h4x9";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/flycheck.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     flymake-guile = callPackage ({ elpaBuild
                                  , emacs
                                  , fetchurl
@@ -1662,10 +1692,10 @@
       elpaBuild {
         pname = "htmlize";
         ename = "htmlize";
-        version = "1.57";
+        version = "1.56";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/htmlize-1.57.tar";
-          sha256 = "1k4maqkcicvpl4yxkx6ha98x36ppcfdp2clcdg4fjx945yamx80s";
+          url = "https://elpa.nongnu.org/nongnu/htmlize-1.56.tar";
+          sha256 = "1xdy6lbqm75qlywbr08sbjfa20mphylswbjihk1iiblyj8gbp0p6";
         };
         packageRequires = [];
         meta = {
@@ -2075,10 +2105,10 @@
       elpaBuild {
         pname = "meow";
         ename = "meow";
-        version = "1.4.4";
+        version = "1.4.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/meow-1.4.4.tar";
-          sha256 = "013nmc0jcvwfh6s1l59kld8393ld4sy5icbah9hzd0chj6l72mgh";
+          url = "https://elpa.nongnu.org/nongnu/meow-1.4.5.tar";
+          sha256 = "0r1rmhmwgxl7q2rvjf8byc0ass00k3m87sn6sw9chip5cgd5g6gm";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2652,10 +2682,10 @@
       elpaBuild {
         pname = "racket-mode";
         ename = "racket-mode";
-        version = "1.0.20240130.151349";
+        version = "1.0.20240219.135847";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20240130.151349.tar";
-          sha256 = "0hbcnr4x1931c95hpgfdny92vk8m688p8yc0ng41yv1safa0w4pl";
+          url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20240219.135847.tar";
+          sha256 = "06g1ci7kq8fxjh65qwwnh530xvvh6pr9ha52f7xmbjf56iifn1da";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2802,16 +2832,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    scad-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    scad-mode = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "scad-mode";
         ename = "scad-mode";
-        version = "93.2";
+        version = "93.3";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/scad-mode-93.2.tar";
-          sha256 = "0gp7ghmch5wkbby0avmlgj5kajiccbarjrx1szh9r3f3gi1ahawj";
+          url = "https://elpa.nongnu.org/nongnu/scad-mode-93.3.tar";
+          sha256 = "0gh2s0hv8i100xsq656vfxy3586162dv1bz9gcj4aha3kk4ar3vk";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ compat emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/scad-mode.html";
           license = lib.licenses.free;
@@ -3213,6 +3243,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    totp-auth = callPackage ({ base32, elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "totp-auth";
+        ename = "totp-auth";
+        version = "1.0";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/totp-auth-1.0.tar";
+          sha256 = "0j5rr026n57crizrw4q4yi7q6psdw5qzfcby4slkrlz4yg58mpk3";
+        };
+        packageRequires = [ base32 emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/totp-auth.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     treeview = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "treeview";
@@ -3337,10 +3382,10 @@
       elpaBuild {
         pname = "visual-fill-column";
         ename = "visual-fill-column";
-        version = "2.5.1";
+        version = "2.6.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/visual-fill-column-2.5.1.tar";
-          sha256 = "1q2cimrcr4knh716cdnhs8nspk08w8x7bsbhx69s9hpzgr7mjq58";
+          url = "https://elpa.nongnu.org/nongnu/visual-fill-column-2.6.0.tar";
+          sha256 = "1gpjby6g9wq8p25q1a35hr56nfb4sbcdrf0bjxidh1diw5g5saw4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3352,10 +3397,10 @@
       elpaBuild {
         pname = "web-mode";
         ename = "web-mode";
-        version = "17.3.17";
+        version = "17.3.18";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/web-mode-17.3.17.tar";
-          sha256 = "0a9qsffj2451ccb2gvimkwa0qp9m2n5m70zb6bzjndqgq18n7rfb";
+          url = "https://elpa.nongnu.org/nongnu/web-mode-17.3.18.tar";
+          sha256 = "18ylzq12gsayp3cmd8qjdqsnyiymjd95ffqs3xcyva6sl8d41hmy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3515,10 +3560,10 @@
       elpaBuild {
         pname = "xah-fly-keys";
         ename = "xah-fly-keys";
-        version = "24.20.20240120121202";
+        version = "24.21.20240220095736";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-24.20.20240120121202.tar";
-          sha256 = "0v3qfn3jqq7jcbpxjajj8q51r71lf3pfmw5gddd38022szrw6ca6";
+          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-24.21.20240220095736.tar";
+          sha256 = "04ra1m9mwhz3zh0776gbzfn4kn0yxgbfbh1hq78r2zxggvpjfikv";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index 80a6dbe8df78e..016ccf1dfc43c 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -1082,8 +1082,8 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20240115,
-    530
+    20240222,
+    320
    ],
    "deps": [
     "dash",
@@ -1093,8 +1093,8 @@
     "s",
     "xcscope"
    ],
-   "commit": "4c3a9f2bab477f9e3a1615be190fd07992592fb1",
-   "sha256": "1yr0l7yl9zlvf6rk9vg4jbl6gllgfv4wyryn30iq21cdgxzm92kr"
+   "commit": "d4378a857aa1c60b34d86557aa10238785d1ac66",
+   "sha256": "1xz86cjsjm72b0rm50fr2z82rcllhczsd4jr5rnp2clbind5w697"
   },
   "stable": {
    "version": [
@@ -1696,21 +1696,21 @@
   "repo": "pauldub/activity-watch-mode",
   "unstable": {
    "version": [
-    20230731,
-    802
+    20240223,
+    803
    ],
    "deps": [
     "cl-lib",
     "json",
     "request"
    ],
-   "commit": "63eb19a10e4262c529f1b205ef61d69055350f49",
-   "sha256": "10p9mpnbq1xrwhxy54idiz4vjy2kflm0ymqpidnh0sr5dcnap867"
+   "commit": "0189963cb60a0efdbb1cfd17641c06d16a74a974",
+   "sha256": "0k7ksh1d7cx5x64fbjakhxz3ab35m33sxf1dzmgymvw0xzdp9hs8"
   },
   "stable": {
    "version": [
     1,
-    4,
+    5,
     0
    ],
    "deps": [
@@ -1718,8 +1718,8 @@
     "json",
     "request"
    ],
-   "commit": "89902927023781e23f09d033a780fbed546c53e1",
-   "sha256": "1y0k282nsn6y18ai8vky3yy78ay2a6lgv5lhrmh0xl0r8hydv21g"
+   "commit": "0189963cb60a0efdbb1cfd17641c06d16a74a974",
+   "sha256": "0k7ksh1d7cx5x64fbjakhxz3ab35m33sxf1dzmgymvw0xzdp9hs8"
   }
  },
  {
@@ -1730,11 +1730,11 @@
   "repo": "brownts/ada-ts-mode",
   "unstable": {
    "version": [
-    20240117,
-    1356
+    20240205,
+    38
    ],
-   "commit": "c20d6fa26ff721c1e02560f1d9f87319edff3100",
-   "sha256": "06rwqxsgz7y8zj7irj49x624dyp1rana289iwq752rkpcsvc640s"
+   "commit": "f8df38fce4dba715f5e2252b047f9174e82f9cac",
+   "sha256": "0wyczjsszsn9yvchp5lihh1a7z3ax59syq1ckqg806nj1hvkfz31"
   }
  },
  {
@@ -1876,11 +1876,11 @@
   "repo": "bbatsov/adoc-mode",
   "unstable": {
    "version": [
-    20240201,
-    2055
+    20240218,
+    1035
    ],
-   "commit": "d4df8e1de68699fa9bc45bd4486b49f8b53985f6",
-   "sha256": "03vagni087iknp6lhz4xppm8vx8yahkv2wcyy299sww956wr3cyk"
+   "commit": "2c2eb8043623aa99d35aacbad2ee39188bf1bad3",
+   "sha256": "0ahvb703hgar9lm2zcikmjc5yqdg4lvw0f314isbww3479dlm5l2"
   },
   "stable": {
    "version": [
@@ -2091,14 +2091,14 @@
   "repo": "davidshepherd7/aggressive-fill-paragraph-mode",
   "unstable": {
    "version": [
-    20180910,
-    816
+    20240213,
+    2320
    ],
    "deps": [
     "dash"
    ],
-   "commit": "39eb7ac73976d4d4044ef3d750c3ade967d036e1",
-   "sha256": "1ly79z9aqy3b2wq11ifvvkls9qqbpkbb8hj7nsvpq59vqa9fknli"
+   "commit": "60e4eb5c57d4408e811d12c6b6491b8c89dfa695",
+   "sha256": "1ypygk98qxnznvjp68vj0hg2546kzvznrbdshnvz57sxyxv47vyk"
   }
  },
  {
@@ -2804,15 +2804,15 @@
   "repo": "mohkale/all-the-icons-nerd-fonts",
   "unstable": {
    "version": [
-    20231022,
-    1956
+    20240210,
+    1127
    ],
    "deps": [
     "all-the-icons",
     "nerd-icons"
    ],
-   "commit": "9ac476b1a82199cfa770f214b6d53776cd276bd9",
-   "sha256": "0f76l7g1gwji3wy3gxir989b8p3lmfn9q5m5p76p0qfvi9c8gz62"
+   "commit": "67a9cc9de2d2d4516cbfb752879b1355234cb42a",
+   "sha256": "00klvdalj8051axxg50dq4wdbzzrfr7ayzq8a6zzpnbhzlq7j2f6"
   }
  },
  {
@@ -3016,11 +3016,11 @@
   "repo": "franburstall/amsreftex",
   "unstable": {
    "version": [
-    20220822,
-    1749
+    20240210,
+    1109
    ],
-   "commit": "8932c4a48f9d430ccc9ae2259551649d1443035d",
-   "sha256": "0q2snxd5lnksawxqxjqhp4zhpxnih2x3rs450z73srmz1aj9h1yh"
+   "commit": "d64705a7a252be2554b717a38252d8999b0c1504",
+   "sha256": "1q9d93v9zxcs8yngl5liqq3gngl04lnjnka34x8iqbknrl55mzd0"
   }
  },
  {
@@ -3521,15 +3521,15 @@
   "repo": "k1LoW/emacs-ansible",
   "unstable": {
    "version": [
-    20220114,
-    45
+    20240212,
+    325
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "d89ac0ee57742cca0f0e0a3453d9dcc521575690",
-   "sha256": "1n38cvdpp2d00vl7ky4qf820rylffkapa3d9s4pwjw6lj55f00ak"
+   "commit": "1d7de8d3ddac980715eebd87ee66859f8665b101",
+   "sha256": "1indmjrk3gwvxpigmn8lkdgnb841k2n8s2q4dsl8vppy4hfrl7aa"
   },
   "stable": {
    "version": [
@@ -3818,11 +3818,11 @@
   "repo": "radian-software/apheleia",
   "unstable": {
    "version": [
-    20240112,
-    1923
+    20240209,
+    156
    ],
-   "commit": "96a9805ecb75aac2adde7568d26b3e3b3ffc19af",
-   "sha256": "1dc9lx9h9rhqldgcm7xq9i10z1vhsikmi9dhn48g6432mrma81gl"
+   "commit": "c07e90793c839d1973a0820d24e03a0a6b30b77e",
+   "sha256": "16jqm67yi776akshbyvflfdsis4c6zl18rmcza1s11wvfnd7z609"
   },
   "stable": {
    "version": [
@@ -3893,11 +3893,11 @@
   "repo": "alexmurray/apparmor-mode",
   "unstable": {
    "version": [
-    20240119,
-    542
+    20240211,
+    2243
    ],
-   "commit": "a40fb1b0857ef39bb82aacc6ce507d74a08590a6",
-   "sha256": "0s2hyw1xkbbmpfb7g8dq9ws3l0hrd60iahscgd6mswy39xbi7fw4"
+   "commit": "05a67cba7508cf63bed22763a8949e55a7bf6786",
+   "sha256": "0644zfmrhlfrrgy5z21bp95885spcfxi93lv77gz070zzxk4ciq7"
   }
  },
  {
@@ -4577,19 +4577,19 @@
   "repo": "meedstrom/asyncloop",
   "unstable": {
    "version": [
-    20240203,
-    1944
+    20240219,
+    1742
    ],
-   "commit": "8bf885b7e540f231fbc45ab15228f9b30aafc245",
-   "sha256": "0yx0z85lml7hh11xx267nqr5iaiybwcbildl0adz38y753di3ym9"
+   "commit": "8bc72f51c52c108ece0655625dedc10b9fe1cb8d",
+   "sha256": "05cyjjkwl9s3sqg9a3h9xcxhp4r30d5srz93knkwi48namb1nncg"
   },
   "stable": {
    "version": [
-    0,
-    5
+    1,
+    1
    ],
-   "commit": "e7d484f8036bea31d4824efc0ac64f01990e6dca",
-   "sha256": "1kpsqkbq0f8pgvn9iiaffz99vx3lwg8j6vbnlqmby8g51i5i5ka3"
+   "commit": "8bc72f51c52c108ece0655625dedc10b9fe1cb8d",
+   "sha256": "05cyjjkwl9s3sqg9a3h9xcxhp4r30d5srz93knkwi48namb1nncg"
   }
  },
  {
@@ -5155,10 +5155,10 @@
  },
  {
   "ename": "auto-complete-auctex",
-  "commit": "77167fb2e84bed32ace9490c1ed4148719e4cf8e",
-  "sha256": "00npvryds5wd3d5a13r9prlvw6vvjlag8d32x5xf9bfmmvs0fgqh",
+  "commit": "adb5e5debfb2f700ba1747a21f3782db7bc0d8a6",
+  "sha256": "1gznsjkjkar2la5yhnq6sg8yaw8p1bw9n9jzxm1zgz9n09kng20c",
   "fetcher": "github",
-  "repo": "monsanto/auto-complete-auctex",
+  "repo": "emacsattic/auto-complete-auctex",
   "unstable": {
    "version": [
     20140223,
@@ -5420,11 +5420,11 @@
   "repo": "LionyxML/auto-dark-emacs",
   "unstable": {
    "version": [
-    20240130,
-    1811
+    20240212,
+    1446
    ],
-   "commit": "66cc927632815e95e9ffb33d76d02e3ded681892",
-   "sha256": "1frdh0kmkcjqrx9j3s8pz8dfmb9ka10vvbvny5p977av7f82zf1b"
+   "commit": "39f104ee67d6561bd8a9649f0f09dcc60db25627",
+   "sha256": "02ppd0zmw2lsjixq158kq55a1d3jvaya6amf1m7yglbsn48bxd9r"
   }
  },
  {
@@ -6689,11 +6689,11 @@
   "repo": "tinted-theming/base16-emacs",
   "unstable": {
    "version": [
-    20240121,
-    104
+    20240218,
+    58
    ],
-   "commit": "f9e1699ea493bf183ed08292ac0cf053fc2603d8",
-   "sha256": "1g25yh6d6rcmdiflq25dvn05ygxaq24kffjai55rl37znxjkrzrm"
+   "commit": "c24d84b6c4794d1fc92429b6c70009434a137fe4",
+   "sha256": "17am6rx8xmkkfx6dlbchym3xaj341z1aaam6zk3nkjxyz8srbm1c"
   },
   "stable": {
    "version": [
@@ -7309,11 +7309,11 @@
   "repo": "dholm/benchmark-init-el",
   "unstable": {
    "version": [
-    20240202,
-    748
+    20240221,
+    701
    ],
-   "commit": "7764f93bf549703ba4779f43ff7a3d028fa133b3",
-   "sha256": "0s1hsgqhknq0am04nc7kpamfzbl5an5w3b0r38a2iibjkirgr477"
+   "commit": "80ba80eb62c9449b3920164d999d41b1dd7230eb",
+   "sha256": "0m43wsxldsv0xgliq8vgfc83yvrf19m9azw5f9s3b0mscb6ip79i"
   },
   "stable": {
    "version": [
@@ -7733,8 +7733,8 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20240109,
-    1225
+    20240220,
+    1216
    ],
    "deps": [
     "biblio",
@@ -7744,8 +7744,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "bf184cc311c9e1724f8b2eaf75b9e202c3aedd16",
-   "sha256": "0agizbcs7rvgzrm3464z2kdkbrvndk08biksk8pr0icwxx9bjddm"
+   "commit": "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c",
+   "sha256": "1zlg1bdjxjh1m3rb7i49il48ybj08wkbs17zcl0sxxmbldw3cvhp"
   },
   "stable": {
    "version": [
@@ -8666,14 +8666,14 @@
   "repo": "kyleam/bog",
   "unstable": {
    "version": [
-    20230521,
-    2122
+    20240215,
+    27
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "6bea27368b0010e04fb7c7894064251940eb21b0",
-   "sha256": "0nl47wdkgs0mii779n0yrag7bk37gxzpj6b4vf70hma9290q955w"
+   "commit": "c8e7c8cb54b1787cc3d9383f0514eb76cadd4002",
+   "sha256": "0dhakwf7337yi2rwn2hahvvimzxgdzyp16yzd8sb6rgr931sib48"
   },
   "stable": {
    "version": [
@@ -8887,15 +8887,15 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20240101,
-    2212
+    20240205,
+    1834
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "4666dd7fc827c7817d192cc80d1440565c5f49d3",
-   "sha256": "122rdvvfkhf3k0kf92ram1qw7dw9xbnn0z6kwkfbh1w6jipnwvi3"
+   "commit": "94b9be770dd325ca5e6502822fd2f6efab220f63",
+   "sha256": "1m1n07m301imancmc3xcxcr6w10ixvg5m3smaa8ryw702nsnqssj"
   },
   "stable": {
    "version": [
@@ -8949,20 +8949,20 @@
   "repo": "ascii-boxes/boxes",
   "unstable": {
    "version": [
-    20230326,
-    1932
+    20240217,
+    1143
    ],
-   "commit": "77d02890a749a30bc228c848ec1d4bc9b09ac6c0",
-   "sha256": "0d3x1pp9ir0ljg0g7iq8n1sgxi6mvmpzk704wppzv6k3miv0zsrm"
+   "commit": "75dfd61801b3ec23ec30c88640ea31bbca5b36b9",
+   "sha256": "1gb3f42ayinfm8b0fbdbdnpp5j3i26yb86yl78q635nzy3k3y1zy"
   },
   "stable": {
    "version": [
     2,
-    2,
-    1
+    3,
+    0
    ],
-   "commit": "537ffcb2e1be043ddc24706d04e711fa58648f89",
-   "sha256": "1blni7kjskg6y9ycvhwq3srfvh891xhfnjbh5h2zl0pb5szpllqi"
+   "commit": "75dfd61801b3ec23ec30c88640ea31bbca5b36b9",
+   "sha256": "1gb3f42ayinfm8b0fbdbdnpp5j3i26yb86yl78q635nzy3k3y1zy"
   }
  },
  {
@@ -9119,11 +9119,11 @@
   "repo": "Michael-Allan/Breccia.Emacs",
   "unstable": {
    "version": [
-    20240105,
-    1218
+    20240213,
+    1406
    ],
-   "commit": "6d938c49fd8b32f3be8e62a17cf9a2f8b825e8a0",
-   "sha256": "0bmk518366kd8x7jllm9cqpnz3vclg3zlsk544nyh6nnc9sgz4x6"
+   "commit": "5d857b56733ede08b06448f2392045bb1d89cbc6",
+   "sha256": "0fi3v35k56qyb8xakdnpfiphgll0f9xgzpyvxg121493rki6n5x4"
   }
  },
  {
@@ -9539,11 +9539,11 @@
   "repo": "ideasman42/emacs-buffer-name-relative",
   "unstable": {
    "version": [
-    20230625,
-    347
+    20240204,
+    1219
    ],
-   "commit": "6c1e98f761344b2d2d51f38d587161f71ca0e750",
-   "sha256": "0cvmg84k54kpd4qkijnjcqcw5qnnb2ghwviv72z0jgird0c9h9b2"
+   "commit": "b1e878e97df0cd02348e1aed95738c0c3a32f148",
+   "sha256": "002xrfx0rkq3lwribpxgimxw813nwflvwl7g7ywc5xi9v41jv56j"
   }
  },
  {
@@ -9711,8 +9711,8 @@
   "repo": "alphapapa/bufler.el",
   "unstable": {
    "version": [
-    20231220,
-    1307
+    20240216,
+    805
    ],
    "deps": [
     "burly",
@@ -9722,8 +9722,8 @@
     "map",
     "pretty-hydra"
    ],
-   "commit": "ff0d371b853a65943ccd3546fe947d407cd2e28a",
-   "sha256": "1hl9cy7ldfv9gmp3xvykz3a2j5rw90zjr3vk6srsl7akc0la4n4n"
+   "commit": "d686f6a303ed250da2ee01d82afea26058a0a533",
+   "sha256": "0842w4h4v0gkmn6mlgrp9qywqyks4k5ibz0frwqiq6dxsy0wz7x9"
   },
   "stable": {
    "version": [
@@ -10090,11 +10090,11 @@
   "repo": "jorgenschaefer/emacs-buttercup",
   "unstable": {
    "version": [
-    20231206,
-    2351
+    20231208,
+    2346
    ],
-   "commit": "e4fb7cd560d27d8879a2c7739ee96946adec2df8",
-   "sha256": "10q6zr837yaal1g3l7vmj08b3c301j99b290pylshb0si360a27h"
+   "commit": "f2f7f81a83a1092f05c515f8f5212a5a82f180ff",
+   "sha256": "0467dmh8idcwm5qs70igls9wy6kx2kzcqig6yavcm47wjr3a373q"
   },
   "stable": {
    "version": [
@@ -10799,25 +10799,25 @@
   "repo": "minad/cape",
   "unstable": {
    "version": [
-    20240130,
-    2301
+    20240214,
+    1139
    ],
    "deps": [
     "compat"
    ],
-   "commit": "bfde79ed440343c0dbf0f64cfe7913c1efbe3f83",
-   "sha256": "0cf5cbxdbm5qx6a2d44c6a4a6k9pb0a33w4vnj99x9lwiam7hnff"
+   "commit": "c56cd95f6df003f8928f11e8776d3a9a3eca6890",
+   "sha256": "1zz5sah8zdkvmbh2kdn4v5vf3sb09krdrxhzyzcg63zjya2z8prz"
   },
   "stable": {
    "version": [
     1,
-    2
+    3
    ],
    "deps": [
     "compat"
    ],
-   "commit": "a687fbeddc0f1dcdc7e4c2d2a69c96243587317d",
-   "sha256": "02cbk9avlsqyjxs2nq1bj3sa561ar990gfhwzg1nxapwgcdxikn6"
+   "commit": "c56cd95f6df003f8928f11e8776d3a9a3eca6890",
+   "sha256": "1zz5sah8zdkvmbh2kdn4v5vf3sb09krdrxhzyzcg63zjya2z8prz"
   }
  },
  {
@@ -11282,6 +11282,30 @@
   }
  },
  {
+  "ename": "cc-isearch-menu",
+  "commit": "63dbaed255d4c0f263d534077b33c9cffec50b1b",
+  "sha256": "00jb1m3fdlp3pn75c67phshb22shyhga31s3wf1s7wldandrbkwj",
+  "fetcher": "github",
+  "repo": "kickingvegas/cc-isearch-menu",
+  "unstable": {
+   "version": [
+    20240221,
+    742
+   ],
+   "commit": "9cf6d98b228df378e4fd428a6978c154011d130f",
+   "sha256": "0ca89b8z0y40b888f07rm6zmj6229mvbvwx31ffs6grpsdqn428s"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    3
+   ],
+   "commit": "9cf6d98b228df378e4fd428a6978c154011d130f",
+   "sha256": "0ca89b8z0y40b888f07rm6zmj6229mvbvwx31ffs6grpsdqn428s"
+  }
+ },
+ {
   "ename": "ccc",
   "commit": "7375cab750a67ede1a021b6a4371b678a7b991b0",
   "sha256": "0fckhmz4svcg059v4acbn13yf3ijs09fxmq1axc1b9bm3xxig2cq",
@@ -11704,7 +11728,7 @@
   "repo": "worr/cfn-mode",
   "unstable": {
    "version": [
-    20240128,
+    20240218,
     904
    ],
    "deps": [
@@ -11712,8 +11736,8 @@
     "s",
     "yaml-mode"
    ],
-   "commit": "b00bd56bd3afba49764720e506a03a3bd577be60",
-   "sha256": "0zrdl58kga0184v6s67laygbpa5p7qsg3migh308g805lapmlal1"
+   "commit": "cd987267b379782fd623d23fca0fdae748166b35",
+   "sha256": "13g6b21mnpz2g4n6v9yv8asw1yhdxynqsyqhmmzfcvj9dbx6gn7n"
   },
   "stable": {
    "version": [
@@ -11738,15 +11762,15 @@
   "repo": "plandes/cframe",
   "unstable": {
    "version": [
-    20231204,
-    1959
+    20240223,
+    2335
    ],
    "deps": [
     "buffer-manage",
     "dash"
    ],
-   "commit": "bcd75f0f9699de962749c09b61ba0ce7a55ee35f",
-   "sha256": "1k1skg3f1n1hhij302gf3sj92qj7nnkgyc66ql9c1i6c28nx40p2"
+   "commit": "580a20573ef413c269c032221de04abc1c97a6a8",
+   "sha256": "0s2n4b7g1b48j2mmfjmp1ir8bacbyiqffmjh6g62vxabbhnyc6fh"
   },
   "stable": {
    "version": [
@@ -11974,14 +11998,14 @@
   "repo": "xenodium/chatgpt-shell",
   "unstable": {
    "version": [
-    20240129,
-    935
+    20240220,
+    1129
    ],
    "deps": [
     "shell-maker"
    ],
-   "commit": "e2073d9499a2072c16d669ec86d7dda0db4a0f4f",
-   "sha256": "1zfkvbwd01mcw44bi7b12r5xnnsh3973sh0qkk2wv5sl60lfzd91"
+   "commit": "ca5a91fe803663a4849b1ccfe1a2be91409cb43d",
+   "sha256": "1frav21936dd8fc3k0pcwzq0njarpr8g0p5cag8cy0k87kipxd9q"
   }
  },
  {
@@ -12319,11 +12343,11 @@
   "repo": "gabrielelana/chip8.el",
   "unstable": {
    "version": [
-    20231028,
-    952
+    20240210,
+    1459
    ],
-   "commit": "1b3ba334184efb39ff03877cdce705cbf08ca9e7",
-   "sha256": "0a7jbb355vyyc2ihbiyaby9y6m3mp2cfaivicsmc8hb9qwadwx7x"
+   "commit": "69a764f5c1119508dd109a0ba64080f04b5fb702",
+   "sha256": "1rzn804yl59h75323cvav4fgqax9nj5anv9y3189xpcyhzn1d3ld"
   }
  },
  {
@@ -12613,8 +12637,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20240201,
-    2038
+    20240220,
+    720
    ],
    "deps": [
     "clojure-mode",
@@ -12625,8 +12649,8 @@
     "spinner",
     "transient"
    ],
-   "commit": "aa26d62ac59930079e47e652ccd73e8e447defd5",
-   "sha256": "0l7nm6bn2ah6hwklj1dr4dk4mrbcbk04589zymr8lvyba54918wq"
+   "commit": "1aad1ce6f0645c2efb35b5d0115b804415b2a2cf",
+   "sha256": "0f8zzvx5k09vjapkz48b93v6fg8bz66kybxk3jnvplpy3mmzlbxw"
   },
   "stable": {
    "version": [
@@ -12959,16 +12983,16 @@
   "repo": "pprevos/citar-denote",
   "unstable": {
    "version": [
-    20231229,
-    531
+    20240208,
+    1246
    ],
    "deps": [
     "citar",
     "dash",
     "denote"
    ],
-   "commit": "0c68a4f74f5dcfc23ef03b211658a2ccc5d9aa3b",
-   "sha256": "0g476awbrdws7k7smk1qasz15df20zilx3wqbi3wj0i1q2dbsi8z"
+   "commit": "5291f504902d403ef3f39dbc5b3e1cd1c9fe4d34",
+   "sha256": "1hn7jhvdfac8hxmvr97lilql6lpd3akx2hklwxarp7m4awm9b9fr"
   },
   "stable": {
    "version": [
@@ -13024,15 +13048,15 @@
   "repo": "emacs-citar/citar-org-roam",
   "unstable": {
    "version": [
-    20230404,
-    1225
+    20240212,
+    2159
    ],
    "deps": [
     "citar",
     "org-roam"
    ],
-   "commit": "761eed66782fdbb6d65749098caa42ba43e8441d",
-   "sha256": "0iwhwfllbcd938qkvh5m5cn6s8pn01xb02yjbv1hl4jpiayianqa"
+   "commit": "999268c7a077aad6a8f4dfc88d0eeabdf4267fea",
+   "sha256": "0fhi42jg3h7iba9dpyd4lp2y4yvj6fb5vnrvxi62z1sd06h8qaqm"
   },
   "stable": {
    "version": [
@@ -13915,11 +13939,11 @@
   "repo": "clojure-emacs/clojure-mode",
   "unstable": {
    "version": [
-    20231124,
-    1721
+    20240218,
+    756
    ],
-   "commit": "222fdafa2add56a171ded245339a383e5e3078ec",
-   "sha256": "089xg4801h9vbgiyh1m58ib1c4y8k11n8znddsr7gk6rsmr9kb2g"
+   "commit": "4836394af1459dc8d312b25b077218a900ebfe60",
+   "sha256": "0dy86n73qa5mzfm4mj0in2vbnyayddwa5r9r41mh9fyq2pz1wl38"
   },
   "stable": {
    "version": [
@@ -14031,20 +14055,20 @@
   "repo": "clojure-emacs/clojure-ts-mode",
   "unstable": {
    "version": [
-    20230925,
-    320
+    20240219,
+    2005
    ],
-   "commit": "8e61fe8ff4795975ec9e225af931d3a514c99445",
-   "sha256": "101c1xwrmkb9rq713jij105117y2d0ffiplxsnb3z1h2pgcil0p8"
+   "commit": "f3d9e98dd018a3140efc9b8fb8a96ba829a7e644",
+   "sha256": "1hwjv62h3bjs0lk7pp22mc6qf186jamacvkb9f9jm906r43dbpq8"
   },
   "stable": {
    "version": [
     0,
     2,
-    0
+    2
    ],
-   "commit": "8e61fe8ff4795975ec9e225af931d3a514c99445",
-   "sha256": "101c1xwrmkb9rq713jij105117y2d0ffiplxsnb3z1h2pgcil0p8"
+   "commit": "a923aa83a61751a588ed3afc133d45898995762e",
+   "sha256": "15aisl4pzdgi5nqpjxllq053fj9011liz53ph9kqvl7mzspffgaj"
   }
  },
  {
@@ -14090,15 +14114,15 @@
   "repo": "magit/closql",
   "unstable": {
    "version": [
-    20240125,
-    1741
+    20240216,
+    1729
    ],
    "deps": [
     "compat",
     "emacsql"
    ],
-   "commit": "dc8cacbafc4d99ac25280c973a754a5ee5dbe2b0",
-   "sha256": "124x6ag003lgjx3sfzy7fjn2vd9s75shmqssxgax1a09kb5iwl88"
+   "commit": "81f04f60aab27c0d9161746384d4eeb0633202e2",
+   "sha256": "0a658y097jwk7cn2ra840qspkj7r71jq7yl75vycf93gx5763ywi"
   },
   "stable": {
    "version": [
@@ -14293,10 +14317,10 @@
    "version": [
     3,
     28,
-    2
+    3
    ],
-   "commit": "1f25aa1a0ac61a0b3d5b0c4e2abc98c49cd159a5",
-   "sha256": "1wd7xdlfski5g1jnx5pb7csqcsk4di6l278l9nbrg949z6dn5dq0"
+   "commit": "5e984bb35232116a54de7db39788cb162ca7c263",
+   "sha256": "1bkbszmlmzzj6xnq8xa4fqjd45zkbw4vhhmv99whzq3kmjsmnmca"
   }
  },
  {
@@ -14765,14 +14789,14 @@
   "repo": "ankurdave/color-identifiers-mode",
   "unstable": {
    "version": [
-    20230405,
-    527
+    20240218,
+    1801
    ],
    "deps": [
     "dash"
    ],
-   "commit": "c4060d1bca6fa2acfe449e086171d4efee62863f",
-   "sha256": "1b5zn42gl08v39xcym09ihwfi7zfgzgjsv1ndvfqv0av1kb9xwrj"
+   "commit": "6cb50ae7e61189f55387e5350c20651e081d613c",
+   "sha256": "10miij6w40jki1ii9y05ks9wgzzmpiz3qd6mpicc5c9i83cm0d1j"
   },
   "stable": {
    "version": [
@@ -14908,11 +14932,11 @@
   "repo": "purcell/color-theme-sanityinc-tomorrow",
   "unstable": {
    "version": [
-    20231226,
-    930
+    20240220,
+    1651
    ],
-   "commit": "a918dfe597e3a350b2dd5368eaf33b0432885453",
-   "sha256": "1zxwg7894vqnm4pf7w56vzb811av2nhrkqrxsa3x5d6mhravf3wy"
+   "commit": "1e6539f3a9b17e916b10b9423e5d617e3b756698",
+   "sha256": "13afznznzjfirldy1qhh42p0r91vaqj7gahcqfdflb8pvzjijdbv"
   },
   "stable": {
    "version": [
@@ -15352,11 +15376,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20240130,
-    1905
+    20240218,
+    1812
    ],
-   "commit": "02903bd7088d65a87df0ae0f0d0a7118de147b69",
-   "sha256": "1rbbkl77kb7xzhi3mmkal0qxg9vs3vq3pg37w8c2p9lmajdfz0xy"
+   "commit": "0c0186cca8e7e9a12a44ffe42ad7037ffa6bfac7",
+   "sha256": "0gdn5wbnn8sibyiakn55hz8krncdxlpgy409vvfa5w7jlijbv9cc"
   },
   "stable": {
    "version": [
@@ -15414,14 +15438,14 @@
   "repo": "krzysztof-magosa/company-ansible",
   "unstable": {
    "version": [
-    20200306,
-    1441
+    20240221,
+    2255
    ],
    "deps": [
     "company"
    ],
-   "commit": "79dd421b161efa49fbdffad57fa40edb41f484a3",
-   "sha256": "0b05n6m47vyhirxfqzapzl4gf179aks1296qsw1sw8v84kb5kl0x"
+   "commit": "338922601cf9e8ada863fe6f2dd9d5145d9983b0",
+   "sha256": "1clb5bp0jrimiic9a24sby4hczdqqqzrg2qi9m2az36rwh3mppi4"
   },
   "stable": {
    "version": [
@@ -15664,8 +15688,8 @@
   "repo": "tsukimizake/company-dcd",
   "unstable": {
    "version": [
-    20210307,
-    649
+    20240218,
+    1726
    ],
    "deps": [
     "cl-lib",
@@ -15675,8 +15699,8 @@
     "popwin",
     "yasnippet"
    ],
-   "commit": "858500115d4f0285f963698ede9492f409a90e52",
-   "sha256": "1b7xcqx297dc5z1rc96gd7y9cx8a7yhgmqh5cpnwfb45hm5s71hs"
+   "commit": "29dc3dc7fd0f7effe8f6a3dfbe7028a2019de48e",
+   "sha256": "1w9d5qa6zvsvf56q3flgw7xz1sq47c72iii0mqvdl6s7ribaz6mn"
   }
  },
  {
@@ -17706,25 +17730,25 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20240202,
-    1419
+    20240223,
+    1314
    ],
    "deps": [
     "compat"
    ],
-   "commit": "9463146ba754103db9475ae56e46561366ba4773",
-   "sha256": "1wqs11pkv4dcsxgmpmg7kmzg7bnc4jwbma7bvmpxxzws1y9pxi1v"
+   "commit": "66f7c20899976f23494c7016ce0cd25f1b4ff2e0",
+   "sha256": "1kby7wwl697xwgnzqfzclc1jxdp9wjvcjv86j6wdc2x2kxkpg4rj"
   },
   "stable": {
    "version": [
     1,
-    2
+    3
    ],
    "deps": [
     "compat"
    ],
-   "commit": "ba1ccbb45cd76b3fae20844bd2950631a3312a81",
-   "sha256": "1466f6j9bxw9mh0ad9yv2qfkhzlz1ysgch53nlkvbry4llhdhj43"
+   "commit": "66f7c20899976f23494c7016ce0cd25f1b4ff2e0",
+   "sha256": "1kby7wwl697xwgnzqfzclc1jxdp9wjvcjv86j6wdc2x2kxkpg4rj"
   }
  },
  {
@@ -18107,16 +18131,16 @@
   "repo": "mclear-tools/consult-notes",
   "unstable": {
    "version": [
-    20240122,
-    41
+    20240216,
+    311
    ],
    "deps": [
     "consult",
     "dash",
     "s"
    ],
-   "commit": "784c1928c44a4393e33a7d8d19c331dbf5dd1690",
-   "sha256": "1473580zl5qapq8gyfnazsl8zcwkb9bs6v893fs0mr0afsgrmgi4"
+   "commit": "d6e340044cd1d263f51b7c1877e04566db485f34",
+   "sha256": "1j8rckv9ksizvzznbi2v6hg1jcy9dp02jjzz3pbrpy5mx7n830d9"
   }
  },
  {
@@ -18159,15 +18183,15 @@
   "repo": "jgru/consult-org-roam",
   "unstable": {
    "version": [
-    20240115,
-    1145
+    20240217,
+    1442
    ],
    "deps": [
     "consult",
     "org-roam"
    ],
-   "commit": "8e5b60a61eee9d0582afd309bc4e70ca3b1054cb",
-   "sha256": "0hzc8kd52f2r5nrx5l3pbkj17mz2ms3715gq814k5iw2z9ir6ha3"
+   "commit": "a6dec09dcd06a3014409044399c4f8860ca45ef1",
+   "sha256": "0121kcxmkb6n880nrnv23amdx05kvnv1p0j27y4aypg12s0fppqr"
   }
  },
  {
@@ -18791,15 +18815,15 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20231025,
-    2311
+    20240214,
+    2118
    ],
    "deps": [
     "ivy",
     "swiper"
    ],
-   "commit": "8c30f4cab5948aa8d942a3b2bbf5fb6a94d9441d",
-   "sha256": "1iqj27pc2iivmwfh329v0d9g0z1y0whlnamrl7g2bi374h41m368"
+   "commit": "749ac1235a7948011cb0caddd4c31037e3314614",
+   "sha256": "0d598jxdrxjlszaikh27v7j2zdndisfqzb384d94siw4rwzfj4zr"
   },
   "stable": {
    "version": [
@@ -19912,14 +19936,11 @@
   "repo": "bbatsov/crux",
   "unstable": {
    "version": [
-    20231013,
-    520
-   ],
-   "deps": [
-    "seq"
+    20240223,
+    1420
    ],
-   "commit": "3998b753d0eb4fc5a64ed9c9f05a1427ff4be22d",
-   "sha256": "00l0y7alcsgmhiif9isjkw6i7lgq540414m9kzadjqnf49jq28zr"
+   "commit": "a8dbf91e88638aa76f6dcbbdd8621f2ff5673765",
+   "sha256": "1hmny162l2yakhlc76lvk71lqz7invkxfw8v69x31zng16pwdx67"
   },
   "stable": {
    "version": [
@@ -20848,11 +20869,11 @@
   "repo": "Emacs-D-Mode-Maintainers/Emacs-D-Mode",
   "unstable": {
    "version": [
-    20230827,
-    2032
+    20240218,
+    1753
    ],
-   "commit": "0c8c9e3a5ebb7bfd55bea138a8ad4390abf6b383",
-   "sha256": "1n71rigcwhwidac4jrvb1kagqyk7zd9j9gwqmn56id0n75m3lggv"
+   "commit": "dc583981dd2d4097ce1c9a80a958a7a1bf225ad4",
+   "sha256": "1vrv2iwglrv6xnpcrdgy9wwsixz2bcimn3ylh10gyv3rajym69fk"
   },
   "stable": {
    "version": [
@@ -21480,11 +21501,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20240202,
-    2350
+    20240222,
+    59
    ],
-   "commit": "00f9344e0d31b805b47c6319a37f42b485b16bf0",
-   "sha256": "0kx0dcd996mqqqyxn97gmqb55b9zrnn8v8q36nzvjrmdfisiaxhj"
+   "commit": "ed1a6a452e26e2042faec2e073f1441d73a69447",
+   "sha256": "15hnp1xwwq8mssdz5vi64v80cgv1zziinm11y3pmrhrxmlzm4321"
   },
   "stable": {
    "version": [
@@ -22447,6 +22468,25 @@
   }
  },
  {
+  "ename": "denote-explore",
+  "commit": "f304db78b4bfeb4e1061b4ef221bf46e1bafe9d0",
+  "sha256": "0md432wh8yfsfhn87ncib04aziqj7mv3pfydj79d2k8dq95flyf5",
+  "fetcher": "github",
+  "repo": "pprevos/denote-explore",
+  "unstable": {
+   "version": [
+    20240212,
+    716
+   ],
+   "deps": [
+    "dash",
+    "denote"
+   ],
+   "commit": "f1dbb2d93919f7efc0e6067f794b229ef7659d1d",
+   "sha256": "0c891zivwfpfazy9zmvj42gcr9bignbky636xmngf4l7i1p9qcig"
+  }
+ },
+ {
   "ename": "derl",
   "commit": "f661504203b6990094307244a1c93cb62c1521d9",
   "sha256": "03j9jn4xidbvs2llp7nm0lx55x4ian6dk5d54ji58zkis3qpjy84",
@@ -23057,15 +23097,15 @@
   "repo": "pkryger/difftastic.el",
   "unstable": {
    "version": [
-    20240123,
-    931
+    20240223,
+    1630
    ],
    "deps": [
     "compat",
     "magit"
    ],
-   "commit": "a3aa6b905c5fcd3079b668ee6e95e72be6de258f",
-   "sha256": "0if46m2iq15v5zbgr8hkl07hcijsm740cw82mhnj6kqdbdgk8p0p"
+   "commit": "029baa91145f72ffa95b23fab86c6598de654cfc",
+   "sha256": "0lsf0bi7k1pf9kx9lrb1r1vdplr3a4ij2is46y08zm04dzqpqa1v"
   }
  },
  {
@@ -23099,20 +23139,20 @@
   "repo": "retroj/digistar-mode",
   "unstable": {
    "version": [
-    20230313,
-    1256
+    20240220,
+    1600
    ],
-   "commit": "2bb1076778468d90a132c04f7b8455fb887b6bfe",
-   "sha256": "0izv1xvsakkdh0bxf4j9a2qzzrrrkzh64gxk59as2jd4vp5pax9g"
+   "commit": "178cb58a3a52d22168f641a5436addf0904d5c45",
+   "sha256": "16mn9g5gxv6g3dcphiyxpwhkn042zkhi6w8941r7f0mc238msnp3"
   },
   "stable": {
    "version": [
     0,
     9,
-    8
+    9
    ],
-   "commit": "2bb1076778468d90a132c04f7b8455fb887b6bfe",
-   "sha256": "0izv1xvsakkdh0bxf4j9a2qzzrrrkzh64gxk59as2jd4vp5pax9g"
+   "commit": "178cb58a3a52d22168f641a5436addf0904d5c45",
+   "sha256": "16mn9g5gxv6g3dcphiyxpwhkn042zkhi6w8941r7f0mc238msnp3"
   }
  },
  {
@@ -23825,9 +23865,9 @@
  },
  {
   "ename": "dired-launch",
-  "commit": "31c9a4945d65aa6afc371c447a572284d38d4d71",
-  "sha256": "0vhf0iai60mp8sp7snishz6nrw0bcriq4cx64f41lk1adjb2mqaw",
-  "fetcher": "github",
+  "commit": "0a09380535730a10340d078749c8ae45407dab14",
+  "sha256": "14f50b0sv0r1jas8rvgs0sa3k55w34hz8glrm6lcmmb19r7ph8xw",
+  "fetcher": "codeberg",
   "repo": "thomp/dired-launch",
   "unstable": {
    "version": [
@@ -24289,14 +24329,14 @@
   "repo": "Boruch-Baum/emacs-diredc",
   "unstable": {
    "version": [
-    20240131,
-    1429
+    20240219,
+    2237
    ],
    "deps": [
     "key-assist"
    ],
-   "commit": "4090d4cef9d54384706cf52e3ad29921ddef0e0c",
-   "sha256": "0n8j7vpryxyc8172zaqmsgzc51yhmhsp92y1161dxkn9d0rg6p6n"
+   "commit": "91cdc351e1cf6680b838980121802b682ee2210d",
+   "sha256": "0bqirfvjvi37ysjyvpgnpwjw6pfpxbz9h0jxrhc1dd6cqdh40dr6"
   },
   "stable": {
    "version": [
@@ -25373,19 +25413,19 @@
   "repo": "spotify/dockerfile-mode",
   "unstable": {
    "version": [
-    20220822,
-    2021
+    20240223,
+    1357
    ],
-   "commit": "52c6c00da1d31c0b6c29c74335b3af63ed6bf06c",
-   "sha256": "0yj80bcrpckdbhfl64r78q0hmk4hd3ry42lx70ky4h8h7f7l1gra"
+   "commit": "35178a080fb3b61051437570f51fa0cdf2b7772b",
+   "sha256": "0lz6lfyab2f9nw0fwkvvn7zx361c3wm0aar9v2vhb437c0mxzndh"
   },
   "stable": {
    "version": [
     1,
-    8
+    9
    ],
-   "commit": "73a8bcc25547b874e1983a75901f6c31708cd104",
-   "sha256": "0bv19mii4h47jllps72h69nwrlbfvwxgca1cl4cdxvpx0zkr6qx7"
+   "commit": "35178a080fb3b61051437570f51fa0cdf2b7772b",
+   "sha256": "0lz6lfyab2f9nw0fwkvvn7zx361c3wm0aar9v2vhb437c0mxzndh"
   }
  },
  {
@@ -25490,6 +25530,21 @@
   }
  },
  {
+  "ename": "doctest",
+  "commit": "c318865c6e7c90689bc0e064087a75893cda6317",
+  "sha256": "0ywqwhs919xhdqhizipkqj9hlnzchl61dlda7f0hi6d76wygz20s",
+  "fetcher": "github",
+  "repo": "ag91/doctest",
+  "unstable": {
+   "version": [
+    20240212,
+    1801
+   ],
+   "commit": "0a621020e671ccf75de1582b78da5a6ff31e0d69",
+   "sha256": "1yg2hs08kgrz4kyp5z04ldlzhpy0lqsqmx2r4if6qcxyqvm89wva"
+  }
+ },
+ {
   "ename": "dogears",
   "commit": "570bde6b4b89eb74eaf47dda64004cd575f9d953",
   "sha256": "05hwjh2gy6j8dsv2didy86xfqbg10jrr6lhj3dqamjnm0ywkvs2d",
@@ -25615,16 +25670,16 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20240112,
-    1056
+    20240221,
+    817
    ],
    "deps": [
     "compat",
     "nerd-icons",
     "shrink-path"
    ],
-   "commit": "bf880ae56f3f6aab7bd334de9bd9b455c63a24c0",
-   "sha256": "0l7yyn8yxyxbsjbs52bp9wh66wdj828scb1gjbi6pk1hrx5x8g9v"
+   "commit": "f67f627574e02b4a474b2dc5e8a68dbdf6cfd913",
+   "sha256": "13rdgb4j62d4aszwdklym17dxghvqabbdg2dv5vzf957nn0kwhkx"
   },
   "stable": {
    "version": [
@@ -26196,10 +26251,10 @@
  },
  {
   "ename": "dtk",
-  "commit": "39333468fb6e9493deb86511f0032610a412ec8a",
-  "sha256": "005x3j5q8dhphhh4c48l6qx7qi3jz9k02m86ww1bzwfzji55p9sp",
-  "fetcher": "github",
-  "repo": "dtk01/dtk",
+  "commit": "aecc838106590b89dbf3136e7a2b076a82ba9e4b",
+  "sha256": "14l885xghasxb6z40s26jih6dks757na0c031i79p7q0vgwwd8iv",
+  "fetcher": "codeberg",
+  "repo": "thomp/dtk",
   "unstable": {
    "version": [
     20230924,
@@ -26238,19 +26293,19 @@
   "repo": "jscheid/dtrt-indent",
   "unstable": {
    "version": [
-    20240106,
-    1216
+    20240211,
+    1111
    ],
-   "commit": "0230ec503283b895bd3df6c1e30b35a01aa0b9af",
-   "sha256": "01jrnzbqgj8pimvrb8335vjly04r0bx67gvq7dvprnf72n49r4i7"
+   "commit": "5d1b44f9a1a484ca229cc14f8062609a10ef4891",
+   "sha256": "1k8d4a7hq21ahiad0mlpyi637r0b2mzjpxhz09c69h1nk38nkzjn"
   },
   "stable": {
    "version": [
     1,
-    16
+    17
    ],
-   "commit": "0230ec503283b895bd3df6c1e30b35a01aa0b9af",
-   "sha256": "01jrnzbqgj8pimvrb8335vjly04r0bx67gvq7dvprnf72n49r4i7"
+   "commit": "e45fa760eecf74edfa9e8419f9f9773d8a7abadd",
+   "sha256": "0mjdqzl5mbasix8awav2qp9367waycmbcjy07s53nhv2xpqam9la"
   }
  },
  {
@@ -26378,11 +26433,11 @@
   "stable": {
    "version": [
     3,
-    13,
+    14,
     0
    ],
-   "commit": "21f904250f8bc27abbeafadf70682aceb198b1e3",
-   "sha256": "109rbwhmndrq95z144nl8hfzad2sf7xawwikx27xnxrdg5vp1gsp"
+   "commit": "73250f00372d3f28a25963ded6138728f4202663",
+   "sha256": "1c97838q4lfp26z12qwhp2js036cb5l5q8yr76a8msisx22cnncz"
   }
  },
  {
@@ -26983,20 +27038,20 @@
   "repo": "emacs-eask/eask",
   "unstable": {
    "version": [
-    20240128,
-    1012
+    20240223,
+    921
    ],
-   "commit": "3f8d4b668c4568d65f40c4f8bbb20c3b8dbfaa05",
-   "sha256": "0fld9qiyhhi8z50zjfn7afp92v6klwvk33fycfhnrdjhbkjjihp6"
+   "commit": "6c672569c6d6e9ad6387b3cef14beca6ba45ae85",
+   "sha256": "0h11iw1b16vd87hg2a6jlrqg3gmxad14mi5vkwc3vc9n4wzrivpv"
   },
   "stable": {
    "version": [
     0,
     9,
-    4
+    5
    ],
-   "commit": "3f8d4b668c4568d65f40c4f8bbb20c3b8dbfaa05",
-   "sha256": "0fld9qiyhhi8z50zjfn7afp92v6klwvk33fycfhnrdjhbkjjihp6"
+   "commit": "a0361201d5d0c4552b3075cec8ffaf11a867054d",
+   "sha256": "1irwqampchd2n70pnlhamnjnlaaj4qiqhwnmvhjgk5bi51bp8kb9"
   }
  },
  {
@@ -27034,8 +27089,8 @@
   "repo": "emacs-eask/easky",
   "unstable": {
    "version": [
-    20240101,
-    818
+    20240223,
+    743
    ],
    "deps": [
     "ansi",
@@ -27044,8 +27099,8 @@
     "lv",
     "marquee-header"
    ],
-   "commit": "b44f6c87cc73138aa0692e69f138a0e7a684903b",
-   "sha256": "0h9d9ry6wsm0icr5777haynz8dxc2qqrwb95gdvdmg56nrw21mvz"
+   "commit": "f6ee724eef0a289e84a6b00a1b973e92acef4a4b",
+   "sha256": "0vbi892qp82s02cqb2bjfcrr5i4570mxwi2gikg5csg2pnq7gfsg"
   },
   "stable": {
    "version": [
@@ -27314,28 +27369,63 @@
   "repo": "joostkremers/ebib",
   "unstable": {
    "version": [
-    20240111,
-    1538
+    20240205,
+    1511
    ],
    "deps": [
     "compat",
     "parsebib"
    ],
-   "commit": "996ca97ac5f29c066cff5da60717eaded8e513fa",
-   "sha256": "1x5nia67vr49l203455zgdgk0dng5fmhdfvgklq456r1qs021qsw"
+   "commit": "2c5a2c42708302c40d19c36b35422df9e8fc6c73",
+   "sha256": "0b60k4yqmnim9hx25dhyvn6g646mq10pym8k6h176jr06br8kc2y"
   },
   "stable": {
    "version": [
     2,
     40,
-    3
+    4
    ],
    "deps": [
     "compat",
     "parsebib"
    ],
-   "commit": "e6a88d62e5386ef056bd4fca4a95afe9e5ba6fe3",
-   "sha256": "07pyb76impqpczx6hl6amfs4hfnszfwydp27az46dkqc17hy0fgy"
+   "commit": "2c5a2c42708302c40d19c36b35422df9e8fc6c73",
+   "sha256": "0b60k4yqmnim9hx25dhyvn6g646mq10pym8k6h176jr06br8kc2y"
+  }
+ },
+ {
+  "ename": "ebib-sidecar",
+  "commit": "9ec1923351be3dd7f37d168f931cc040b3697e13",
+  "sha256": "1myd0inr19x65jk52vjrb45fk9fz2640vcdnazdza43spx16ngx3",
+  "fetcher": "sourcehut",
+  "repo": "swflint/emacs-universal-sidecar",
+  "unstable": {
+   "version": [
+    20240203,
+    1945
+   ],
+   "deps": [
+    "citeproc",
+    "ebib",
+    "universal-sidecar",
+    "universal-sidecar-citeproc"
+   ],
+   "commit": "fbeaba52260f5ee7323839cbe15c4125532a9240",
+   "sha256": "13gc1m5ayzb1z1npfc3nvmw9md2nspzrrskqif71633rbgik7h5h"
+  },
+  "stable": {
+   "version": [
+    1,
+    5,
+    2
+   ],
+   "deps": [
+    "citeproc",
+    "universal-sidecar",
+    "universal-sidecar-citeproc"
+   ],
+   "commit": "9050eaea7946e613a4b9ecd9dd1462614699edb1",
+   "sha256": "169n0d4hsx9azch1w14wlmilm411hb7v0564xrcwww5w145jrs9m"
   }
  },
  {
@@ -27999,11 +28089,11 @@
   "repo": "sinic/ednc",
   "unstable": {
    "version": [
-    20240107,
-    2214
+    20240209,
+    2028
    ],
-   "commit": "d4d604f95e9b7955ee596210c2e47fccbd12a21d",
-   "sha256": "1dii711i3ga7gmqkyfvlf8k2sklkp941gyvy3d4rhp66gfiv8frc"
+   "commit": "2580ada68ecc93aa693c61f997c9cf581698242e",
+   "sha256": "0fr36z0fgz4k9mdv1297dyp2rpdxv8pzx3sklx1nayq4raavnmx3"
   },
   "stable": {
    "version": [
@@ -28304,15 +28394,15 @@
   "repo": "yveszoundi/eglot-java",
   "unstable": {
    "version": [
-    20240201,
-    451
+    20240223,
+    1709
    ],
    "deps": [
     "eglot",
     "jsonrpc"
    ],
-   "commit": "1f621b56cb566f3e5370db246da4b74ca0480a67",
-   "sha256": "1haps89hgbjpim8m2kwp49llm0n07zfh809520m6xzlg6r7czbiv"
+   "commit": "f7b1ff5132308a110aeb8fa2364868f8e9fea557",
+   "sha256": "0573l48lchrrzcgy8mj7i5rj3a7jx6sjj8ixd4jd2fjmfssq86x8"
   }
  },
  {
@@ -28350,6 +28440,40 @@
   }
  },
  {
+  "ename": "eglot-signature-eldoc-talkative",
+  "commit": "1639318f0f1730ab5b0e575256d93882d2fd063f",
+  "sha256": "03nz0xnzwf1db0b3whz7s8bykp2m9jnlssa9g4mpslaq1bwvfkry",
+  "fetcher": "codeberg",
+  "repo": "mekeor/emacs-eglot-signature-eldoc-talkative",
+  "unstable": {
+   "version": [
+    20240209,
+    2034
+   ],
+   "deps": [
+    "eglot",
+    "eldoc",
+    "jsonrpc"
+   ],
+   "commit": "b6604648a2ea5d260fa315ffbaebebbf3872343a",
+   "sha256": "1fs868ddrb0fbgrk4wqk9jc1fyg3jcr6mfzrp65ypi5vdcx9y0kl"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    6
+   ],
+   "deps": [
+    "eglot",
+    "eldoc",
+    "jsonrpc"
+   ],
+   "commit": "b6604648a2ea5d260fa315ffbaebebbf3872343a",
+   "sha256": "1fs868ddrb0fbgrk4wqk9jc1fyg3jcr6mfzrp65ypi5vdcx9y0kl"
+  }
+ },
+ {
   "ename": "eglot-tempel",
   "commit": "fb8f1eefbeed8fadfaeb287cb12fe34cfad415b9",
   "sha256": "0yv5rpd1w05ia6clp3j49ymm21z2wiss4js6h52s5bi770xi5vbn",
@@ -28535,28 +28659,28 @@
   "repo": "ahyatt/ekg",
   "unstable": {
    "version": [
-    20231127,
-    46
+    20240204,
+    2244
    ],
    "deps": [
     "llm",
     "triples"
    ],
-   "commit": "d5324b62b2fb6c5fe4d54cf23d4d054b07869124",
-   "sha256": "1bnxipr0dsxb66dnwi3w2d51y6ysz9d8nlnbg0wxiiwzd175lnhj"
+   "commit": "7d1e426daacd5d5f1e1e8c0e9f2c71e6a557219c",
+   "sha256": "04iz6dy7mnl3mdnach43j5qpfzlyd1lp9np1zjw7y878qdjypalv"
   },
   "stable": {
    "version": [
     0,
-    4,
-    3
+    5,
+    0
    ],
    "deps": [
     "llm",
     "triples"
    ],
-   "commit": "d5324b62b2fb6c5fe4d54cf23d4d054b07869124",
-   "sha256": "1bnxipr0dsxb66dnwi3w2d51y6ysz9d8nlnbg0wxiiwzd175lnhj"
+   "commit": "7d1e426daacd5d5f1e1e8c0e9f2c71e6a557219c",
+   "sha256": "04iz6dy7mnl3mdnach43j5qpfzlyd1lp9np1zjw7y878qdjypalv"
   }
  },
  {
@@ -29077,11 +29201,11 @@
   "repo": "emacs-eldev/eldev",
   "unstable": {
    "version": [
-    20240123,
-    2127
+    20240219,
+    1855
    ],
-   "commit": "fd6bbda5e54e70e298c8dca4a5eff982f5a9e987",
-   "sha256": "0mqawhq49r0j2s93lz32sr0hkg2b4b1nrw6alnbrk5i7pibw0s0q"
+   "commit": "be713ddddcaa7a569494ea5d7e43c9681a2a8aea",
+   "sha256": "1r1g8j3ph537wir3q3syl9bh96dnb7nnfikg5hvahsv6qcjkx17f"
   },
   "stable": {
    "version": [
@@ -29326,20 +29450,20 @@
   "repo": "swflint/electric-ospl-mode",
   "unstable": {
    "version": [
-    20231129,
-    1953
+    20240221,
+    2202
    ],
-   "commit": "c2b33c82156adffcbe1c81abc2f62ee4ab86b0c6",
-   "sha256": "10cpmmsfyxbymz7w0hs377bvr4i2b2gy43q6q8ig8x9xsdgbpbkj"
+   "commit": "af8a681966dcf6a51a33188f1483c2a68af94ff7",
+   "sha256": "0pp6j2anzbm3ziv6rb16h9gqiqqcym52b5lfigjr5i33v9a5xdza"
   },
   "stable": {
    "version": [
     3,
-    0,
+    1,
     0
    ],
-   "commit": "c2b33c82156adffcbe1c81abc2f62ee4ab86b0c6",
-   "sha256": "10cpmmsfyxbymz7w0hs377bvr4i2b2gy43q6q8ig8x9xsdgbpbkj"
+   "commit": "af8a681966dcf6a51a33188f1483c2a68af94ff7",
+   "sha256": "0pp6j2anzbm3ziv6rb16h9gqiqqcym52b5lfigjr5i33v9a5xdza"
   }
  },
  {
@@ -30184,30 +30308,30 @@
   "repo": "s-kostyaev/ellama",
   "unstable": {
    "version": [
-    20240204,
-    739
+    20240223,
+    2012
    ],
    "deps": [
     "dash",
     "llm",
     "spinner"
    ],
-   "commit": "81dc7414cbd637fb61c6541ce71ebb8092db9498",
-   "sha256": "1x08n2j0klsybfy86ikppgfbsslidjy8fpcqja9g7xslq39jp435"
+   "commit": "5acc209c299b9540265141b466900b0c36dc0ff4",
+   "sha256": "15xaqjcqks6w63107r8w6329876jvj5h1zbwgx9rc40z5qq9vamg"
   },
   "stable": {
    "version": [
     0,
-    7,
-    5
+    8,
+    7
    ],
    "deps": [
     "dash",
     "llm",
     "spinner"
    ],
-   "commit": "3b70a560c0f04d02bf99dab2a7252ef4b67cf1e9",
-   "sha256": "1wgpfaihyidlybnh0f26df8k23w6kmwa50p827qlk0kg548r38d2"
+   "commit": "5acc209c299b9540265141b466900b0c36dc0ff4",
+   "sha256": "15xaqjcqks6w63107r8w6329876jvj5h1zbwgx9rc40z5qq9vamg"
   }
  },
  {
@@ -30364,20 +30488,20 @@
   "repo": "sp1ff/elmpd",
   "unstable": {
    "version": [
-    20210904,
-    1340
+    20240208,
+    1457
    ],
-   "commit": "4b42a90610fdb05ac1a2811da5acd55493715795",
-   "sha256": "1nj310mnckf5mpqici67jzdydbby50la6g6vq7qdaji0c98c335b"
+   "commit": "c6c8c3fa52951c9570041fe78674f267ca8001a5",
+   "sha256": "0kh1zxvzys88f8cl7d27rhyikrykqfdcq9q1p7qw7224f8gzv7ch"
   },
   "stable": {
    "version": [
     0,
     2,
-    3
+    4
    ],
-   "commit": "4b42a90610fdb05ac1a2811da5acd55493715795",
-   "sha256": "1nj310mnckf5mpqici67jzdydbby50la6g6vq7qdaji0c98c335b"
+   "commit": "c6c8c3fa52951c9570041fe78674f267ca8001a5",
+   "sha256": "0kh1zxvzys88f8cl7d27rhyikrykqfdcq9q1p7qw7224f8gzv7ch"
   }
  },
  {
@@ -30567,20 +30691,20 @@
   "url": "https://thelambdalab.xyz/git/elpher.git",
   "unstable": {
    "version": [
-    20230505,
-    817
+    20240214,
+    952
    ],
-   "commit": "81f2883614c303184116449ec3583ef5c136ec2f",
-   "sha256": "0cxzv9nx5vshf45r7msaqnq8h7xwi4kd8pb3na3dljlrhwvgdrk6"
+   "commit": "3f53ed5b6550d25a66bc83f6f26d8cfb06b1dcce",
+   "sha256": "1qiqjkbqjv6gw4lyf697jsb081sy2r46i3q6gdssfrhsjjmb8jag"
   },
   "stable": {
    "version": [
     3,
     5,
-    0
+    1
    ],
-   "commit": "81f2883614c303184116449ec3583ef5c136ec2f",
-   "sha256": "0cxzv9nx5vshf45r7msaqnq8h7xwi4kd8pb3na3dljlrhwvgdrk6"
+   "commit": "3f53ed5b6550d25a66bc83f6f26d8cfb06b1dcce",
+   "sha256": "1qiqjkbqjv6gw4lyf697jsb081sy2r46i3q6gdssfrhsjjmb8jag"
   }
  },
  {
@@ -31314,14 +31438,14 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20240131,
-    1248
+    20240221,
+    1649
    ],
    "deps": [
     "compat"
    ],
-   "commit": "99484b04ec72b9febfb2175b075ba55e40bcbf72",
-   "sha256": "12xsh782cs1vk2h5apzv94x0y247s2ww2sx5634bf61prlbgy2d3"
+   "commit": "c93abadc8220c0caa6fea805f7a736c346d47e7e",
+   "sha256": "0pmg58anfgsp1v9dg56kbihv86k88pjicid41mzqq9jpwx4wh8x0"
   },
   "stable": {
    "version": [
@@ -31343,16 +31467,16 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20240128,
-    1843
+    20240205,
+    2122
    ],
    "deps": [
     "compat",
     "consult",
     "embark"
    ],
-   "commit": "9d6d4139bf66aa172ac96a6d0918d591455497c3",
-   "sha256": "1dcr7daanvmh0fcrnv4gds7nxfjipm93yi084hx1l2hilxdm4xfz"
+   "commit": "60139db8794f7e4a08076d9f7597d08f6c8083d1",
+   "sha256": "0ndf59zxi002jqlzfx64in5179xhygd86fhwrhygn8b2mdx7nq2d"
   },
   "stable": {
    "version": [
@@ -31521,16 +31645,16 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20240202,
-    2122
+    20240211,
+    2229
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "87d0d1fb0566a80229029d0d8d7c863138d70aae",
-   "sha256": "0m54hj86snq8hr20dgm01zikab59sqzdf3byz18a76fv6930q8hd"
+   "commit": "9fec86dbb768b3b5714036d08129a20664f57657",
+   "sha256": "1ig6jaw1cg9pchgi864vp812pj66pp2q9crk74b3pfgi2viqg3bz"
   },
   "stable": {
    "version": [
@@ -31899,15 +32023,15 @@
   "repo": "isamert/empv.el",
   "unstable": {
    "version": [
-    20240203,
-    2126
+    20240210,
+    2233
    ],
    "deps": [
     "compat",
     "s"
    ],
-   "commit": "a0e362e5ba0be6c7cf96076d61a192cced7bdcc0",
-   "sha256": "196bbpxxrni0jlrskyyp8vhg41xsjnq6rbclxrp36hh11v0pxb07"
+   "commit": "6cca36835f150754a5590227d956fc245f10eb5d",
+   "sha256": "1wypvqs135dfb12mc954k53rvq48ljcc1l01fzkq7rwk543i182p"
   },
   "stable": {
    "version": [
@@ -32347,8 +32471,8 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20240116,
-    1941
+    20240212,
+    1731
    ],
    "deps": [
     "closql",
@@ -32356,8 +32480,8 @@
     "emacsql",
     "llama"
    ],
-   "commit": "7f7137e96dd91786e0cf5c8ecb674aeaaf22a49d",
-   "sha256": "02mc0sc8i4dqshblbnwws2a0l7bxcswlc21jyfv23gk0pm2wgbxw"
+   "commit": "4a245349047f48507fc28f7077061bca3dfcedea",
+   "sha256": "1sk0vnb1prlqb6qpg8w59liqnj9hn2mpcw1mb58jvfc5xb2f19vw"
   },
   "stable": {
    "version": [
@@ -33004,11 +33128,11 @@
   "repo": "agda/agda",
   "unstable": {
    "version": [
-    20200914,
-    644
+    20240220,
+    2129
    ],
-   "commit": "aa5e3a127bf17a8c80d947f3c286758a36dadc36",
-   "sha256": "0nwriahnkyg1p0xn50c4h2bxg9idm6d9n8mfl7ddzm98j8gv1vwi"
+   "commit": "d4ac6d038e25bb8d4912da7a4c5df91a856e1c9c",
+   "sha256": "0sfd2y2h606m5800a978sm2ram4sx1cbx2ng1d2hf37qqa950j85"
   },
   "stable": {
    "version": [
@@ -33063,20 +33187,21 @@
   "repo": "erlang/otp",
   "unstable": {
    "version": [
-    20231110,
-    1018
+    20240214,
+    900
    ],
-   "commit": "bd55bb110c2ae8e51e14f4a26c9116e1db3b3cc3",
-   "sha256": "0md6bd463lz806463g9wch3xmmdqaddbbya2mnxx88ncfijx86n3"
+   "commit": "b74bd21d5cb52e0fdc5ea321439c428783feea23",
+   "sha256": "1vjgmda8m2c2shdyk7dy4bspykrbsgvcs5s98fzxsqwf99l2xh20"
   },
   "stable": {
    "version": [
-    26,
-    2,
+    27,
+    0,
+    -1,
     1
    ],
-   "commit": "ca8b893f9d5bdd0957b78514ba523032e762c644",
-   "sha256": "0b0gaalybrni5v3bcm2q0iybicspxyzqnifncyjpskx26xhki971"
+   "commit": "b74bd21d5cb52e0fdc5ea321439c428783feea23",
+   "sha256": "1vjgmda8m2c2shdyk7dy4bspykrbsgvcs5s98fzxsqwf99l2xh20"
   }
  },
  {
@@ -33743,11 +33868,11 @@
   "repo": "peterwvj/eshell-up",
   "unstable": {
    "version": [
-    20170425,
-    1737
+    20240217,
+    2020
    ],
-   "commit": "b00e447ad7941ab31bcbb6bc0205fd492e887e7d",
-   "sha256": "1802887ad7y6m40azfvzz6aapdzkp655jpiryimqd11kwbsinmvv"
+   "commit": "160e48a7e0047a2947923d1fc43a9727e51fb25f",
+   "sha256": "0xbcskq2ykwz0hpfjbgzh3gpjldx9y2jxwwdaibhv4j0cf9fyiyq"
   },
   "stable": {
    "version": [
@@ -34061,19 +34186,19 @@
   "unstable": {
    "version": [
     20240131,
-    1037
+    1041
    ],
-   "commit": "d8472e00da8fde3224d4512641093b526601af39",
-   "sha256": "094pwdzklzqk9gvf7z9phaxbwvw8hpghk2q05zrdyxjr4rmvq9bc"
+   "commit": "ab2faeca1ba6c456333312c58f58ef9e5ef4aa8b",
+   "sha256": "0jfdfqpa3x1zm65cllkzhqir057xd3hxi4z2ddii1i26zy56iikf"
   },
   "stable": {
    "version": [
     24,
     1,
-    0
+    1
    ],
-   "commit": "0ef7e6878f47d2492a371be5947e895c4b3dfeb8",
-   "sha256": "10j315plrpl4yax2srv9r2l7kdr0qqz8h3g2n4s7c1rhpzpfgyh2"
+   "commit": "ab2faeca1ba6c456333312c58f58ef9e5ef4aa8b",
+   "sha256": "0jfdfqpa3x1zm65cllkzhqir057xd3hxi4z2ddii1i26zy56iikf"
   }
  },
  {
@@ -34699,15 +34824,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20240128,
-    957
+    20240222,
+    652
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "5995f6f21f662484440ed67a28ce59e365feb9ad",
-   "sha256": "0fzcxddxn19bjca3lszbgssdi17lj5nvynxnmrh8ckrcnf86kivf"
+   "commit": "a7ffa73bbdc523c0e473d79c0ded7c6457bcb65c",
+   "sha256": "16npmdas70myr0nhy9fn7rl7nz2gcyqwnhbcky27a75j22vvfj9h"
   },
   "stable": {
    "version": [
@@ -34762,14 +34887,14 @@
   "repo": "wcsmith/evil-args",
   "unstable": {
    "version": [
-    20220125,
-    1626
+    20240210,
+    504
    ],
    "deps": [
     "evil"
    ],
-   "commit": "2671071a4a57eaee7cc8c27b9e4b6fc60fd2ccd3",
-   "sha256": "13avgl0whfp1xdsmp0j7qr5p2nh59swb2lyfpr7fz6bkgifrn212"
+   "commit": "a8151556f63c9d45d0c44c8a7ef9e5a542f3cdc7",
+   "sha256": "05xxgchkybbixxq2k1wdg5b4f636cc5nna83gfqvbflnza7fl5h7"
   },
   "stable": {
    "version": [
@@ -34900,15 +35025,15 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20240118,
-    856
+    20240223,
+    1627
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "8c84f9bc89fe56e71b56519f886085ddcbc671cf",
-   "sha256": "1m1lqldbp8xs8b5n6kz181w0lbdbgp1lllnfmw65y346xx0ycm7x"
+   "commit": "54e1eb02d918fb38b4e71c87ea9a8fe8f499dc5f",
+   "sha256": "18v3bnz7k5b2gnyp36dmmdxpmr7d1pnim31wpz91rmj5hs58qn8x"
   },
   "stable": {
    "version": [
@@ -35448,20 +35573,20 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20231011,
-    1119
+    20240216,
+    1304
    ],
-   "commit": "fe4cc5243a23ba7aa283803b200993f23b5dafef",
-   "sha256": "0zjlnl40yx1n5d275m5kd46hx758g301akr2jbnbrrifv18p3j7h"
+   "commit": "1c4fefa9bb11cc4b1d7f10614d2021c12ed12e89",
+   "sha256": "1m5y5n38w0ijzx2kl9d0nnw70ykx2prmnvv4ip9siad71k7wpwjg"
   },
   "stable": {
    "version": [
     3,
     0,
-    2
+    4
    ],
-   "commit": "f27b2a87bab75e3b8a87c277049a4363cdfcbf61",
-   "sha256": "0igz4kcfb01f9h49n5x9p1idzap54nkw62i1xrql1zlj54s8rv6b"
+   "commit": "1c4fefa9bb11cc4b1d7f10614d2021c12ed12e89",
+   "sha256": "1m5y5n38w0ijzx2kl9d0nnw70ykx2prmnvv4ip9siad71k7wpwjg"
   }
  },
  {
@@ -36401,11 +36526,11 @@
   "repo": "meain/evil-textobj-tree-sitter",
   "unstable": {
    "version": [
-    20231222,
-    1559
+    20240213,
+    522
    ],
-   "commit": "220ceae065852ef4f717fa41efd1ab51ca2346d3",
-   "sha256": "0a7wg9gzgisi4hzxm3yxclzgwiqw9vd7bc9f5nz1ry2xdk0hbna4"
+   "commit": "856773515072bdce88c8420f44bc84fbcbf96af4",
+   "sha256": "10shjlp6dihhnriw8mg7mkwb2b5xnagkikzq5nknf9xpn7pjp3rr"
   }
  },
  {
@@ -36504,27 +36629,27 @@
   "repo": "clsty/evil-tutor-sc",
   "unstable": {
    "version": [
-    20230705,
-    656
+    20240215,
+    5
    ],
    "deps": [
     "evil",
     "evil-tutor"
    ],
-   "commit": "1a1bc93eeb432159591b6dbe6684068311c89a46",
-   "sha256": "1l0lcxjf5fn3r9xwcjnql95fbqx23a4d6a3wnyrw3jzm3hiyckgk"
+   "commit": "9ae3cff4b1d44d74989e832cfa566c20bbe6bb1a",
+   "sha256": "1dqb1g6q8szknajr4rb9l2nra507k1qfmiwwx1mdhbvvfp3c6qjz"
   },
   "stable": {
    "version": [
     2,
-    1
+    2
    ],
    "deps": [
     "evil",
     "evil-tutor"
    ],
-   "commit": "9a4a58d4d98c1118383df6ebd352413b95c68457",
-   "sha256": "1b0pv11793kmrcbb3gj52qnsrcak2dxwxfkqpj3sjss8zpd68bdj"
+   "commit": "9ae3cff4b1d44d74989e832cfa566c20bbe6bb1a",
+   "sha256": "1dqb1g6q8szknajr4rb9l2nra507k1qfmiwwx1mdhbvvfp3c6qjz"
   }
  },
  {
@@ -36888,14 +37013,14 @@
   "repo": "purcell/exec-path-from-shell",
   "unstable": {
    "version": [
-    20230804,
-    645
+    20240216,
+    1606
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "03fc0a38af9e396c98f5a30c392cf757b3a34feb",
-   "sha256": "1wmr1z603wmcv8hxzxn84qxzdwmzmdm8x6f3n0x7klviq4jw6v2x"
+   "commit": "d95677ad608c214647b87bc20df1642763e3b400",
+   "sha256": "1r32id7fkqhvr6whfx71v4svf70bav5k8b6dlp77gv6p1zyckm22"
   },
   "stable": {
    "version": [
@@ -37237,11 +37362,11 @@
   "repo": "agzam/exwm-edit",
   "unstable": {
    "version": [
-    20220414,
-    106
+    20240221,
+    124
    ],
-   "commit": "b5b7e950f57e30befd68d51df34540b70e6ac28f",
-   "sha256": "11yjvry950xiq91rzbx9jsa8hx3lnabhkqzgiqlcgx36q6diw6fh"
+   "commit": "19ce910a9183aac78365d674cbeb630464ff1836",
+   "sha256": "06p17hbbv3dk0rsd3yw9f7bqnsar4qphppc9vm870qzmy51np47p"
   }
  },
  {
@@ -38134,14 +38259,25 @@
   "repo": "martianh/fedi.el",
   "unstable": {
    "version": [
-    20231230,
-    1108
+    20240220,
+    1434
+   ],
+   "deps": [
+    "markdown-mode"
+   ],
+   "commit": "ffcb84bb132a72c9d787b4f6d8481d27da623d41",
+   "sha256": "0a5zq7axxh3khx6465s7ym9s7v2iw7ky9z486d0zg41k7926bm9d"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "4d776332d6425a917cb437fc17831fa834c881d2",
-   "sha256": "1bqaapxhp1517sp0x07d0mlzq3zg721fppa6q09zz8hjsjjx5p0c"
+   "commit": "ffcb84bb132a72c9d787b4f6d8481d27da623d41",
+   "sha256": "0a5zq7axxh3khx6465s7ym9s7v2iw7ky9z486d0zg41k7926bm9d"
   }
  },
  {
@@ -38220,11 +38356,11 @@
   "repo": "technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20231022,
-    1926
+    20240217,
+    1848
    ],
-   "commit": "5965c8fc693a49e65237a087e693690cf8c9fcb3",
-   "sha256": "1qxrhrnnxjmw6a1q0v12h2ix5l3d5rp2knf4ppg808mx8b8dcm5w"
+   "commit": "0997a3853e56bfcd29167687f8ababcf8fd89c36",
+   "sha256": "0l5a7xgrdcrflv33f4l8sszjn0qnhmnljad5r7iwgsymz7jvav8d"
   }
  },
  {
@@ -38456,11 +38592,11 @@
   "repo": "davidshepherd7/fill-function-arguments",
   "unstable": {
    "version": [
-    20210617,
-    1538
+    20240213,
+    2249
    ],
-   "commit": "60a5a3c3004cffa111202b42217d604f63d72e70",
-   "sha256": "0z2a1h3lrkywlgccd66gi076bj1l52szp2bl337hrvdrla2hb3lx"
+   "commit": "9def8ced5241b10067ae85c89ae34359c2e4847a",
+   "sha256": "16iikjpi8r2gx6hd25nc50ajjqkn9jaavpxry3ma2i57jm59dr5w"
   },
   "stable": {
    "version": [
@@ -38751,8 +38887,8 @@
   "repo": "LaurenceWarne/finito.el",
   "unstable": {
    "version": [
-    20231209,
-    1912
+    20240219,
+    2059
    ],
    "deps": [
     "async",
@@ -38763,8 +38899,8 @@
     "s",
     "transient"
    ],
-   "commit": "15e5870843751bd3d7bb5e2bcafe4cb2d859706e",
-   "sha256": "1chz9sa1x0rcrpnl998xzij1ac5ryllka9jn8w8bmslk1axdf5cg"
+   "commit": "b4f1c776e3a6cda2f51dd71e55f72de6fd3c1dcf",
+   "sha256": "1qrr86xdf9dh7nwlsri5s2i27ynrwj2b3pqcyab3g49qdd2gwnx6"
   },
   "stable": {
    "version": [
@@ -39589,14 +39725,14 @@
   "repo": "lewang/flx",
   "unstable": {
    "version": [
-    20221213,
-    542
+    20240205,
+    356
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7b44a5abb254bbfbeca7a29336f7f4ebd8aabbf2",
-   "sha256": "18vzjsscm9hsxxnacqfaskwayxhlg258rj8m7m8kim12nndgkzcy"
+   "commit": "4b1346eb9a8a76ee9c9dede69738c63ad97ac5b6",
+   "sha256": "0q49p1y3kpx140h0f97kfw4kfx8mlzzxbninbarvygmlg2fkfi1n"
   },
   "stable": {
    "version": [
@@ -39619,15 +39755,15 @@
   "repo": "lewang/flx",
   "unstable": {
    "version": [
-    20221213,
-    542
+    20240205,
+    356
    ],
    "deps": [
     "cl-lib",
     "flx"
    ],
-   "commit": "7b44a5abb254bbfbeca7a29336f7f4ebd8aabbf2",
-   "sha256": "18vzjsscm9hsxxnacqfaskwayxhlg258rj8m7m8kim12nndgkzcy"
+   "commit": "4b1346eb9a8a76ee9c9dede69738c63ad97ac5b6",
+   "sha256": "0q49p1y3kpx140h0f97kfw4kfx8mlzzxbninbarvygmlg2fkfi1n"
   },
   "stable": {
    "version": [
@@ -39670,30 +39806,19 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20240202,
-    1356
-   ],
-   "deps": [
-    "dash",
-    "let-alist",
-    "pkg-info",
-    "seq"
+    20240224,
+    703
    ],
-   "commit": "23df1af6b51fc44ec41973d4da32f2b5a8dac38a",
-   "sha256": "0wqww59x3xjrjdzg9qf84fkw264503f6fbkp1s0cz3x20v9d6xf8"
+   "commit": "ed010752df6ca0092107aeb22ff110306462102b",
+   "sha256": "09bncjxppn1snciznxm1g11anv40a031rg20ppqms0cxkwjn5acd"
   },
   "stable": {
    "version": [
-    32
-   ],
-   "deps": [
-    "dash",
-    "let-alist",
-    "pkg-info",
-    "seq"
+    34,
+    1
    ],
-   "commit": "3b5b4248074f016922c2674789d4a242528cf4c7",
-   "sha256": "0dx6wqxz1yfp4shas4yn6abqc8bz21ks3glcyzznm3xspjdaq21s"
+   "commit": "5a9ff918f91e230ae08a6bdce7ec1f107864a5e2",
+   "sha256": "1rhsrbbg3y50qc4drbdgwa1z0hw7w84blgr0xl6zi9mqnjnak495"
   }
  },
  {
@@ -39867,15 +39992,15 @@
   "repo": "flycheck/flycheck-cask",
   "unstable": {
    "version": [
-    20200926,
-    1502
+    20240205,
+    1721
    ],
    "deps": [
     "dash",
     "flycheck"
    ],
-   "commit": "4b2ede6362ded4a45678dfbef1876faa42edbd58",
-   "sha256": "0fzcknz2gicpx5rqf8qdxiy1g2kppy2qzsgszxm28mbahf0913bb"
+   "commit": "0eeec5197e9d31bfcfc39380b262d65259a87d91",
+   "sha256": "0f7h1i2a0jk31fdlcg1c9k4bl65jfzjywyznn7yj59pdq6pyrxix"
   },
   "stable": {
    "version": [
@@ -40054,14 +40179,14 @@
   "repo": "borkdude/flycheck-clj-kondo",
   "unstable": {
    "version": [
-    20240203,
-    1224
+    20240218,
+    2215
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "9089ade9e01b091139321c78ad75946944ff845d",
-   "sha256": "0xmddrmdwk8fxgfays8gpf0wg3f6cvqk77axm1jqyiki4zmd35hl"
+   "commit": "e38c67ba9db1ea1cbe1b61ab39b506c05efdcdbf",
+   "sha256": "1pxlb8axgmc8cw4id40z576kd041qb1irq8rkjn6xbda585ix58f"
   },
   "stable": {
    "version": [
@@ -40477,14 +40602,14 @@
   "repo": "flycheck/flycheck-eask",
   "unstable": {
    "version": [
-    20240101,
-    833
+    20240223,
+    1023
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "1871b7ee94342f7673abef65337b8741f37c01e2",
-   "sha256": "1n2rzr8qnqcsqszwy9lx0y8sv7d412g3kxwgwqkjw5ha38zcprcg"
+   "commit": "c1c82b359bb94cbca29f2f0fb29b7f5132691d04",
+   "sha256": "05p04454sd3phd4w7i7rjdz861akd8ml55pjhxsnwpacgw05w8zn"
   },
   "stable": {
    "version": [
@@ -40501,21 +40626,21 @@
  },
  {
   "ename": "flycheck-eglot",
-  "commit": "ead6dfff6183385b6792bae4637bcaec76d87428",
-  "sha256": "0awm312r8my2fy7b2zchhfsf12mv7ad24d4wx85f9p5dalgi2340",
+  "commit": "0a9e5719881a28fdcb7dd0fda4e9d124ff0da912",
+  "sha256": "1inyc5mi6ym5gfrq4qk8j72z9mdbwybd7q0242zk7fcn7i2j6571",
   "fetcher": "github",
-  "repo": "intramurz/flycheck-eglot",
+  "repo": "flycheck/flycheck-eglot",
   "unstable": {
    "version": [
-    20230630,
-    1803
+    20240214,
+    1937
    ],
    "deps": [
     "eglot",
     "flycheck"
    ],
-   "commit": "9ff8d0068be59b1450964b390349d75a68af21ed",
-   "sha256": "1ab4vp8qyhmg0ckr2h0bw1nm3lwh8zwckgjvzmr3lwcv6drcq67h"
+   "commit": "a38101634c55ef6cfcfc74b4fd9a50b541b42457",
+   "sha256": "0r4h4c0pzfgp22iscgszvzv1sf3b286wrgmds0ijlha4r99ln88s"
   }
  },
  {
@@ -42062,8 +42187,8 @@
   "repo": "flycheck/flycheck-rust",
   "unstable": {
    "version": [
-    20190319,
-    1546
+    20240205,
+    1018
    ],
    "deps": [
     "dash",
@@ -42071,8 +42196,8 @@
     "let-alist",
     "seq"
    ],
-   "commit": "a139cd53c5062697e9ed94ad80b803c37d999600",
-   "sha256": "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"
+   "commit": "4d365ed1c9e8b8ac43561eb365d37ab555a6e617",
+   "sha256": "0qdbmy7g8pmaml7sdi9bfpadlb69cyavicwi0w3zb9fbhwqjzbpv"
   },
   "stable": {
    "version": [
@@ -42715,14 +42840,14 @@
   "repo": "flymake/flymake-eask",
   "unstable": {
    "version": [
-    20240101,
-    837
+    20240223,
+    1022
    ],
    "deps": [
     "flymake-easy"
    ],
-   "commit": "3962a059f3437bee73faa11d997fdb92d180eee7",
-   "sha256": "0c9a9ahrp6yz0bjcw9zzvlrjx44iih3pcbm79lags2pcxrb0824n"
+   "commit": "0e83cec77aab54365ef8d604151888bb1f61049c",
+   "sha256": "08939vsg1mqs3syngr70vakabrvrjbbna7im6b1gjal8qjz22cxn"
   },
   "stable": {
    "version": [
@@ -44619,8 +44744,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20240203,
-    2128
+    20240219,
+    1113
    ],
    "deps": [
     "closql",
@@ -44635,8 +44760,8 @@
     "transient",
     "yaml"
    ],
-   "commit": "298e9f6e7afda28b2e5e47d4c4e200f707fa2eec",
-   "sha256": "13b2bhlxpcw9bjp9zg6c8vlbwmxi3qvijg5mfbb09dmqr9iz72jq"
+   "commit": "4ec54211b2cb695ad8eb5b395bbc9b522f600797",
+   "sha256": "1yjbz8d2jq90yn2scgiwad3ycz3jcyprnxgz59rp0j11a26d08rv"
   },
   "stable": {
    "version": [
@@ -44706,28 +44831,28 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20231107,
-    1932
+    20240205,
+    2153
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "6adf79ec74d52862e9afb910303bfa04ac9db604",
-   "sha256": "1x65gycrfw5m2ak7fdnqk0ysv4s65z64a0dc1nda7l5qfy425pll"
+   "commit": "1f4a69811b4b6a00c74fa2566ef731b17b9a2ed1",
+   "sha256": "1p8bh96yksbpajx2pqxjc4vf7nfncwc3mvh1fcj8afw53g72is8m"
   },
   "stable": {
    "version": [
     0,
-    5,
+    6,
     0
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "b18ed67a81b4d81d77f3bd7cf6e004e4e412b630",
-   "sha256": "1qy4qdvxsagzp8pav2jx29bz37xiwvm5lbwyfp8jlg59715z4cxq"
+   "commit": "1f4a69811b4b6a00c74fa2566ef731b17b9a2ed1",
+   "sha256": "1p8bh96yksbpajx2pqxjc4vf7nfncwc3mvh1fcj8afw53g72is8m"
   }
  },
  {
@@ -44854,14 +44979,14 @@
   "repo": "rnkn/fountain-mode",
   "unstable": {
    "version": [
-    20231127,
-    1128
+    20240210,
+    1105
    ],
    "deps": [
     "seq"
    ],
-   "commit": "f3685ac7235de79cfa9a9c84acbbe8541bcf5e25",
-   "sha256": "1bj7iw2sd09dj2a6289r0rkjcy6bgyw621k1dr39dym3wlgbzjgz"
+   "commit": "68fa4e62d86e0d636f0aaccd101ba1b887597424",
+   "sha256": "0skqm9gjf0sjqx8pl2s789rpyady17zwvnda10lxzqv1cg4vn74n"
   },
   "stable": {
    "version": [
@@ -44884,11 +45009,11 @@
   "repo": "gmlarumbe/fpga",
   "unstable": {
    "version": [
-    20230913,
-    2241
+    20240211,
+    213
    ],
-   "commit": "9cf7b25ab7364f4e690e86b364cc3279cdffc25e",
-   "sha256": "04cxmh455vxfswxk8h460g7dcfr3ww1gnijxlbrkn7m0j1cysz5f"
+   "commit": "bbd663f29e796ab010a5569f1cdbd706ff0f564a",
+   "sha256": "10mxqmaq1n2691qyydyblwdzyyv5dghm9rc62awfgcjkqd02hmr8"
   },
   "stable": {
    "version": [
@@ -45007,15 +45132,15 @@
   "repo": "davidshepherd7/frames-only-mode",
   "unstable": {
    "version": [
-    20210107,
-    918
+    20240213,
+    2142
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "27a5116f36af14df39b92ee2ea1f8583f22484cf",
-   "sha256": "1gng87dfkd1zi2gnnymh44496an1wwacf7dcm525n3k00clx58if"
+   "commit": "53b17d712e363991f070d790493cd3cbf1d8a9be",
+   "sha256": "091ppnizhfvrc9clrq9bd7fcbd7hgg39b8ym3ibbhh890b7a4p56"
   },
   "stable": {
    "version": [
@@ -46183,14 +46308,14 @@
   "repo": "emacs-geiser/geiser",
   "unstable": {
    "version": [
-    20240115,
-    1854
+    20240208,
+    26
    ],
    "deps": [
     "project"
    ],
-   "commit": "0e189dfb1e531c7b2609c5865659badec7cb6f28",
-   "sha256": "1aiw8fxfna58g3zcjg4rwr6jfaifdgp9nmcgd55kfbhps9ih0qi0"
+   "commit": "4e64934bd2ae7c6f0e4acb9f2ed017844c187223",
+   "sha256": "098xbywraa8a8qcg07iy2svvsqr10s9wdk2ixwcxdh0cskfq40m4"
   },
   "stable": {
    "version": [
@@ -46552,14 +46677,14 @@
   "repo": "noctuid/general.el",
   "unstable": {
    "version": [
-    20240131,
-    1426
+    20240218,
+    1029
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "3ca7bbf1101c9c9fb372e6d0d0c026dfadb9996f",
-   "sha256": "1p2cmj3xqs82sy2hdvmrm9dspwwjx8nxn3bf1ylkgnj8j2gyj4ca"
+   "commit": "ced143c30de8e20f5a3761a465e684a1dc48471e",
+   "sha256": "0c13kax2h14b06zjs8wj950y7ykzmabfwdmb8imwmpgfcaasycf2"
   }
  },
  {
@@ -46692,16 +46817,16 @@
   "repo": "thisch/gerrit.el",
   "unstable": {
    "version": [
-    20231210,
-    2222
+    20240221,
+    2200
    ],
    "deps": [
     "dash",
     "magit",
     "s"
    ],
-   "commit": "abc40004fd2715497d964ba3d38f7a702f22c3bf",
-   "sha256": "1g84ghsj2y29qyr7wabrsrk7bdvpjrbbhnc03m5fmlzpkzdlflhx"
+   "commit": "f327a5c4ec9f508e7caac622438168ff3bc29fd7",
+   "sha256": "0pj8g15firy6pqm7plry63i79xp0l9n3c6bx17sln0dv4dyj8z8x"
   }
  },
  {
@@ -47000,16 +47125,16 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20240101,
-    2217
+    20240218,
+    2101
    ],
    "deps": [
     "compat",
     "let-alist",
     "treepy"
    ],
-   "commit": "ba56fe223fbabab89fee577a1d3b0704d7c4a0df",
-   "sha256": "0v31jzgq53rcxj2yr0ag7pm27797l2c1rnngfb8i0w7h857iwld9"
+   "commit": "c59de91717c2343ccba3adb9047d846edc35bc36",
+   "sha256": "02cs2min8kg1rnmjm2kvn2xvbmr7dsl0jgsxknqikc44d73a0ipy"
   },
   "stable": {
    "version": [
@@ -47335,26 +47460,26 @@
   "repo": "liuyinz/git-cliff.el",
   "unstable": {
    "version": [
-    20240107,
-    2156
+    20240220,
+    1913
    ],
    "deps": [
     "transient"
    ],
-   "commit": "1949b536a259b8da8722b5fd064b89fb163f976b",
-   "sha256": "1x56c9lzz6hrmgbfzqsfrdh2xr6yqdzdnw8f4afxyp2ifbnfv99q"
+   "commit": "0bc7b66d78058f5d41e9adb891d6fb29085153ee",
+   "sha256": "1szbfxy3lc1y8ax3gbxs5spkdjshrpq537yaxd85n9mrv19s3xv0"
   },
   "stable": {
    "version": [
     0,
-    4,
-    5
+    5,
+    0
    ],
    "deps": [
     "transient"
    ],
-   "commit": "a5ec76d0c52c08ec134190578686b5685589c8e4",
-   "sha256": "0h3v4zmmnc0dksyxzjg1y621w98qv6zm4rmg9k43rhsxlv1n6qp3"
+   "commit": "0bc7b66d78058f5d41e9adb891d6fb29085153ee",
+   "sha256": "1szbfxy3lc1y8ax3gbxs5spkdjshrpq537yaxd85n9mrv19s3xv0"
   }
  },
  {
@@ -47398,16 +47523,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20240123,
-    1358
+    20240221,
+    1445
    ],
    "deps": [
     "compat",
     "transient",
     "with-editor"
    ],
-   "commit": "fc61ce236d5f8fedff9f469fdb25b4d5d49694e8",
-   "sha256": "18hn9akj0gm2wq2ba7cf3vlvsragsq1flbwdhmb1h61da66khn0p"
+   "commit": "09961f67a403c53b62669f40a088d5720dc77270",
+   "sha256": "0sw5lwk04yi0840yqyga7v82mjkqvflwi3pgsq02mrdbc5w4wx1m"
   },
   "stable": {
    "version": [
@@ -47832,14 +47957,14 @@
   "repo": "pidu/git-timemachine",
   "unstable": {
    "version": [
-    20230630,
-    1214
+    20240219,
+    2108
    ],
    "deps": [
     "transient"
    ],
-   "commit": "ac933e5cd29583c131401f3bd991d98129c316df",
-   "sha256": "152vq34dn76m21ab97wwm31hgp2wl9y437vwmd4kcd5pvwjhx9c6"
+   "commit": "69474bfc653bb076f94d97d22903e2299a3d8a8b",
+   "sha256": "02grsmgslvbm67g85iv2xq9jq3wj9xi16gn0dqrgrc96hh63mpjh"
   },
   "stable": {
    "version": [
@@ -48756,11 +48881,11 @@
   "repo": "matsievskiysv/gmsh-mode",
   "unstable": {
    "version": [
-    20211204,
-    826
+    20240223,
+    558
    ],
-   "commit": "2b7c573f378f7e9210400115d4d9dfd879f8a4ad",
-   "sha256": "0yipszmblbz2zz784ys78zqzcm44blnvlm79gch2prl56gi0hl3r"
+   "commit": "324d09e6ef51ff9473cbfaf560979ed313df416b",
+   "sha256": "15sp8j28kh50dlmjlrwrhxhiaxrgn6gc1ybr4rv9w5009w0dhfhv"
   }
  },
  {
@@ -48852,6 +48977,38 @@
   }
  },
  {
+  "ename": "gnosis",
+  "commit": "90b5307cf4b65da92ccd761fa0063bd553ff3513",
+  "sha256": "0g3fp9185d56srf9h7axknb2zcf3vz72ld9spg5dvwqzvpzwpjqf",
+  "fetcher": "git",
+  "url": "https://git.thanosapollo.org/gnosis",
+  "unstable": {
+   "version": [
+    20240222,
+    1347
+   ],
+   "deps": [
+    "compat",
+    "emacsql"
+   ],
+   "commit": "6ee271486b9a2c1467434bf6c23cb804f905a0f2",
+   "sha256": "1d9limkb3ydfbhxdcycqv7nh1qk3kwp35c85c1xlhqh761rcl516"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    9
+   ],
+   "deps": [
+    "compat",
+    "emacsql"
+   ],
+   "commit": "6ee271486b9a2c1467434bf6c23cb804f905a0f2",
+   "sha256": "1d9limkb3ydfbhxdcycqv7nh1qk3kwp35c85c1xlhqh761rcl516"
+  }
+ },
+ {
   "ename": "gntp",
   "commit": "c69a148d3b72d1be6ea10100a8e0cbbd918baa9c",
   "sha256": "1ywj3p082g54dcpy8q4jnkqfr12npikx8yz14r0njxdlr0janh4f",
@@ -49413,15 +49570,15 @@
   "repo": "dominikh/go-mode.el",
   "unstable": {
    "version": [
-    20220114,
-    2239
+    20240210,
+    10
    ],
    "deps": [
     "cl-lib",
     "go-mode"
    ],
-   "commit": "3273fcece5d9ab7edd4f15b2d6bce61f4e5a0666",
-   "sha256": "00qzn136d8cl3szbi44xf3iiv75r6n1m7wwgldmzn4i5mpz8dbq7"
+   "commit": "6f4ff9ef874d151ed8d297a80f1bf27db5d9dbf0",
+   "sha256": "1pbnpj8qqdk4871m1nj39jilcqnz0l5sn9w34s9y2j526rz5l83z"
   },
   "stable": {
    "version": [
@@ -49864,19 +50021,19 @@
   "repo": "minad/goggles",
   "unstable": {
    "version": [
-    20240102,
-    332
+    20240216,
+    1542
    ],
-   "commit": "d64f08ace640b21781689f233498fece656c5a41",
-   "sha256": "0158pp33qy9cil0y459i6jby26hfjmfnjjrf42b8lcyifsqb3bc9"
+   "commit": "41d3669d7ae7b73bd39d298e5373ece48b656ce3",
+   "sha256": "1fczxygg1blfmlwswck49rllww77rc7qn91wqw1kvjwfz31sk8z4"
   },
   "stable": {
    "version": [
     0,
-    3
+    4
    ],
-   "commit": "b715ff51e4b80c3c5487e7be6deadb1bb1497af6",
-   "sha256": "0crll7r1qzpipimrahbfgk31f6rys58gzsbiwi65l0gqw49699sx"
+   "commit": "41d3669d7ae7b73bd39d298e5373ece48b656ce3",
+   "sha256": "1fczxygg1blfmlwswck49rllww77rc7qn91wqw1kvjwfz31sk8z4"
   }
  },
  {
@@ -50256,11 +50413,11 @@
   "repo": "emacs-vs/goto-char-preview",
   "unstable": {
    "version": [
-    20240101,
-    855
+    20240206,
+    139
    ],
-   "commit": "6ec23b1fd551c8ff51d50b2a22c2b83828ac0e1a",
-   "sha256": "1xaqlmw4rvcyfmxh8di3i1c0rw58m2yd7zycyimii7s8gkd2zr0c"
+   "commit": "d40eb8c1e8844ab7d265197191a759f62bf1099c",
+   "sha256": "0z4fd6y3cikxgvc86bx2fy04kd136bkh8qymiwsx24i3pa4zwr4b"
   },
   "stable": {
    "version": [
@@ -50343,11 +50500,11 @@
   "repo": "emacs-vs/goto-line-preview",
   "unstable": {
    "version": [
-    20240101,
-    855
+    20240206,
+    138
    ],
-   "commit": "bbcf14e66abf1c56e8f44d501b971882e881a5f9",
-   "sha256": "1smk52g3sbafi652g6n39ijjv84g84bicxyhx64ybdgi3fndiv8r"
+   "commit": "4e712da4e5e90b02440bd1f435a89ad02ff5a894",
+   "sha256": "0khcc8qgc9x77wr4lpxjjahcimxk015ikp3lin02lm1pp28a5wa5"
   },
   "stable": {
    "version": [
@@ -50367,8 +50524,8 @@
   "repo": "vmware/govmomi",
   "unstable": {
    "version": [
-    20230927,
-    1905
+    20240208,
+    2356
    ],
    "deps": [
     "dash",
@@ -50376,14 +50533,14 @@
     "magit-popup",
     "s"
    ],
-   "commit": "23cd3186674c69cbe9a29e32a9176640bccc14fa",
-   "sha256": "0hzafgkcp2psgciry3q84xwkbd69kd85mnv474zqjym4jh8v6197"
+   "commit": "5d7849f71f7080873f4c7d75c999a5bf55d8486d",
+   "sha256": "1a6xx17v5cnz93kkpi4r5f9xzq0pq43iikz7k5smnyl13m3lrm4y"
   },
   "stable": {
    "version": [
     0,
-    34,
-    2
+    35,
+    0
    ],
    "deps": [
     "dash",
@@ -50391,8 +50548,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "96b6eb7717a333660fca14fe0b5f71b9b6b01c22",
-   "sha256": "1wgf0s560rd76chlcs9fqc5kc6rhwm8jf59f8ycpbg8r6nxqgcaj"
+   "commit": "d7c0094aa2d4dd3cb0da572106793d11078c5c47",
+   "sha256": "03ffg4ypfrnj8qmip0cdkgifrxasb1wi05zpvg1mmdyx64sr1f90"
   }
  },
  {
@@ -50546,28 +50703,28 @@
   "repo": "karthink/gptel",
   "unstable": {
    "version": [
-    20240203,
-    2229
+    20240221,
+    811
    ],
    "deps": [
     "compat",
     "transient"
    ],
-   "commit": "af5444a2ea33d717265d5bbf30a15347e2da4d05",
-   "sha256": "1hp418pj1c81s9f14478sz58ic8c6m6yarg3qqrpbnn8n6y4nimj"
+   "commit": "8ba07d042c11cb65ebce69fc1dc069905ec00e5e",
+   "sha256": "0wfqwp5rz77xzsxb56g4w9h047zb0y06ajcr724b5sjykbbznhzw"
   },
   "stable": {
    "version": [
     0,
-    6,
-    5
+    7,
+    0
    ],
    "deps": [
     "compat",
     "transient"
    ],
-   "commit": "af5444a2ea33d717265d5bbf30a15347e2da4d05",
-   "sha256": "1hp418pj1c81s9f14478sz58ic8c6m6yarg3qqrpbnn8n6y4nimj"
+   "commit": "8ba07d042c11cb65ebce69fc1dc069905ec00e5e",
+   "sha256": "0wfqwp5rz77xzsxb56g4w9h047zb0y06ajcr724b5sjykbbznhzw"
   }
  },
  {
@@ -50894,11 +51051,11 @@
   "repo": "davazp/graphql-mode",
   "unstable": {
    "version": [
-    20230923,
-    1315
+    20240218,
+    1603
    ],
-   "commit": "49a391b5290e3354b07f7b77ded97a154c084f46",
-   "sha256": "15hzpcyc73ixlqm4bnl60n07lvci76wgj7d3fc0wanvmfwqhp6py"
+   "commit": "2183895ea7932359586c4bb99e8562c4aef3aaf7",
+   "sha256": "1qn45sscx2jdwd3yyw344d225911q314ghfj4d8c4w5vvxw726hb"
   }
  },
  {
@@ -50909,11 +51066,11 @@
   "repo": "joram/graphql-ts-mode",
   "unstable": {
    "version": [
-    20230911,
-    2036
+    20240105,
+    1236
    ],
-   "commit": "dc88c4bb1702b910cdc68dd7b361a0fc5bf96486",
-   "sha256": "1z68y8nkxal6p32qxpvpy7q8wigq3m5j8klrq0vjdr69dbk8c3mq"
+   "commit": "e933f235408ea195762700fd07c2d828e8f09aac",
+   "sha256": "1wyhrj5rm28m16ajp5js6nvq3p5a1igm95bmn346d3mvd1gv196n"
   }
  },
  {
@@ -51863,11 +52020,11 @@
   "repo": "clarete/hackernews.el",
   "unstable": {
    "version": [
-    20240113,
-    2137
+    20240214,
+    1452
    ],
-   "commit": "38ad768e95ca651d836ee2fa2d795ac2e84e8e03",
-   "sha256": "100aa0vs1gjwpkfdc7avwv5v3sicj2npqfr1y3dsib3pimp21l6w"
+   "commit": "34423948fd37e9f6904e4e3f6d103e311017ed09",
+   "sha256": "1b1s5bkrcsr7kzzm2ck5gwr21gn7r78grhis3zdrjnnxcny7pr5z"
   },
   "stable": {
    "version": [
@@ -52155,6 +52312,29 @@
   }
  },
  {
+  "ename": "haproxy-mode",
+  "commit": "cda0e4b350611e60eb2ef5bdb3e660f9e707e503",
+  "sha256": "1psvnyia3mcwndqap45356f9lr4iza2kn0snpc06rkhb16410bqh",
+  "fetcher": "github",
+  "repo": "port19x/haproxy-mode",
+  "unstable": {
+   "version": [
+    20240207,
+    2010
+   ],
+   "commit": "eafb1144751493c33dc005a317236ec3e84aeb07",
+   "sha256": "17xsyvi8myrcyxrv07ckb6dr3mpkihva7y3daw13a3jnm2kzjsp4"
+  },
+  "stable": {
+   "version": [
+    0,
+    9
+   ],
+   "commit": "eafb1144751493c33dc005a317236ec3e84aeb07",
+   "sha256": "17xsyvi8myrcyxrv07ckb6dr3mpkihva7y3daw13a3jnm2kzjsp4"
+  }
+ },
+ {
   "ename": "hardcore-mode",
   "commit": "b929b3343cd5925944665e4e09b4524bca873c95",
   "sha256": "1bgi1acpw4z7i03d0i8mrd2hpjn6hyvkdsk0ks9q380yp9mqmiwd",
@@ -52270,11 +52450,11 @@
   "repo": "knupfer/haskell-emacs",
   "unstable": {
    "version": [
-    20160904,
-    2026
+    20240205,
+    2225
    ],
-   "commit": "a2c6a079175904689eed7c6c200754bfa85d1ed9",
-   "sha256": "1xpaqcj33vyzs5yv2w4dahw8a2vb6zcb3z7y2aqc5jdg3fx9ypam"
+   "commit": "777d5209f70229b53e4a60a09d1b714d233b0a7c",
+   "sha256": "0rw21v7qsyl4ygqrh4wsyiz8a8p2q1fpjl8lsvfwmmam1mgm2ph1"
   },
   "stable": {
    "version": [
@@ -52604,11 +52784,11 @@
   "repo": "hcl-emacs/hcl-mode",
   "unstable": {
    "version": [
-    20230302,
-    1029
+    20240220,
+    1534
    ],
-   "commit": "35784854efd29fa8c9fe827654d747a2ace5cb19",
-   "sha256": "1glz8p89c6mfrh92wycinqr1ffk5b6skjjn9qpqw6n510ccpzhwg"
+   "commit": "b2a03a446c1fe324ff494c28b9321486fa6fc672",
+   "sha256": "1ykwwzypy6kna3462zpdnmq3dwidnkjhhyqnyz2fi98hkfcfwah8"
   },
   "stable": {
    "version": [
@@ -52681,16 +52861,16 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20240130,
-    1436
+    20240221,
+    1816
    ],
    "deps": [
     "helm-core",
     "popup",
     "wfnames"
    ],
-   "commit": "ff9b346403c4ff08739a88bcb8377c723914526c",
-   "sha256": "0h8k06297cjw4ajqp4wshkljr3js7xy2276w9rwm2zqyg7sgp6w5"
+   "commit": "0b355b3cd447df2cf96ad32577b0910770d20c25",
+   "sha256": "14jyzgz300mx0724agb1jnaixykqrvyblqkik17why0v28jqj2sx"
   },
   "stable": {
    "version": [
@@ -53574,14 +53754,14 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20240130,
-    1931
+    20240224,
+    604
    ],
    "deps": [
     "async"
    ],
-   "commit": "f34ea6b702648e5c7535a704bdb6c4d7afb4b3b8",
-   "sha256": "1ili5mqdckqlasx0rir2gq4xj2l1frvjnpqnashah7qh4ji2bjxw"
+   "commit": "56ff07ea90284f5303be5fcaddaaa144e0c3396c",
+   "sha256": "1dkbrlrnn2lij1fbxbsxaaj29zyf504pv7bjdy1v0pmf1yhxdglp"
   },
   "stable": {
    "version": [
@@ -53709,14 +53889,14 @@
   "repo": "emacs-helm/helm-descbinds",
   "unstable": {
    "version": [
-    20190501,
-    935
+    20240216,
+    1154
    ],
    "deps": [
     "helm"
    ],
-   "commit": "b72515982396b6e336ad7beb6767e95a80fca192",
-   "sha256": "1bp2n32lvb1fhnwzk8s782i928m8mklv77jz5rq0ag1q7y740r31"
+   "commit": "ca03f02da4e54a1d0a2d5498b86e1639aa808d8c",
+   "sha256": "0rl0935pni1vi5v9wd7w19i214iiysxixcjkdvqk1plsaqnb3dag"
   },
   "stable": {
    "version": [
@@ -55659,8 +55839,8 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20240113,
-    603
+    20240221,
+    1146
    ],
    "deps": [
     "dash",
@@ -55668,14 +55848,14 @@
     "org-ql",
     "s"
    ],
-   "commit": "9606aaf81230d1faf2c7f54925b45e527fa32bf0",
-   "sha256": "07r9bx0bh7wyj5pbkhnrn8amzz3ynri94cxcxgcn1r3ypdhk6y85"
+   "commit": "bfff0b5517d55d01bf12de27e10a73c9a077767b",
+   "sha256": "1wnvrjx9r9f1ykfdafj9pz1b0n669bqmixb5q35kmahyjis8rswq"
   },
   "stable": {
    "version": [
     0,
     8,
-    4
+    5
    ],
    "deps": [
     "dash",
@@ -55683,8 +55863,8 @@
     "org-ql",
     "s"
    ],
-   "commit": "9606aaf81230d1faf2c7f54925b45e527fa32bf0",
-   "sha256": "07r9bx0bh7wyj5pbkhnrn8amzz3ynri94cxcxgcn1r3ypdhk6y85"
+   "commit": "bfff0b5517d55d01bf12de27e10a73c9a077767b",
+   "sha256": "1wnvrjx9r9f1ykfdafj9pz1b0n669bqmixb5q35kmahyjis8rswq"
   }
  },
  {
@@ -58500,11 +58680,11 @@
   "repo": "ideasman42/emacs-hl-prog-extra",
   "unstable": {
    "version": [
-    20230820,
-    39
+    20240209,
+    218
    ],
-   "commit": "b9a6a5d982b000d26ab365f16b4d5fdced2a3736",
-   "sha256": "0hl0bh1gnjianlx9kb451432afj9126kcqd9p03x6bicymfb67h2"
+   "commit": "f658eff775fea05fa6deabf59a5fecf99660fa26",
+   "sha256": "07fm45vjm0aqa67gk4acip6k3p1n5wcjvv60s0m830awipkw4w6v"
   }
  },
  {
@@ -59139,11 +59319,11 @@
   "repo": "hniksic/emacs-htmlize",
   "unstable": {
    "version": [
-    20210825,
-    2150
+    20240212,
+    1001
    ],
-   "commit": "dd27bc3f26efd728f2b1f01f9e4ac4f61f2ffbf9",
-   "sha256": "0kzkspq9cqdz9z6vibx39kpci07fpwm399nl9bpykc1vbj8cm44f"
+   "commit": "09d43dfa44899f194095bb3500a45ec5b34d59c6",
+   "sha256": "062ipq90mmjflp7syx5fpy0zykmdv1cjsd2baidbrydv9jzp2qzl"
   },
   "stable": {
    "version": [
@@ -59590,8 +59770,8 @@
   "repo": "ushin/hyperdrive.el",
   "unstable": {
    "version": [
-    20240203,
-    429
+    20240207,
+    1949
    ],
    "deps": [
     "compat",
@@ -59601,8 +59781,8 @@
     "taxy-magit-section",
     "transient"
    ],
-   "commit": "6252ee1ba84a15c3eb9f53fb253590247759115f",
-   "sha256": "08dal302vkwbm503madqi90jw4dnpa51hzdisffva59w1z6x046s"
+   "commit": "8c41b805a522deb86e8b496090769c7251345115",
+   "sha256": "1p3pf0fybxv5v5sqhrr1yypjba4sl284px575s87ihcrkfjc9bwj"
   },
   "stable": {
    "version": [
@@ -60178,11 +60358,11 @@
   "repo": "ideasman42/emacs-idle-highlight-mode",
   "unstable": {
    "version": [
-    20230319,
-    810
+    20240222,
+    2257
    ],
-   "commit": "f9091c907d41e7b12d99d108a194229b8dbfc5ae",
-   "sha256": "0757x4iy7q0mj1rshlxr00hbc78g5hzijgzyqs36nrw6bn65fb93"
+   "commit": "cfb4efba3bbe1f697f6545bee98c479c3f1081b0",
+   "sha256": "1z14xbvmc87dxs9l8igsrd8y70rhmgw4cljmw6q8znhl2733mbj1"
   }
  },
  {
@@ -60706,15 +60886,15 @@
   "repo": "KarimAziev/igist",
   "unstable": {
    "version": [
-    20231114,
-    928
+    20240204,
+    1321
    ],
    "deps": [
     "ghub",
     "transient"
    ],
-   "commit": "7a72a4ea40668a7c4f0f8d60990a5ac298429936",
-   "sha256": "0v02cjjabm1f14bvhqp559xfv14my9ibjyx2gh3kzb67lhsrlcsr"
+   "commit": "f83141db9a962cfe039431fa440f9c09ec8034ef",
+   "sha256": "0kj8kjz9324x4hw52rfn71h6pmb2svvbyzi1mkxzyrhhgwjmzbp4"
   },
   "stable": {
    "version": [
@@ -61950,14 +62130,14 @@
   "repo": "chaosemer/init-dir",
   "unstable": {
    "version": [
-    20240203,
-    1446
+    20240216,
+    1758
    ],
    "deps": [
     "benchmark-init"
    ],
-   "commit": "f82660d3b49ab159758b8d79e894b25a8f779c2f",
-   "sha256": "16yifym5fc1s33c65ciizf1acbbnknhl79ajxa8k8kzcjg1rbrx0"
+   "commit": "3b2320a62e0b2c39ae001381ef3e9ee0d538f146",
+   "sha256": "1irki93sz709rkp8ma3s6b9hmz99l67mcimqw316vqc583kkj2l9"
   },
   "stable": {
    "version": [
@@ -62859,6 +63039,36 @@
   }
  },
  {
+  "ename": "iso-639",
+  "commit": "00248ba809ef61d5f233ee47db785b7d4702c52d",
+  "sha256": "1qg2z7sp7h5g648i29bgnnal0byjh3jrzgslp59vsw4br6y9lsnr",
+  "fetcher": "codeberg",
+  "repo": "WammKD/emacs-iso-639",
+  "unstable": {
+   "version": [
+    20240218,
+    1008
+   ],
+   "deps": [
+    "levenshtein"
+   ],
+   "commit": "c217a36102a566bbaf6f0aec81511fc5a9cfc247",
+   "sha256": "0hhxp36k1nlvz6bd8g2y0xj0m5sb7zz3yq8pr5dqql6fh78rq2hm"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "deps": [
+    "levenshtein"
+   ],
+   "commit": "c217a36102a566bbaf6f0aec81511fc5a9cfc247",
+   "sha256": "0hhxp36k1nlvz6bd8g2y0xj0m5sb7zz3yq8pr5dqql6fh78rq2hm"
+  }
+ },
+ {
   "ename": "isortify",
   "commit": "c756ccbae044bc23131060355532261aa9a12409",
   "sha256": "0bqs84prlwk94x543mv22wjnz0s7gqbdi7ryvdc20s7vdr18fn82",
@@ -63022,11 +63232,11 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20231025,
-    2311
+    20240214,
+    2118
    ],
-   "commit": "8c30f4cab5948aa8d942a3b2bbf5fb6a94d9441d",
-   "sha256": "1iqj27pc2iivmwfh329v0d9g0z1y0whlnamrl7g2bi374h41m368"
+   "commit": "749ac1235a7948011cb0caddd4c31037e3314614",
+   "sha256": "0d598jxdrxjlszaikh27v7j2zdndisfqzb384d94siw4rwzfj4zr"
   },
   "stable": {
    "version": [
@@ -63046,15 +63256,15 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20231025,
-    2311
+    20240214,
+    2118
    ],
    "deps": [
     "avy",
     "ivy"
    ],
-   "commit": "8c30f4cab5948aa8d942a3b2bbf5fb6a94d9441d",
-   "sha256": "1iqj27pc2iivmwfh329v0d9g0z1y0whlnamrl7g2bi374h41m368"
+   "commit": "749ac1235a7948011cb0caddd4c31037e3314614",
+   "sha256": "0d598jxdrxjlszaikh27v7j2zdndisfqzb384d94siw4rwzfj4zr"
   },
   "stable": {
    "version": [
@@ -63446,15 +63656,15 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20231025,
-    2311
+    20240214,
+    2118
    ],
    "deps": [
     "hydra",
     "ivy"
    ],
-   "commit": "8c30f4cab5948aa8d942a3b2bbf5fb6a94d9441d",
-   "sha256": "1iqj27pc2iivmwfh329v0d9g0z1y0whlnamrl7g2bi374h41m368"
+   "commit": "749ac1235a7948011cb0caddd4c31037e3314614",
+   "sha256": "0d598jxdrxjlszaikh27v7j2zdndisfqzb384d94siw4rwzfj4zr"
   },
   "stable": {
    "version": [
@@ -64792,25 +65002,25 @@
   "repo": "minad/jinx",
   "unstable": {
    "version": [
-    20240129,
-    1524
+    20240223,
+    1312
    ],
    "deps": [
     "compat"
    ],
-   "commit": "50dfdcdbdeb320fe0cf02006c90d087eb7a9787d",
-   "sha256": "0g9jdcjnvqxv11lwlz118snv46zgyl5jfrym93nlld3hiajkmp3s"
+   "commit": "cd63c27767d655319f89432ed1feae1cae12cdab",
+   "sha256": "02nc3aha4alhw3qm119hciy3xmrk829vgq4a1dxn04m8qf01fpy8"
   },
   "stable": {
    "version": [
     1,
-    2
+    3
    ],
    "deps": [
     "compat"
    ],
-   "commit": "e7934278540b33c394a0aebdd9fa543aa84fc82a",
-   "sha256": "04avl356y0m0i1mqmzzz0245fxflj7i8ssicnvf4wmpjc0qdr694"
+   "commit": "cd63c27767d655319f89432ed1feae1cae12cdab",
+   "sha256": "02nc3aha4alhw3qm119hciy3xmrk829vgq4a1dxn04m8qf01fpy8"
   }
  },
  {
@@ -64946,11 +65156,11 @@
   "repo": "Michael-Allan/Java_Mode_Tamed",
   "unstable": {
    "version": [
-    20230519,
-    1523
+    20240213,
+    1405
    ],
-   "commit": "b5b969f23d4cda1f70107db79a112e802951ce30",
-   "sha256": "13dgahlpb19f3d24vrn51s2kccpjbwrfnfmlgpkfvvh3g6gk80qs"
+   "commit": "a307c5c1ddc2f32199b52f8183b72a0648d4a4e1",
+   "sha256": "15x9brm62zg9k1y69xp3hana27xrzrw099rnfzkvi2palgi7s6w5"
   }
  },
  {
@@ -64980,11 +65190,11 @@
   "repo": "SebastianMeisel/journalctl-mode",
   "unstable": {
    "version": [
-    20240115,
-    1650
+    20240219,
+    2115
    ],
-   "commit": "b3dbb5b4149bc1020f81323ec38c2a7a53647289",
-   "sha256": "0i7bc5zflhbyxpa5bajdfw7m3ac4flyhqja1lsdjz0ndswszdav9"
+   "commit": "631d10a5c8f466c94c38c3cd7410a27026f5f822",
+   "sha256": "1p3mgza73yls8f7v063jb49z0ylmvni4v812abqvvvrn5q396286"
   },
   "stable": {
    "version": [
@@ -65331,14 +65541,14 @@
   "repo": "mooz/js2-mode",
   "unstable": {
    "version": [
-    20231225,
-    1150
+    20240221,
+    351
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "ca0af32eea0281322a9ce268d98f01fbb88bbb7a",
-   "sha256": "13pqiwf72r7fnwvlxzgvflkbjg9rdzd2rrcj15mv9b1ma3210fsw"
+   "commit": "e7373b0e0891b2521d8f9b9862b77607317b2f39",
+   "sha256": "012yc87dv73w9fsccyfdm7ihrc1n39axs4kgw2zj31w48sv1vh1w"
   },
   "stable": {
    "version": [
@@ -65572,14 +65782,14 @@
   "repo": "taku0/json-par",
   "unstable": {
    "version": [
-    20230917,
-    624
+    20240217,
+    550
    ],
    "deps": [
     "json-mode"
    ],
-   "commit": "bbafcc911fce4ebfb30d9f9a0bc226b1983cf7b1",
-   "sha256": "0mphal0j5hn5hi9i8gpb95csqbw06b7msszggpkxl6lhp3d5sbbm"
+   "commit": "52f69108d4eca328f7eb74c2dfb841db2f0ffa8a",
+   "sha256": "0ifsy0016yrh9dkw9zlfd4l7m30fncli954zm3n1qknk6dmyd19r"
   },
   "stable": {
    "version": [
@@ -65852,20 +66062,20 @@
   "repo": "llemaitre19/jtsx",
   "unstable": {
    "version": [
-    20240122,
-    1601
+    20240214,
+    1136
    ],
-   "commit": "c62d1cd286b4af70693f300dde1dd00283cc2084",
-   "sha256": "1z3xhnnbhja4v0layn1fxx6myiinspvzrribg8ygww0zhcyjfl62"
+   "commit": "f2bca05283222e4622b54d1a42b704966b363331",
+   "sha256": "0hz4h7b1wnq1l7yrcy078yd2qjnsnras1lr2llrangf9gfzrif4p"
   },
   "stable": {
    "version": [
     0,
     3,
-    3
+    5
    ],
-   "commit": "5e3f41c7aaa9e3784fad6c89b48ff3731744cce8",
-   "sha256": "0ag1gw87icj1adnnqhx6c5z9d9yf28ycv41yi3dfdjka13ad477a"
+   "commit": "781d140a8d3115a9567d797ed73ec32e21db4679",
+   "sha256": "1yci9jhrdlmfi51qvwv2v6p1vl1zaz3xa5h4rx94gv2vi3fvg4v2"
   }
  },
  {
@@ -65965,8 +66175,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20240201,
-    637
+    20240205,
+    2228
    ],
    "deps": [
     "dash",
@@ -65975,8 +66185,8 @@
     "s",
     "spinner"
    ],
-   "commit": "70d3e8efa48761bdac205678316395a6490c9706",
-   "sha256": "03998i2n4z9g7mpprl1dn122ipfawsrr4cggxjkcv26j4khccji2"
+   "commit": "ce6994a548c3da051eb9104cad2c1056aa3cf4c1",
+   "sha256": "0p3wffd2013nd9322k543ql2z9w8826c4basm3w7wq2c1ckf8q2f"
   },
   "stable": {
    "version": [
@@ -66247,8 +66457,8 @@
   "repo": "psibi/justl.el",
   "unstable": {
    "version": [
-    20240124,
-    1236
+    20240224,
+    428
    ],
    "deps": [
     "f",
@@ -66256,21 +66466,22 @@
     "s",
     "transient"
    ],
-   "commit": "476bf9c4fc3d753589f1cf2c13dc4e1e14aaba7e",
-   "sha256": "1cw1hlqfxfn1ddq9kx7xb930xxldaq5imnrikwpdi828gfq8hw82"
+   "commit": "1b16ca44b227dc761a2c8631690140f62e024f98",
+   "sha256": "1ciwiamby7w8snkrn6c3s7y5fyfpv6982rihfx6gmbsg0r6vgmwl"
   },
   "stable": {
    "version": [
     0,
-    13
+    14
    ],
    "deps": [
     "f",
+    "inheritenv",
     "s",
     "transient"
    ],
-   "commit": "d8fae037a873b51e0b14b137f1c2b813dc89b853",
-   "sha256": "18br70n3jv6pxm3hrvlj5g01ja7lhkqw9661fz28v63liidnpbkh"
+   "commit": "1b16ca44b227dc761a2c8631690140f62e024f98",
+   "sha256": "1ciwiamby7w8snkrn6c3s7y5fyfpv6982rihfx6gmbsg0r6vgmwl"
   }
  },
  {
@@ -66455,14 +66666,14 @@
   "repo": "bram85/kagi.el",
   "unstable": {
    "version": [
-    20240204,
-    732
+    20240214,
+    749
    ],
    "deps": [
     "shell-maker"
    ],
-   "commit": "826ff6acb477e4669d977644f91476cd6b93da04",
-   "sha256": "01ahk1x1dblh5s1jpvmlbgv880674v1f1fag94apiq886fcq1kg2"
+   "commit": "c32eb03aaf033a23214507d7f4edd31cf0a3f182",
+   "sha256": "1y6mb8mr5rv8hf11jwdbh89nwpi2y2ibvd7jfrpfbb4dbngyblq9"
   },
   "stable": {
    "version": [
@@ -66669,28 +66880,28 @@
   "repo": "ogdenwebb/emacs-kaolin-themes",
   "unstable": {
    "version": [
-    20240125,
-    1805
+    20240217,
+    2054
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "3cdb921046a6d9a38045a1411afa1db47b2f7944",
-   "sha256": "1rk9w9a49ksg6ad2jl5gbk3q3dp4cbkf9g5brk131g2jgkka9zsp"
+   "commit": "b03749c914b1319caccce4cf96630e3fba5335f5",
+   "sha256": "15246nsiwdfy5zl5iml4qxslz8p7k9lrzdr7p6bn71afk721vz5y"
   },
   "stable": {
    "version": [
     1,
-    6,
-    9
+    7,
+    0
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "8f2cd166b3e5d19d83ab7de73a62069929238306",
-   "sha256": "0f5y1ri1pdgy088lxp9h8h5cvnfyi5dkvyvyxzjh00kaj10d3va5"
+   "commit": "b03749c914b1319caccce4cf96630e3fba5335f5",
+   "sha256": "15246nsiwdfy5zl5iml4qxslz8p7k9lrzdr7p6bn71afk721vz5y"
   }
  },
  {
@@ -67418,28 +67629,28 @@
   "repo": "khoj-ai/khoj",
   "unstable": {
    "version": [
-    20240129,
-    1235
+    20240220,
+    2212
    ],
    "deps": [
     "dash",
     "transient"
    ],
-   "commit": "da854703aa7808ff6a03c8e32c0023fba94cc079",
-   "sha256": "0p8djpfmwlaj8640g4rnfkrc2yvilaz4v26z9lybm5q5wy2z180d"
+   "commit": "b1c86fee3b5d14f099d2d4b47f411aaa8318d650",
+   "sha256": "1pyz4k9zky1j3l6bvf0cjw8am093ss5vwpmynvcdgpbgzj49d0s2"
   },
   "stable": {
    "version": [
     1,
-    5,
+    6,
     0
    ],
    "deps": [
     "dash",
     "transient"
    ],
-   "commit": "da854703aa7808ff6a03c8e32c0023fba94cc079",
-   "sha256": "0p8djpfmwlaj8640g4rnfkrc2yvilaz4v26z9lybm5q5wy2z180d"
+   "commit": "b1c86fee3b5d14f099d2d4b47f411aaa8318d650",
+   "sha256": "1pyz4k9zky1j3l6bvf0cjw8am093ss5vwpmynvcdgpbgzj49d0s2"
   }
  },
  {
@@ -68576,19 +68787,19 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20231018,
-    1049
+    20240205,
+    2150
    ],
-   "commit": "84d7b997a78b78b64fb4b348008a9aaa67467d27",
-   "sha256": "1bpkny62i8w25743ziqj4cv9vblfa0hbgq22zlmgifsihx21h5fd"
+   "commit": "1ad782d7e448c1e8d8652861f01f4a58315826c3",
+   "sha256": "153810jq4rbgpzvbhz2i1dyrj8bmdf4zxsrhfg0b70iq4bh78bz6"
   },
   "stable": {
    "version": [
     0,
-    19
+    20
    ],
-   "commit": "9efb210e5f746dd83bb3f132b46fb0b1f035def4",
-   "sha256": "0p1kx67fdg8r8fp479170b4hl5j9r3n2x41bi189aq29b02qh94m"
+   "commit": "1ad782d7e448c1e8d8652861f01f4a58315826c3",
+   "sha256": "153810jq4rbgpzvbhz2i1dyrj8bmdf4zxsrhfg0b70iq4bh78bz6"
   }
  },
  {
@@ -69431,27 +69642,27 @@
   "repo": "martianh/lem.el",
   "unstable": {
    "version": [
-    20240201,
-    1457
+    20240223,
+    949
    ],
    "deps": [
     "fedi",
     "markdown-mode"
    ],
-   "commit": "0e956df9898be22996eee3458c160a54e8bc9986",
-   "sha256": "1jvpl9fm7la6cjmadqmp9gs6ylpx36a1784zw2dymfpqf28m10yk"
+   "commit": "97db37fcb62d44a6bcab4fa8411a32cd902c2076",
+   "sha256": "1fm6bk69b9nhyvxdsm9d7zcbnwg5n659bl35ywvz8xlh87ymjz23"
   },
   "stable": {
    "version": [
     0,
-    10
+    17
    ],
    "deps": [
     "fedi",
     "markdown-mode"
    ],
-   "commit": "3cdbdb1c1b677ad8337dfbe053f497e9ea3500a6",
-   "sha256": "0s1cnmrbz57d02af5aanrm27blr4pykvszd3yqk6ycf0i69iimdz"
+   "commit": "97db37fcb62d44a6bcab4fa8411a32cd902c2076",
+   "sha256": "1fm6bk69b9nhyvxdsm9d7zcbnwg5n659bl35ywvz8xlh87ymjz23"
   }
  },
  {
@@ -71590,16 +71801,16 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20231110,
-    238
+    20240220,
+    114
    ],
    "deps": [
     "compat",
     "map",
     "seq"
    ],
-   "commit": "5af0db0c9235387baa1917359d8b1583732adda8",
-   "sha256": "18abpmbc90vzp3jwz4jw07yliiipii3l0i47wdwalplfpr6cafxj"
+   "commit": "fc0296ca155c32ad3455f36602b7b34f2163bfd7",
+   "sha256": "0pk9vp28mdcwbycj2bdqagzjadl3xavsvl86xmil8g15hkym4m1r"
   },
   "stable": {
    "version": [
@@ -71623,15 +71834,15 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20230501,
-    225
+    20240220,
+    114
    ],
    "deps": [
     "dash",
     "loopy"
    ],
-   "commit": "d04f4b8a6918ffaf745b8ccdba5ff9fee66ea8bf",
-   "sha256": "1igsfm6i5kldn8sxy09y1wmjh3vd7zbz6g441lvgkd0f23v540yc"
+   "commit": "fc0296ca155c32ad3455f36602b7b34f2163bfd7",
+   "sha256": "0pk9vp28mdcwbycj2bdqagzjadl3xavsvl86xmil8g15hkym4m1r"
   },
   "stable": {
    "version": [
@@ -71730,8 +71941,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20231028,
-    2340
+    20240215,
+    14
    ],
    "deps": [
     "dap-mode",
@@ -71743,14 +71954,14 @@
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "78ab137e05c4c2be406a121407c8e71e11ee3339",
-   "sha256": "0vc2dj9lag770bbz8h45rz9h38qyvkzq2mn7ijkqiyfa35nyw3kj"
+   "commit": "f51c80f5458d8ba4db9dd3781d190c6c32213250",
+   "sha256": "0spc9wmqllb4kcn4cvyj2f7k6lzaz2gd86msf49raqddf023665f"
   },
   "stable": {
    "version": [
     1,
     24,
-    2
+    3
    ],
    "deps": [
     "dap-mode",
@@ -71762,8 +71973,8 @@
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "5356af174813ccad4f59006acd918d7303b3af0a",
-   "sha256": "1jxlgmn9sqwcr0czkf68vr9yhj6in4n6gl4468dbh7gkhyvsd28z"
+   "commit": "f51c80f5458d8ba4db9dd3781d190c6c32213250",
+   "sha256": "0spc9wmqllb4kcn4cvyj2f7k6lzaz2gd86msf49raqddf023665f"
   }
  },
  {
@@ -72062,28 +72273,28 @@
   "repo": "ROCKTAKEY/lsp-latex",
   "unstable": {
    "version": [
-    20231104,
-    313
+    20240215,
+    1159
    ],
    "deps": [
     "consult",
     "lsp-mode"
    ],
-   "commit": "9a59f2634163ea8a0033adf482b57c67c68629d9",
-   "sha256": "0jdwar9x2dlv9ldlshfj0m0n2bmiz7g9c6xqx3izgi132qh3f4lb"
+   "commit": "11935eb414b1ef81af2dd34d11e79c5490cd67f3",
+   "sha256": "0gr5v9cbhiqwp8hs8di5dlc6gq2ka26bi9fljldl1421yxsxyl0m"
   },
   "stable": {
    "version": [
     3,
     6,
-    0
+    1
    ],
    "deps": [
     "consult",
     "lsp-mode"
    ],
-   "commit": "b7193633509fe4a58bb70ebae2c8e970f5a843c8",
-   "sha256": "027xhrxjwh6d78yidwfpqp2cbgv0qlafm6z8nqkf6lh8fxnr8ig8"
+   "commit": "11935eb414b1ef81af2dd34d11e79c5490cd67f3",
+   "sha256": "0gr5v9cbhiqwp8hs8di5dlc6gq2ka26bi9fljldl1421yxsxyl0m"
   }
  },
  {
@@ -72171,8 +72382,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20240202,
-    947
+    20240222,
+    1726
    ],
    "deps": [
     "dash",
@@ -72183,8 +72394,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "b2e54388072e472fa5e873a441a90eaa78062105",
-   "sha256": "1jp55xd7r6kj8z5rdxgqssg58a658crhajnss572ifrmns00fa9m"
+   "commit": "9d3ff6faaf4c0273640df1e989abd6613736870d",
+   "sha256": "1p1vvpp9zqxqhrw2iidxw1r5pzjbm8c550yjnb0syyppkvx4rj7s"
   },
   "stable": {
    "version": [
@@ -72906,14 +73117,14 @@
   "repo": "DarwinAwardWinner/mac-pseudo-daemon",
   "unstable": {
    "version": [
-    20200215,
-    513
+    20211208,
+    138
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "564b006835facc4a8df247d8a47ab1030d7e7beb",
-   "sha256": "1ilqxl1851rg9v6ixi924xhzykc3c34f4nq1x0vyyq5b9m2fpb27"
+   "commit": "462031a53255185ae25eb10ae1f4272e49ad70f7",
+   "sha256": "0d0w2qh998rfxbi45hxs4vgj0n0lk1xqzbd7hgz97rh6bl9b7l2z"
   },
   "stable": {
    "version": [
@@ -73125,14 +73336,14 @@
   "repo": "roadrunner1776/magik",
   "unstable": {
    "version": [
-    20240203,
-    1805
+    20240216,
+    921
    ],
    "deps": [
     "compat"
    ],
-   "commit": "52cd8f34f3de2d221677302ad4ce27c699803364",
-   "sha256": "1p3jj6gfxakka0kr93pl6l8vdzj2idhkhrcnv0kirzd2kb6l483r"
+   "commit": "6ac83927a6c294619bb99cb1ceb2ecf352498599",
+   "sha256": "0x70dd12w0p44c7b5273fwi51sr2giqcl230170v8vk9rn73p12i"
   },
   "stable": {
    "version": [
@@ -73155,8 +73366,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20240125,
-    1835
+    20240218,
+    530
    ],
    "deps": [
     "compat",
@@ -73167,8 +73378,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "54d37dc14c3f715dd0328a70bc65d63c54ee9613",
-   "sha256": "1h7iylrlgyz3i52vbrxrr7a2lna26ky496r76i15fz4znvzd1wq1"
+   "commit": "f5ddce8c8459ffcbb2bd3ae759259d6b627c69cd",
+   "sha256": "0r3x70rhnacs4yd8kh58bqgs6mha294j22vmwk9jzwhfxqwy63v8"
   },
   "stable": {
    "version": [
@@ -73227,14 +73438,14 @@
   "repo": "ideasman42/emacs-magit-commit-mark",
   "unstable": {
    "version": [
-    20230420,
-    304
+    20240220,
+    2101
    ],
    "deps": [
     "magit"
    ],
-   "commit": "8c0ea6c2e25ae0d47f15ae9067874a0605c00704",
-   "sha256": "09dh1jk54rpqyf10jxh9vcj4si18f3nsq7x32zsgm7lwngsgx6sy"
+   "commit": "e5aa6a69af963fd25779f5211a7c3d91a65c6b0f",
+   "sha256": "01drp4rlmafzmcqw67nca845ya6532arzddngf6fa4i4q04n8142"
   }
  },
  {
@@ -73658,15 +73869,15 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20240114,
-    13
+    20240221,
+    1835
    ],
    "deps": [
     "compat",
     "dash"
    ],
-   "commit": "efb6c0df175eaf35b7a83833194621bdf9cc0d71",
-   "sha256": "135cmkrpn44radcndn63j53hwvxpdf92aj2rj1vcbgrp565s5ylz"
+   "commit": "039a1801efd2c75412de65d7b6a36e39361938af",
+   "sha256": "1cmb6glxzvvngycvxlp0vxbdxprxa5kh3f0yk4ydx9pzbbwdkspa"
   },
   "stable": {
    "version": [
@@ -73798,8 +74009,8 @@
   "repo": "alphapapa/magit-todos",
   "unstable": {
    "version": [
-    20231216,
-    1205
+    20240213,
+    1759
    ],
    "deps": [
     "async",
@@ -73811,13 +74022,14 @@
     "s",
     "transient"
    ],
-   "commit": "debb77b3589f2d83c8b43706edc1f8f90bf1ad91",
-   "sha256": "0rsr49zh8xbmh967zj1yxp6g38amvnfd96dlhnngp6bqgcznslyf"
+   "commit": "1e9acc0ba63fbc297001bf334d63cb4326be80df",
+   "sha256": "0jh4ii4hbyq5rhkrq17y2wddl20d8xzixwix1p3pigvby4qv30ij"
   },
   "stable": {
    "version": [
     1,
-    7
+    7,
+    1
    ],
    "deps": [
     "async",
@@ -73829,8 +74041,8 @@
     "s",
     "transient"
    ],
-   "commit": "d85518d45d329cc0b465cc3b84910b7c66b3fc42",
-   "sha256": "1zjlf3bhz0a7r9sa5ic22vwr2w1zxbfk9z545pdd1fvp00c2kzd0"
+   "commit": "a2396aaead5bc7712278260f245c740195c4afd2",
+   "sha256": "1y5l36ig0q5dqgijw916zgaz68kphg7k6kxs560vrfwkfn0cy59d"
   }
  },
  {
@@ -74701,16 +74913,16 @@
   "repo": "jasonm23/markdown-soma",
   "unstable": {
    "version": [
-    20230819,
-    340
+    20240215,
+    228
    ],
    "deps": [
     "dash",
     "f",
     "s"
    ],
-   "commit": "a80ed319a835efeaf7d71f49df0be143939bcc13",
-   "sha256": "11p486r79rklfqad7ar9cbyg4czla59fl0zcc0asa5zgdav17mww"
+   "commit": "ba30e609108d32fe6e1998490548b4631e3e48c3",
+   "sha256": "0fd7giz9ax8kvvnn86n53sxhs6wx0fgnlv8d38jkwh2dlk9qmyj0"
   },
   "stable": {
    "version": [
@@ -74784,11 +74996,11 @@
   "repo": "Shirakumo/markless.el",
   "unstable": {
    "version": [
-    20220702,
-    1811
+    20240218,
+    1639
    ],
-   "commit": "048eec3278ab82c1040d063d4f677f01090d4dab",
-   "sha256": "096i1w9d39093qldr4dsdcrsx0khzqjwh69v2valh9sdv3x82mf5"
+   "commit": "686dcf2592a042ebb4e01cbf60d4d8840dd74eaa",
+   "sha256": "07fg80zpyblp35m0i6bph372abzjfrh8vxqpyc0ik49vrwh0za1p"
   }
  },
  {
@@ -74957,28 +75169,28 @@
   "repo": "martianh/mastodon.el",
   "unstable": {
    "version": [
-    20240201,
-    1500
+    20240223,
+    1703
    ],
    "deps": [
     "persist",
     "request"
    ],
-   "commit": "d93fb56ef0e29956dc55befff84301b5b4eed548",
-   "sha256": "151190hcafm0r8pi053lm7akjli3m55q676sa3i3fy9c0pc4bhz8"
+   "commit": "25bae1042ff59efa516d6443a729453dc023dd11",
+   "sha256": "03x7r2hcd4m6xq21yignm04c9g4l732bs9cbig46k5rhvqsk7nnj"
   },
   "stable": {
    "version": [
     1,
     0,
-    14
+    16
    ],
    "deps": [
     "persist",
     "request"
    ],
-   "commit": "d93fb56ef0e29956dc55befff84301b5b4eed548",
-   "sha256": "151190hcafm0r8pi053lm7akjli3m55q676sa3i3fy9c0pc4bhz8"
+   "commit": "25bae1042ff59efa516d6443a729453dc023dd11",
+   "sha256": "03x7r2hcd4m6xq21yignm04c9g4l732bs9cbig46k5rhvqsk7nnj"
   }
  },
  {
@@ -75693,20 +75905,20 @@
   "repo": "meow-edit/meow",
   "unstable": {
    "version": [
-    20240130,
-    922
+    20240210,
+    1644
    ],
-   "commit": "f5ca6e7417701e4016215a101283b43c1875d035",
-   "sha256": "18s809gcnnp6swxjvdq4np49d7pr790jxq8f9br7za062fviaab4"
+   "commit": "54d4e933039827c158a4f593a94681a64e0d8042",
+   "sha256": "0xv6wg4lyi5bv68h5hk5hfxdwxa2g3ybxd8z0l420az4rnhr6zhq"
   },
   "stable": {
    "version": [
     1,
     4,
-    4
+    5
    ],
-   "commit": "f553db183a47b23d037b1a7f1cab48b0b4798a37",
-   "sha256": "1xd9v2ac44kxkbd1va70v7mfccmpnchgl7ipnhikq9y8jha02brr"
+   "commit": "54d4e933039827c158a4f593a94681a64e0d8042",
+   "sha256": "0xv6wg4lyi5bv68h5hk5hfxdwxa2g3ybxd8z0l420az4rnhr6zhq"
   }
  },
  {
@@ -75910,11 +76122,11 @@
   "repo": "wentasah/meson-mode",
   "unstable": {
    "version": [
-    20240109,
-    1656
+    20240211,
+    823
    ],
-   "commit": "1ea3bb5ca324db474cca61d3f41f20ff1dce8633",
-   "sha256": "14fgfcfgfr439n2i3hapn47gzajaysmzqn4238q2nbk3g7ii5baf"
+   "commit": "ed7d3071059429d816a878f879cb5cfabfa34485",
+   "sha256": "1lx52n6i057s6nin7bmv0sg0craiw2rjmb464cp893hdhb3a576c"
   },
   "stable": {
    "version": [
@@ -76043,8 +76255,8 @@
   "repo": "seblemaguer/metal-archives.el",
   "unstable": {
    "version": [
-    20230919,
-    851
+    20240217,
+    736
    ],
    "deps": [
     "alert",
@@ -76052,8 +76264,8 @@
     "metal-archives",
     "org-ml"
    ],
-   "commit": "15ea07747bd223f111f7fb6ca7b28c9dd0bcc4dc",
-   "sha256": "1dabjg2lhh7bs98fg41w0006v52z49m1i4a9118jfzrnv9p2d2zf"
+   "commit": "9425dc00f2f73089a3eada06fe87eba3802d090b",
+   "sha256": "1v74ql963mjsgpfh1f75f1a7cb9szzi5720y6p377q8njkprycjp"
   }
  },
  {
@@ -76269,14 +76481,14 @@
   "repo": "yoshinari-nomura/mhc",
   "unstable": {
    "version": [
-    20231006,
-    1305
+    20240206,
+    1129
    ],
    "deps": [
     "calfw"
    ],
-   "commit": "186d17bece0419c114db2474bc82e3eeeb1dbb9d",
-   "sha256": "0mwsyk6k9hrcabbkg8f9147fpf3x4dqld20qrc5n4lfk8510dqpy"
+   "commit": "244cc9089a95b83200c4121b235448dc6d3730cd",
+   "sha256": "0rd5dxqhzyki60vlnf10mhf3nqhq9inh56m4k92lp4865xsds7pp"
   },
   "stable": {
    "version": [
@@ -76490,20 +76702,20 @@
   "repo": "liuyinz/mini-echo.el",
   "unstable": {
    "version": [
-    20240202,
-    1904
+    20240220,
+    1934
    ],
-   "commit": "7cf704501f6bbca754771adc9ac5100417d0f663",
-   "sha256": "01vx0a65cpjjvxfspk1jcmb4iw6pf7480w4kg4jdzy32qgmgs1lh"
+   "commit": "f25a2f543b3e9fa5043ef37c81c17fc15aceb534",
+   "sha256": "1nbwwf087v1mp5vbmasxqnmbrsgzgm87yd5ajq1hnfxd412w3vhx"
   },
   "stable": {
    "version": [
     0,
     7,
-    1
+    2
    ],
-   "commit": "17fa60805fcee8cf5865908a183a11148e46faa2",
-   "sha256": "1slpb43jry32g48fd33arb4rv3y4r574nnz8681d2zn2nnjh4vs3"
+   "commit": "f25a2f543b3e9fa5043ef37c81c17fc15aceb534",
+   "sha256": "1nbwwf087v1mp5vbmasxqnmbrsgzgm87yd5ajq1hnfxd412w3vhx"
   }
  },
  {
@@ -77014,26 +77226,26 @@
   "repo": "dgutov/mmm-mode",
   "unstable": {
    "version": [
-    20230917,
-    28
+    20240222,
+    428
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "96906747e862449b722b6e2c741b61871894ac3a",
-   "sha256": "1cj5cam607a4imfpicjm3k60lz7r1g06kbia11hdzqgrvy63sy57"
+   "commit": "b1f5c7dbdc405e6e10d9ddd99a43a6b2ad61b176",
+   "sha256": "0iwbmgsspiyvkwb59ihqqh0hdfszwm2qk1ghf1923d3ssall72ks"
   },
   "stable": {
    "version": [
     0,
     5,
-    10
+    11
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "96906747e862449b722b6e2c741b61871894ac3a",
-   "sha256": "1cj5cam607a4imfpicjm3k60lz7r1g06kbia11hdzqgrvy63sy57"
+   "commit": "b1f5c7dbdc405e6e10d9ddd99a43a6b2ad61b176",
+   "sha256": "0iwbmgsspiyvkwb59ihqqh0hdfszwm2qk1ghf1923d3ssall72ks"
   }
  },
  {
@@ -77472,17 +77684,17 @@
  },
  {
   "ename": "modus-themes",
-  "commit": "a3645b08cb46e3d91081da7baa982b5283918447",
-  "sha256": "0rwf0vy6ic9b2qkb5a2xc3snfnnp31sr8hq3lzk4sx9j9cacvfly",
-  "fetcher": "sourcehut",
+  "commit": "aa92d00cfd7b5a62902a04c167679963e059b5d6",
+  "sha256": "0wd2jx42ya0fvjzyrpq9ahf3naff1zrssb39mqcark570bafdwy7",
+  "fetcher": "github",
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20240104,
-    1122
+    20240223,
+    712
    ],
-   "commit": "64823c7767710207cdf443492e0f712876dc4ee4",
-   "sha256": "00z5r76myq4znm3rvxhhzlpva5adycnvna87x1ar7qrp2z3zblly"
+   "commit": "5d57c7354bec2d62e4c962ab47101bd604aea438",
+   "sha256": "00km2b9zab5l109w0qf3qak4r5a8fr3wych7wkfk2d2ljs8brz4c"
   },
   "stable": {
    "version": [
@@ -78406,26 +78618,26 @@
   "repo": "sp1ff/mpdmacs",
   "unstable": {
    "version": [
-    20210904,
-    2048
+    20240210,
+    1526
    ],
    "deps": [
     "elmpd"
    ],
-   "commit": "66031a8993a2a704bdfaa9c63ec590dd0c5a2eea",
-   "sha256": "0n4b1klaf1jwd8bj9gqjy5p9yabgkgj9zai1cmsbnb4174h0719q"
+   "commit": "a401e2331300f79f9c4edc6fae46982d560c74fb",
+   "sha256": "16nsci7dfak6yzwiv28ld17m1f1gx14wzq3jvmxbirm97bv21pwg"
   },
   "stable": {
    "version": [
     0,
-    2,
-    2
+    3,
+    0
    ],
    "deps": [
     "elmpd"
    ],
-   "commit": "66031a8993a2a704bdfaa9c63ec590dd0c5a2eea",
-   "sha256": "0n4b1klaf1jwd8bj9gqjy5p9yabgkgj9zai1cmsbnb4174h0719q"
+   "commit": "a401e2331300f79f9c4edc6fae46982d560c74fb",
+   "sha256": "16nsci7dfak6yzwiv28ld17m1f1gx14wzq3jvmxbirm97bv21pwg"
   }
  },
  {
@@ -78786,11 +78998,11 @@
   "repo": "mkcms/mu4e-overview",
   "unstable": {
    "version": [
-    20231027,
-    1038
+    20240219,
+    2302
    ],
-   "commit": "0e711f47f9bab8bea9fe4f8e857920b879e70dcd",
-   "sha256": "0zh4pi4d74cs9p8ll7fzq8chxk84safvb7svxcss692jjsqvj89y"
+   "commit": "7843cb64c861729bfd57ec3e8ad7faf6edb2e543",
+   "sha256": "1sq5lfhs00dr3mc25wjm2y18ac78rh7dkj4f67kndhrrr99z6zcg"
   },
   "stable": {
    "version": [
@@ -79160,14 +79372,14 @@
   "repo": "magnars/multiple-cursors.el",
   "unstable": {
    "version": [
-    20230728,
-    518
+    20240223,
+    1134
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "234806c832994cadedb42596fe235e91bbd59e8c",
-   "sha256": "1q8325ij1f1y1779f5p00kj3hp3ndqzl5f88f0b238mmz4g4yayi"
+   "commit": "c870c18462461df19382ecd2f9374c8b902cd804",
+   "sha256": "1703ca0k0mlvjh7l0jv2nzgzah8ixb3n9av725cs2c07cih6vhsa"
   },
   "stable": {
    "version": [
@@ -79208,14 +79420,14 @@
   "repo": "zevlg/multitran.el",
   "unstable": {
    "version": [
-    20230920,
-    2009
+    20240206,
+    1617
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "285b625b5e94f5dd960cb4a3292407aa7568073e",
-   "sha256": "0br5gy1jxanj7sjvrhqgni6bfins6nr79pccyjibqc8ca29zvgsz"
+   "commit": "680f31d15b78876daf484bd926e5c172ab061595",
+   "sha256": "1x49n73faqmw5gkyrfyb4gxvnd6ql6a2xlxsvb4q4v0yl3jsxrn4"
   },
   "stable": {
    "version": [
@@ -79687,11 +79899,11 @@
   "repo": "kenranunderscore/emacs-naga-theme",
   "unstable": {
    "version": [
-    20231208,
-    719
+    20240218,
+    715
    ],
-   "commit": "5b36834b9a8b4d18e6ed031944190987f9721867",
-   "sha256": "1ygg3hzak2sy9d0kir831dy918vqq7j64yyqnps5ix54vqlj0yas"
+   "commit": "a4c1d5bef93d9382ecf967a9897796e7a8937484",
+   "sha256": "1xkhqmfpb4sc1glx5ly9hwjpicdiq94cfbi9qsb43fx5xqc38d3a"
   }
  },
  {
@@ -80000,10 +80212,10 @@
  },
  {
   "ename": "narumi",
-  "commit": "961a81f77cebaf9361699dec65b733bf33bc92b4",
-  "sha256": "1d81z6zxxlv2sih28ar6s93ic49z9qy4q03r115k0559bqy47gjh",
+  "commit": "407fe8b80df931460335c2f4ae1db11cab7ae508",
+  "sha256": "1zz4k42idan68j0b5sk7fspmdy1y1ynmhh73mdi3sp5adnqq8n0s",
   "fetcher": "github",
-  "repo": "nryotaro/narumi",
+  "repo": "ryotaro612/narumi",
   "unstable": {
    "version": [
     20220228,
@@ -80220,11 +80432,11 @@
   "repo": "nickav/naysayer-theme.el",
   "unstable": {
    "version": [
-    20231227,
-    1626
+    20240220,
+    2159
    ],
-   "commit": "59b0cf29ee9c7a5979423fb63b412b67592c58e3",
-   "sha256": "1iajdngjgvjhx1pfrjh51gkiwvfiy919qk2bdvk8n8ybwv655q55"
+   "commit": "5e0bfaffb5162f3f35690ef3397a5ab63006042f",
+   "sha256": "1vzl06dgsczmnjl84sc2wzl5icn55c99czfij8mw589vqhzx5fjs"
   }
  },
  {
@@ -80949,8 +81161,8 @@
   "repo": "nim-lang/nim-mode",
   "unstable": {
    "version": [
-    20231101,
-    1342
+    20240220,
+    1033
    ],
    "deps": [
     "commenter",
@@ -80958,8 +81170,8 @@
     "flycheck-nimsuggest",
     "let-alist"
    ],
-   "commit": "1338e5b0d5e111ad932efb77d3cad680cc3b86c9",
-   "sha256": "1c7nx730c7fbdkjnb3ym9k3bfxjgfs3ki69ld0qam2jf5xjhl398"
+   "commit": "625cc023bd75a741b7d4e629e5bec3a52f45b4be",
+   "sha256": "0jasg5qiha0y3zqh1q1knlhipnk11kqd1jxzgmpcsyc3ikq01brs"
   },
   "stable": {
    "version": [
@@ -81454,14 +81666,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20240108,
-    2107
+    20240217,
+    1926
    ],
    "deps": [
     "compat"
    ],
-   "commit": "dab372c82338ba10d9810151623b3fbd9e3a78e8",
-   "sha256": "09sxdsshkr6chg9zaw6bqyh7isazrv9liryr15nzqlc3vxvw2w24"
+   "commit": "6de0be803206334bfff5b74cdccab5ed51b37280",
+   "sha256": "0frxyyq7rr13m3jdzczr185wphrfxylgfriqagchpqnby386bzpr"
   },
   "stable": {
    "version": [
@@ -81493,9 +81705,9 @@
  },
  {
   "ename": "noaa",
-  "commit": "1272203f85375e50d951451bd5fd3baffd57bbfa",
-  "sha256": "11hzpmgapmf6dc5imvj5jvzcy7hfddyz74lqmrq8128i72q1sj0v",
-  "fetcher": "github",
+  "commit": "e6f1a5f49b0f69179996708b10b591bb6bcb1f9c",
+  "sha256": "1k81clg23lmf22x8hvqjyzjbl5phwh7f05wj40nh55v2zl9y3kha",
+  "fetcher": "codeberg",
   "repo": "thomp/noaa",
   "unstable": {
    "version": [
@@ -81590,20 +81802,20 @@
   "repo": "abicky/nodejs-repl.el",
   "unstable": {
    "version": [
-    20200802,
-    1310
+    20240218,
+    2357
    ],
-   "commit": "3b841055cad00f442e4a9159b1056f59411b6646",
-   "sha256": "0371lz9378x3vjj2kqir89sjy0l5d5j6ha5yz1381nkh15dcww15"
+   "commit": "77a864ca72a6c30217085f1c4db5de72e47eb4da",
+   "sha256": "06in0nnynrj6ciwbch4x8s65n6d750ikarvrdcjypi0cb0vscwsk"
   },
   "stable": {
    "version": [
     0,
     2,
-    4
+    5
    ],
-   "commit": "f5ce3d5b7b4e0d06f6e9d4930d9ecc417633586b",
-   "sha256": "0a5mmg3cmdi73giblp07ksl06xzl9nb2m3f96ny4r3rv0ar3v1bx"
+   "commit": "cc74729c8494a4d3555fac6d3a3fd0e0ff4ac50a",
+   "sha256": "06in0nnynrj6ciwbch4x8s65n6d750ikarvrdcjypi0cb0vscwsk"
   }
  },
  {
@@ -82736,20 +82948,20 @@
   "repo": "KeyWeeUsr/ob-base64",
   "unstable": {
    "version": [
-    20240102,
-    1818
+    20240211,
+    1201
    ],
-   "commit": "e8150fd7c9b75be175dfa2cf6bff29ef144dd0ec",
-   "sha256": "0w8w2gj98hc263pp12598abs17jvjj0m7k7hflm3d1hcjjd4jys8"
+   "commit": "28a8f448fd706a071b351634482e5c46f80e7d46",
+   "sha256": "1ar12skshi2x2hfrlpy4b2029gqv7wz0cj4a8gjr0gs1hvaj2faz"
   },
   "stable": {
    "version": [
     1,
     1,
-    4
+    5
    ],
-   "commit": "e8150fd7c9b75be175dfa2cf6bff29ef144dd0ec",
-   "sha256": "0w8w2gj98hc263pp12598abs17jvjj0m7k7hflm3d1hcjjd4jys8"
+   "commit": "28a8f448fd706a071b351634482e5c46f80e7d46",
+   "sha256": "1ar12skshi2x2hfrlpy4b2029gqv7wz0cj4a8gjr0gs1hvaj2faz"
   }
  },
  {
@@ -82831,14 +83043,14 @@
   "repo": "xenodium/chatgpt-shell",
   "unstable": {
    "version": [
-    20240113,
-    1737
+    20240213,
+    1729
    ],
    "deps": [
     "chatgpt-shell"
    ],
-   "commit": "3bf5464d2c7354f212446e9af151749aef80c2c9",
-   "sha256": "0qwchv14xrqvpk0gc7rr1gb64wy7lzn0fvknv45dw50pwp8iiw8p"
+   "commit": "2657079cb4d83d4fdcc0de4d5d225ed7e960ac9b",
+   "sha256": "0rm4mvd08vijw61ambbs9k0gc334iy5n2iaw886zpkyj5g4gngp5"
   }
  },
  {
@@ -85399,11 +85611,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20231110,
-    1448
+    20240221,
+    1601
    ],
-   "commit": "b24748093b00b37c3a572c4909f61c08fa27504f",
-   "sha256": "155ciczwvn7xs3zdaf43q8bryvhd9lsbr85vvj8gs85zjqb407y4"
+   "commit": "91df48c8e1331e434ce6ce3bab709de2035e3ec4",
+   "sha256": "1frpidiv3pl5l5nh0n1k7yhkbhk2hqsbnpdv63jdn767w8s3pwa2"
   },
   "stable": {
    "version": [
@@ -86074,14 +86286,14 @@
   "repo": "dengste/org-caldav",
   "unstable": {
    "version": [
-    20240127,
-    1937
+    20240221,
+    704
    ],
    "deps": [
     "org"
    ],
-   "commit": "a225f493da331aa27041a1c830aa45484b6d5381",
-   "sha256": "0qzbzhpmqacskm02s88sfxkz3p1wdj1ddzdhgxf9766s8ywbn8q3"
+   "commit": "9a3062cea3d1081450abbbef6a0d2b83014f31fb",
+   "sha256": "09vhpbbyxnip0rb3467an227w9xacg6amcfv75bqlyyj7c8lh675"
   }
  },
  {
@@ -86181,6 +86393,45 @@
   }
  },
  {
+  "ename": "org-cite-overlay",
+  "commit": "671bcd3d460e023f2c522956b01307ab24f6d13a",
+  "sha256": "03w58307i7qpa9ha4j460ql6svvlkyjx9i8wmh2y2y96x17ybpss",
+  "fetcher": "sourcehut",
+  "repo": "swflint/org-cite-overlay",
+  "unstable": {
+   "version": [
+    20240207,
+    1611
+   ],
+   "deps": [
+    "citeproc"
+   ],
+   "commit": "cb401787b4569f43815cac55be8a319c489de3de",
+   "sha256": "1f4n67hlfaaxz12cyjj759kjkr1vxh8dfbaq987c5dzh5afjjzsj"
+  }
+ },
+ {
+  "ename": "org-cite-overlay-sidecar",
+  "commit": "26b6a1ab7170cbc581cc37b42769470c4526d8a7",
+  "sha256": "0b53qksn8h0qajb9b8jkgyrs7f90h01vsyqcsv99hj69lbirch8b",
+  "fetcher": "sourcehut",
+  "repo": "swflint/org-cite-overlay",
+  "unstable": {
+   "version": [
+    20240213,
+    1802
+   ],
+   "deps": [
+    "citeproc",
+    "org-cite-overlay",
+    "universal-sidecar",
+    "universal-sidecar-citeproc"
+   ],
+   "commit": "bb23142f5d0d390196839fa9b3ce27ce4d149b59",
+   "sha256": "1vjmygl9gm1syikf06iarri1yb8hrp3zvk0c9sm46h2wj476v4dy"
+  }
+ },
+ {
   "ename": "org-cite-sidecar",
   "commit": "78a825b6589e3d1264a2134c11fdf836ea75e348",
   "sha256": "0ifdlfk6zqv6ajl0hsc0vhll5pf496n7za65vnvpfrmbkz1g9j6y",
@@ -86188,16 +86439,16 @@
   "repo": "swflint/emacs-universal-sidecar",
   "unstable": {
    "version": [
-    20240203,
-    1618
+    20240218,
+    1917
    ],
    "deps": [
     "citeproc",
     "universal-sidecar",
     "universal-sidecar-citeproc"
    ],
-   "commit": "9998eea0cff6216acfc354a99431c4506dec1839",
-   "sha256": "1rzirczzkzfg6ri8sn3x0k38ii5ra45m2n3hbrls90djzx63r778"
+   "commit": "94e349534e049c9bcf08eb70ef4ebfc9b9f80d0d",
+   "sha256": "0yh682yv8236458070v56g7p1c7ana87whyp9kz1k7nwjr6z9vil"
   },
   "stable": {
    "version": [
@@ -86362,14 +86613,14 @@
   "url": "https://repo.or.cz/org-contacts.git",
   "unstable": {
    "version": [
-    20230721,
-    151
+    20240220,
+    536
    ],
    "deps": [
     "org"
    ],
-   "commit": "7f03eafaad2e5746949c0bebb98353e939c51ade",
-   "sha256": "1s29h8chfskls13jb13j56cvzfyc4xgg4ckv97a6wy902lw83z8b"
+   "commit": "fe2ca7d35c439f64742234beba35ed4a3e196f70",
+   "sha256": "0jd12dcj3rirkgnmfz69pdijwwihdlv9441zb0yvrz4vi4z2n9ac"
   }
  },
  {
@@ -86564,6 +86815,24 @@
   }
  },
  {
+  "ename": "org-drawio",
+  "commit": "a92d65756e6dc1f4d6a8898e2330aa89672fc34e",
+  "sha256": "1kyn9lfkqbywzdc6y2brkj55jcc8h7j43gb8ka77kr6zxdxqxh1k",
+  "fetcher": "github",
+  "repo": "kimim/org-drawio",
+  "unstable": {
+   "version": [
+    20240213,
+    38
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "6b25d0ecf7de364da96c96da30a995df8a4cb835",
+   "sha256": "0ywxhryabqfrlakrnksa9p95vgm5mf2xdw8lpxmgznghdxcgdnk2"
+  }
+ },
+ {
   "ename": "org-drill",
   "commit": "c26e11c52c8bb5c88df348cc15df6e0386bf8e1b",
   "sha256": "16r8v2blqf0s1j6csp0mw0radm6bjkbdw18lr7zwx8ja1sjl48ws",
@@ -86794,6 +87063,30 @@
   }
  },
  {
+  "ename": "org-epa-gpg",
+  "commit": "86a86906a953bcd33c7d0cdc8c4f97f29aaa1389",
+  "sha256": "1hnxcyrpzdss0byhczwm6wbm4bnaxrv2vvxv33pkml6nq30sz3yk",
+  "fetcher": "github",
+  "repo": "KeyWeeUsr/org-epa-gpg",
+  "unstable": {
+   "version": [
+    20240208,
+    20
+   ],
+   "commit": "817b8e732c72bacddd8574f2c8f64fb26a1cfcc9",
+   "sha256": "1mpl10np6smap70icw1hyrayfy0sbmz5zmgvaf74zvyf3g3y0f3l"
+  },
+  "stable": {
+   "version": [
+    2,
+    1,
+    0
+   ],
+   "commit": "47357e0dcfb8860d5d5aa9f22c12e547a0eb50e9",
+   "sha256": "0g4v73mvc743a0pdhyk72bjia4n3n7v49jw2bmpp12m0pqvznjrx"
+  }
+ },
+ {
   "ename": "org-evil",
   "commit": "17a4772d409aa5dbda5fb84d86c237fd2653c70b",
   "sha256": "0wvd201k9b9ghg39rwbah6rw8b7hyyd27vvqjynjwbk3v8rp5zyn",
@@ -87058,11 +87351,11 @@
   "repo": "ml729/org-habit-stats",
   "unstable": {
    "version": [
-    20230412,
-    515
+    20240208,
+    323
    ],
-   "commit": "9cb389f1c409d1f7aaea28378b4d7c7e975aefd4",
-   "sha256": "182xj29gsdl726rj1npgwyi7jycd2vzllm16nl111h0h8zkdcq26"
+   "commit": "d500f3a1b269b26097dd2f4cd414c3cb7c68ca23",
+   "sha256": "0ms7bi4hb13z8srz0a8zfx258846y227dvs884jbxycrgnxzxsi0"
   }
  },
  {
@@ -87389,14 +87682,14 @@
   "repo": "bastibe/org-journal",
   "unstable": {
    "version": [
-    20240107,
-    1922
+    20240218,
+    1645
    ],
    "deps": [
     "org"
    ],
-   "commit": "605a7eb984a95fc6ec122df800632bf56ff59514",
-   "sha256": "174mlgckvygahg3jvcsiplda6s633j3h4pz83n9nj5wr8i2r18g8"
+   "commit": "859dc19168dc6b10eba3843f24980a7db79f6869",
+   "sha256": "0flp1nl4pb30g4r86xj627wavv9pdqqi5rjwwr3734z5x870srf1"
   },
   "stable": {
    "version": [
@@ -87542,15 +87835,15 @@
   "url": "https://repo.or.cz/org-link-beautify.git",
   "unstable": {
    "version": [
-    20240104,
-    247
+    20240223,
+    1448
    ],
    "deps": [
     "fb2-reader",
     "nerd-icons"
    ],
-   "commit": "0da5f4321bd1ed69e0597cdb99ecc2ee16d3538c",
-   "sha256": "1phwvf5m528fkp01k830gp1maqg65vbn3450dn4kdsrr28phk8z5"
+   "commit": "988f4b19f85340c6a7ba2a8c2c928833843957bc",
+   "sha256": "1b5dgjlg4w4x2b9j6zr1m0swxvngw0bn7n9wfwxq76vd6s52lr1m"
   }
  },
  {
@@ -87963,28 +88256,58 @@
   "repo": "Zweihander-Main/org-newtab",
   "unstable": {
    "version": [
-    20240117,
-    410
+    20240222,
+    413
    ],
    "deps": [
     "async",
     "websocket"
    ],
-   "commit": "102b6bbd199f6c36c13adc945f020845a190687d",
-   "sha256": "150l8xyw8ygqmpajs0dm74xfbv7h430zmq6rcvr4jgr7l3gnjizr"
+   "commit": "892a35cd853e8a83fc9b7645e7bb7c25838d220a",
+   "sha256": "07vf1lsh75jh9x483agrk69mbja7v0qyi1wi2q5xj3p3hi89j0iq"
   },
   "stable": {
    "version": [
     0,
-    0,
-    3
+    1,
+    0
    ],
    "deps": [
     "async",
     "websocket"
    ],
-   "commit": "6addaa6ac28aba85d5271278ebbc9c145c4cd123",
-   "sha256": "1f6v6mhg8i9zgyv1aqk7p7mavpdkw4ckxsxadxx2p8ipv7lbgkir"
+   "commit": "892a35cd853e8a83fc9b7645e7bb7c25838d220a",
+   "sha256": "07vf1lsh75jh9x483agrk69mbja7v0qyi1wi2q5xj3p3hi89j0iq"
+  }
+ },
+ {
+  "ename": "org-nix-shell",
+  "commit": "0ec18d369e023382fb9e3a43556678f4d94fd014",
+  "sha256": "1fycjf0vfaxhzkc3n37j6l93pjpqc5c5zbwsnbl2xaab5racq56h",
+  "fetcher": "github",
+  "repo": "AntonHakansson/org-nix-shell",
+  "unstable": {
+   "version": [
+    20240205,
+    1642
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "d9843aa0f62a39b9938a89388e25129ecb39a4cc",
+   "sha256": "1ci8galz7cc8y2fdq1nl1wbpbid2ixvz77744yxxk43977gbpn1c"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    2
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "d9843aa0f62a39b9938a89388e25129ecb39a4cc",
+   "sha256": "1ci8galz7cc8y2fdq1nl1wbpbid2ixvz77744yxxk43977gbpn1c"
   }
  },
  {
@@ -88014,15 +88337,15 @@
   "repo": "org-noter/org-noter",
   "unstable": {
    "version": [
-    20231205,
-    37
+    20240207,
+    2329
    ],
    "deps": [
     "cl-lib",
     "org"
    ],
-   "commit": "9d7d48879abb0db89abe4bbdb076fbf5c0d1b5ed",
-   "sha256": "0blrdgbnx2dxi51vjvxjzlkwddas7fpigzr48yvnrq72l12r8ax8"
+   "commit": "9e4f57957b8f54db20a4e13bf8d6b32e004ab3e8",
+   "sha256": "13i6xq1rq2dz9c41h97c69fziqvvjjw8nzh45qc35fyc53zqdphl"
   }
  },
  {
@@ -88513,8 +88836,8 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20240113,
-    647
+    20240222,
+    200
    ],
    "deps": [
     "compat",
@@ -88529,14 +88852,14 @@
     "transient",
     "ts"
    ],
-   "commit": "8d3c93b8838bd5d5347dd8962b68cc3cabcf0147",
-   "sha256": "03hc2ki6fcadfns6ppdk58caqczsfcqbfxk6m6367mflgkdpqhzq"
+   "commit": "e41fe9018a4699532ec875bedddc9746f8e362aa",
+   "sha256": "1rvnxlnpb6yk06frdfs1szz98823hqjmi646kwb00b39qhyynzfg"
   },
   "stable": {
    "version": [
     0,
     8,
-    4
+    5
    ],
    "deps": [
     "compat",
@@ -88551,8 +88874,8 @@
     "transient",
     "ts"
    ],
-   "commit": "9606aaf81230d1faf2c7f54925b45e527fa32bf0",
-   "sha256": "07r9bx0bh7wyj5pbkhnrn8amzz3ynri94cxcxgcn1r3ypdhk6y85"
+   "commit": "bfff0b5517d55d01bf12de27e10a73c9a077767b",
+   "sha256": "1wnvrjx9r9f1ykfdafj9pz1b0n669bqmixb5q35kmahyjis8rswq"
   }
  },
  {
@@ -88825,8 +89148,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20240201,
-    1224
+    20240220,
+    1951
    ],
    "deps": [
     "avy",
@@ -88842,8 +89165,8 @@
     "request",
     "s"
    ],
-   "commit": "b1ceadaa5eaa253e9dac223b9f23ce2b4e8e8ab7",
-   "sha256": "035h308fvfvdr0mi1k90wq8lzsbcpdbcj2s0k2ia0c9jqgy5860a"
+   "commit": "fc6a933b64e127596d0dd61227f287ba545f6317",
+   "sha256": "0xiaa89y88dy3mw16zbnwgilx173nh3zpkrjrxinvl001qdvcbda"
   },
   "stable": {
    "version": [
@@ -89059,8 +89382,8 @@
   "repo": "ahmed-shariff/org-roam-ql",
   "unstable": {
    "version": [
-    20231220,
-    503
+    20240212,
+    202
    ],
    "deps": [
     "magit-section",
@@ -89069,8 +89392,8 @@
     "s",
     "transient"
    ],
-   "commit": "04c0a88d86ec66a4586c819048d0ae1833efee83",
-   "sha256": "070cmgh5j57zk8gjd7vwcr709r7kq6ri0m2c7ac7gw49yh7a68gg"
+   "commit": "9f5f1234a69b1df9d65ab947a003060fb5a28b60",
+   "sha256": "0jmdjf1mhbgnfncsgh3qiwss3hyn3yydc7gd0g0d42a8ac24svbh"
   },
   "stable": {
    "version": [
@@ -89743,14 +90066,14 @@
   "url": "https://repo.or.cz/org-tag-beautify.git",
   "unstable": {
    "version": [
-    20240126,
-    314
+    20240216,
+    939
    ],
    "deps": [
     "nerd-icons"
    ],
-   "commit": "c04e13cd991d400e43a25f1ff39409dda0e4957b",
-   "sha256": "0gkzhnkk9lmb1ddrsfjj0p0q6jsk9zghga3dnjal99jdjcd4kx47"
+   "commit": "6ec9f65e98df1e7f8a55c98bd2a3c0433fbfc5db",
+   "sha256": "15glg771jh3xp1fyyyvrqbxfv7vxy91vg54cg204h04gl3z1bwdd"
   }
  },
  {
@@ -89922,16 +90245,16 @@
   "repo": "ichernyshovvv/org-timeblock",
   "unstable": {
    "version": [
-    20240120,
-    2253
+    20240212,
+    649
    ],
    "deps": [
     "compat",
     "org",
     "svg"
    ],
-   "commit": "7b39e19d511536835a3891f1cfbcdff4983b29b6",
-   "sha256": "1g37yw6gcagfniy3b8n03iw6wplf549x63zcqf6xq2rxd9jf2jxw"
+   "commit": "b423b01712b9c25dff3e4203c7cde736225f62ef",
+   "sha256": "1q0271nli4yw01rwybkzdlqcj8ivqwh5r70yv9x0qqwxa955c9k9"
   },
   "stable": {
    "version": [
@@ -90306,11 +90629,11 @@
   "repo": "amno1/org-view-mode",
   "unstable": {
    "version": [
-    20221208,
-    327
+    20240218,
+    1930
    ],
-   "commit": "014f96acb7093ffae93c62aabff750e63c3babc5",
-   "sha256": "1m9jv6nssf2nqkav8nx1748wwc8i5338bc2brxlqajcy4dcz3fbg"
+   "commit": "0d48e9c7e81d973f33e97d364e4ea77576d53f46",
+   "sha256": "1nrdq9x0xgv581dddg5crfyy7znzfk9n63x97favr7nqiz5cnnli"
   }
  },
  {
@@ -90401,16 +90724,16 @@
   "repo": "akhramov/org-wild-notifier.el",
   "unstable": {
    "version": [
-    20231222,
-    1147
+    20240223,
+    1211
    ],
    "deps": [
     "alert",
     "async",
     "dash"
    ],
-   "commit": "97649754cead8826fd1b07dc0f6e6eb89cb181e1",
-   "sha256": "181fckfp5s8apll1z3zkkqmqa58iylwi2ml3z5z77ppsbjdnyrp7"
+   "commit": "1b04c4104ad72bbb3ced161ba99e1055ff766138",
+   "sha256": "0d3rmli39sxdjp2rv0xlwjilgf9xsys20j66cb44a58mb5x61y2w"
   },
   "stable": {
    "version": [
@@ -91398,11 +91721,11 @@
   "repo": "DarwinAwardWinner/mac-pseudo-daemon",
   "unstable": {
    "version": [
-    20200215,
-    513
+    20211208,
+    137
    ],
-   "commit": "564b006835facc4a8df247d8a47ab1030d7e7beb",
-   "sha256": "1ilqxl1851rg9v6ixi924xhzykc3c34f4nq1x0vyyq5b9m2fpb27"
+   "commit": "b95260ff605f67bce40fce6b3e35811859ce12bb",
+   "sha256": "00l66z1bszaw4v9203ax177frrbzzc099zvkjzhjj3q1rkfqq0bf"
   },
   "stable": {
    "version": [
@@ -91765,28 +92088,28 @@
   "repo": "aki2o/owdriver",
   "unstable": {
    "version": [
-    20240124,
-    925
+    20240211,
+    457
    ],
    "deps": [
     "log4e",
     "yaxception"
    ],
-   "commit": "f272f7c7b374cc4410f56b2ee69b6e9df404819e",
-   "sha256": "1jqns6qsi3ax9avyjg17cnjxn0jiapn9qp00njsm7dfyrpabxcyd"
+   "commit": "ae96f3ff7aca560a872c77d40999f1527f7f84eb",
+   "sha256": "0spxxw9mqgicaq3h5qjx0cbi7nw9nzfwy9av3jprplvp5z7m0nva"
   },
   "stable": {
    "version": [
     0,
-    3,
-    1
+    4,
+    0
    ],
    "deps": [
     "log4e",
     "yaxception"
    ],
-   "commit": "f272f7c7b374cc4410f56b2ee69b6e9df404819e",
-   "sha256": "1jqns6qsi3ax9avyjg17cnjxn0jiapn9qp00njsm7dfyrpabxcyd"
+   "commit": "ae96f3ff7aca560a872c77d40999f1527f7f84eb",
+   "sha256": "0spxxw9mqgicaq3h5qjx0cbi7nw9nzfwy9av3jprplvp5z7m0nva"
   }
  },
  {
@@ -91926,11 +92249,11 @@
   "repo": "abrahms/ox-gemini",
   "unstable": {
    "version": [
-    20230517,
-    1559
+    20240221,
+    2127
    ],
-   "commit": "799eb6aa0ee9ead7642836962d28e650eccd0ba3",
-   "sha256": "0hy5gizjghgzis5vh56jvf06jgif2azm76021a5az6rl2y7arfmm"
+   "commit": "50818de823b7929f2d3207833e7c581280a60289",
+   "sha256": "1kaf3p6g46rvbiyrkfmpflhdvzz9bdqsq1m02496py92399x3knz"
   }
  },
  {
@@ -92815,11 +93138,11 @@
   "repo": "phillord/pabbrev",
   "unstable": {
    "version": [
-    20160320,
-    2101
+    20240216,
+    439
    ],
-   "commit": "56400d5d256b42ffe45c229ea9827f026b650cf5",
-   "sha256": "09bn19ydyz1hncmvyyh87gczp3lmlczpm352p0107z1gw6xmpjil"
+   "commit": "bf8a498f2ddd268981d43fb71cf98aa2e4be3942",
+   "sha256": "1ilj6zm85hq95xlnx6b7sbzxdrkk5pdbcnd26igmy6z0z3br2kl3"
   },
   "stable": {
    "version": [
@@ -92915,14 +93238,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20240102,
-    1647
+    20240204,
+    2043
    ],
    "deps": [
     "compat"
    ],
-   "commit": "414b328a4f18a6237867739c56e8777e8086d2e8",
-   "sha256": "0dgglkx44rq824v1ar6xqh2lryqp4qhn2n7d7hc6ar7sal9vx8y2"
+   "commit": "6ae02eddae6846d17ad6b13f036de35ee7d7f60b",
+   "sha256": "0k2z197f5q9iracmax4mrzw5x06clc8x615l0l9204xmd6bsms2k"
   },
   "stable": {
    "version": [
@@ -92957,16 +93280,14 @@
   "repo": "purcell/package-lint",
   "unstable": {
    "version": [
-    20240118,
-    1725
+    20240220,
+    2303
    ],
    "deps": [
-    "cl-lib",
-    "compat",
     "let-alist"
    ],
-   "commit": "3d74189df110b1656c2cd97c332921f4856dbd76",
-   "sha256": "0yfb31v5zrnaxd61cp1nnn2g07wa8xhmimnh735clc2ccqdjj0ca"
+   "commit": "eeb585eaceeba483d9bc7ab543e7422c82920e35",
+   "sha256": "0m257k7zl1fq56xpwq9pwl3ihahyd4235hmjq4p5k0b0f3bfbgdx"
   },
   "stable": {
    "version": [
@@ -93153,11 +93474,11 @@
   "repo": "purcell/page-break-lines",
   "unstable": {
    "version": [
-    20240117,
-    1610
+    20240206,
+    1156
    ],
-   "commit": "e8bfd1ab660030679163f5a4913ff24b99095436",
-   "sha256": "1jn35d08bmf5m4x99fdc2wdgh8l5cmyaba7zphdr7vvykp7zgmnh"
+   "commit": "1b85352b0b16328d5c9e6a25baf93da3edaa6512",
+   "sha256": "1899dc4x9n07j98ciqf8rq0sh9791bnsf719b5fc3vqql93x57i5"
   },
   "stable": {
    "version": [
@@ -93649,19 +93970,20 @@
   "repo": "Fanael/parent-mode",
   "unstable": {
    "version": [
-    20150824,
-    2300
+    20240210,
+    1906
    ],
-   "commit": "db692cf08deff2f0e973e6e86e26662b44813d1b",
-   "sha256": "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"
+   "commit": "9fe5363b2a190619641c79b3a40d874d8c8f9f40",
+   "sha256": "1ki22rkbyglr3wppjph6gy23lcx2nwj9w0ff9h3ryd197j4yvvgi"
   },
   "stable": {
    "version": [
     2,
-    3
+    3,
+    1
    ],
-   "commit": "db692cf08deff2f0e973e6e86e26662b44813d1b",
-   "sha256": "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"
+   "commit": "9fe5363b2a190619641c79b3a40d874d8c8f9f40",
+   "sha256": "1ki22rkbyglr3wppjph6gy23lcx2nwj9w0ff9h3ryd197j4yvvgi"
   }
  },
  {
@@ -94439,11 +94761,11 @@
   "repo": "joddie/pcre2el",
   "unstable": {
    "version": [
-    20230828,
-    1544
+    20240220,
+    1530
    ],
-   "commit": "018531ba0cf8e2b28d1108136a0e031b6a45f1c1",
-   "sha256": "1bfvmpswvc1rvhhf879j8qnwfpxdap6nr7l1g5fpxpz88s3d441r"
+   "commit": "380723b2701cceb75c266440fb8db918f3340d50",
+   "sha256": "0h73d9f1zj74vjir2kiq4s2g5rai7b59z7da20kh862xnldfcxsx"
   },
   "stable": {
    "version": [
@@ -95047,14 +95369,14 @@
   "repo": "nex3/perspective-el",
   "unstable": {
    "version": [
-    20220921,
-    346
+    20240218,
+    437
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8a69512639ae915c32c5055d1308ebf4b278266c",
-   "sha256": "1r026cw6p2ss5wg8mxgzf6iv1lb9pdnqyf6yrqb914aibkrvp9b6"
+   "commit": "460311b6e76f33de947908da74b6cbf66118d487",
+   "sha256": "13h83c4xn1xq29w24bgpkycacxswn34mdyx2lav5czwkmyi16ri8"
   },
   "stable": {
    "version": [
@@ -95236,19 +95558,19 @@
   "repo": "emarsden/pg-el",
   "unstable": {
    "version": [
-    20240110,
-    903
+    20240221,
+    1722
    ],
-   "commit": "84a2e8ed3b9dbb969bbe14544abf2438892f16af",
-   "sha256": "1dad9irnv3sppl3yfl5swdsf4f1z2fds7r1li3f1kphm37v6jn5g"
+   "commit": "3b4cef1a1fe57bd8ee32a0c58667d1fc8f802180",
+   "sha256": "00sdvlb9ybyzncjijibw81mf3lhw5p40v7086cg18xvpa2qvzdfz"
   },
   "stable": {
    "version": [
     0,
-    27
+    28
    ],
-   "commit": "84a2e8ed3b9dbb969bbe14544abf2438892f16af",
-   "sha256": "1dad9irnv3sppl3yfl5swdsf4f1z2fds7r1li3f1kphm37v6jn5g"
+   "commit": "3b4cef1a1fe57bd8ee32a0c58667d1fc8f802180",
+   "sha256": "00sdvlb9ybyzncjijibw81mf3lhw5p40v7086cg18xvpa2qvzdfz"
   }
  },
  {
@@ -96112,6 +96434,30 @@
   }
  },
  {
+  "ename": "pinyin-isearch",
+  "commit": "7aa5de17093792f4cc7e89ecfe2eeb11c2d17c6e",
+  "sha256": "1brkd0cml4ljznh2h1ydaaz7pfhiblgkhhnwnsvr5ry25k50l8qx",
+  "fetcher": "github",
+  "repo": "Anoncheg1/pinyin-isearch",
+  "unstable": {
+   "version": [
+    20240224,
+    709
+   ],
+   "commit": "bb956213c6ccd3067d5e3c33d7695bdc5ba58133",
+   "sha256": "1yphxa4f7q2rlrgk3l9dr6yx2fha474phiz04cz863aqylwcxfw4"
+  },
+  "stable": {
+   "version": [
+    1,
+    6,
+    9
+   ],
+   "commit": "1ed4218cb50b4de614c11dc41ab6053255271ae7",
+   "sha256": "0m9j819q7mm5q418g160c0bickjij37w5j7c0lzhwvpilhmh2cny"
+  }
+ },
+ {
   "ename": "pinyin-search",
   "commit": "03da6f02778f7fae77a00cdc420cfbafead6dec4",
   "sha256": "1si693nmmxgg0kp5mxvj5nq946kfc5cv3wfsl4znbqzps8qb2b7z",
@@ -97935,11 +98281,11 @@
   "repo": "pitkali/pos-tip",
   "unstable": {
    "version": [
-    20230721,
-    834
+    20240209,
+    837
    ],
-   "commit": "90a9babc829b298af36be695009894fc00a97935",
-   "sha256": "1k6r59jhbyiknhsl7df0zafyc4d9r3vk953x6sdxgz92kx6hxpfy"
+   "commit": "4889e08cf9077c8589ea6fea4e2ce558614dfcde",
+   "sha256": "0wnmh9a9ks0pmcjy9df5higfbz9gy1ydj4n8s84hkhd4wq4fndvv"
   },
   "stable": {
    "version": [
@@ -98226,8 +98572,8 @@
   "repo": "blahgeek/emacs-pr-review",
   "unstable": {
    "version": [
-    20231117,
-    714
+    20240206,
+    414
    ],
    "deps": [
     "ghub",
@@ -98235,8 +98581,8 @@
     "magit-section",
     "markdown-mode"
    ],
-   "commit": "b55edab544a7706d3d39b8dc6bebdf10b8b901f8",
-   "sha256": "0q43kr7fq9fa3x3src4brn7ndg206pmj4xrq19fpb6jscxv0svpw"
+   "commit": "5294434883aa61f24ca6d2768a83ca924645a186",
+   "sha256": "1jbq0z5vz8isc41144iy7i72hk6njnxz068cmpb7gxcs9jdxvg6n"
   }
  },
  {
@@ -99153,11 +99499,11 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20240123,
-    1424
+    20240212,
+    1100
    ],
-   "commit": "f7e60843bfada2eee89595580786a4468fd3f881",
-   "sha256": "0y1jrjp9fkcmknvwgl1psmibcfpc3fa9aj87606j9gam1bzr8rf1"
+   "commit": "0163b335a18af0f077a474d4dc6b36e22b5e3274",
+   "sha256": "0sy187ryln3jjnkwjxphdnfa20isv570js8ch3r3zrjl6c6d9xl8"
   },
   "stable": {
    "version": [
@@ -99418,8 +99764,8 @@
   "repo": "mohkale/projection",
   "unstable": {
    "version": [
-    20240106,
-    1308
+    20240211,
+    1526
    ],
    "deps": [
     "compat",
@@ -99427,8 +99773,8 @@
     "project",
     "s"
    ],
-   "commit": "ac6c4e0a70ec4061afa8004cb9686ebc126d2631",
-   "sha256": "1p0rvrk0625chaw30d67hcpxjznb8mkkp37hlhc1ixpvhp2nr44y"
+   "commit": "596b20a5f8690867336f4cb29368d0ac3af1a0fe",
+   "sha256": "1i4zjkhjsws8ppbknw4fc1m2355bda6h59lhjrwvccl2fakrbv3i"
   }
  },
  {
@@ -99439,15 +99785,15 @@
   "repo": "mohkale/projection",
   "unstable": {
    "version": [
-    20231231,
-    1416
+    20240211,
+    1526
    ],
    "deps": [
     "compile-multi",
     "projection"
    ],
-   "commit": "4115e8f2ac8a9d43a852840c90d48035ced1c3eb",
-   "sha256": "1jvs1kznr2dgvyq8ylr2cvb40m3cz25msjr6myh61c1537b274da"
+   "commit": "596b20a5f8690867336f4cb29368d0ac3af1a0fe",
+   "sha256": "1i4zjkhjsws8ppbknw4fc1m2355bda6h59lhjrwvccl2fakrbv3i"
   }
  },
  {
@@ -99633,11 +99979,11 @@
   "repo": "ProofGeneral/PG",
   "unstable": {
    "version": [
-    20240123,
-    1014
+    20240223,
+    1405
    ],
-   "commit": "c6b7d506f991d7b97556341039558ef64c902382",
-   "sha256": "0i9b6h6krpqxa5nrrfk30sj01wi88387iymbyl3adyxfdfx28vgm"
+   "commit": "1f0724813a4eacb59b7a8d8905619c893d12f03b",
+   "sha256": "1yb7ddzz3gsh4d7dgk3x6xgx3pgdqyrmqr6f4lxs9vhp102n7b1x"
   },
   "stable": {
    "version": [
@@ -99737,19 +100083,19 @@
   "repo": "protocolbuffers/protobuf",
   "unstable": {
    "version": [
-    20230506,
-    330
+    20240222,
+    1652
    ],
-   "commit": "0d3b0c61f4f44c3d8770b89edffe481aaf56f4f1",
-   "sha256": "06xl81cm55g0dcpfh8b8za8mrs5cgjv656z23q5q0ph3war6ifbn"
+   "commit": "b9483e03c7cfa854c250ad6415b4d9e6f7a9709e",
+   "sha256": "12gld58kyzjfrsfjp7mkh92zj5lrps029vy8211win3b0q8cjwgw"
   },
   "stable": {
    "version": [
     25,
-    2
+    3
    ],
-   "commit": "a9b006bddd52e289029f16aa77b77e8e0033d9ee",
-   "sha256": "1j2ch3s2qzddj28ic9ardnzzrh730hzsiy4ilr2whbh60wxg23h7"
+   "commit": "4a2aef570deb2bfb8927426558701e8bfc26f2a4",
+   "sha256": "1fgvviv2zfnq4ap4qkndgryf8mkcbznzwdqnqc32vj4dmvsqxy9p"
   }
  },
  {
@@ -100614,16 +100960,16 @@
   "repo": "andcarnivorous/pyconf",
   "unstable": {
    "version": [
-    20231231,
-    1842
+    20240207,
+    2203
    ],
    "deps": [
     "pyenv-mode",
     "pyvenv",
     "transient"
    ],
-   "commit": "557c51dd22d27d71e22c536c4b0eb38e800aa840",
-   "sha256": "15xd1ibqqkvzydkvvv1az3y6ql5q7rpj62nlpw1p9z0jwan2vfyn"
+   "commit": "f1587f20463496193625526ba805c3cf084db966",
+   "sha256": "1dvx0fkl8v0shaw59snahzxs459x7asqjvyd3yjy195r0qjfl52p"
   }
  },
  {
@@ -100880,16 +101226,16 @@
   "repo": "Wilfred/pyimport",
   "unstable": {
    "version": [
-    20220908,
-    1610
+    20240207,
+    719
    ],
    "deps": [
     "dash",
     "s",
     "shut-up"
    ],
-   "commit": "c006a5fd0e5c9e297aa2ad71b2f02f463286b5e3",
-   "sha256": "0afkdcbr91wmkf72rj2kxyl3w6fnff0mgf855pk9ic1gz5sxvn24"
+   "commit": "4398ce8dd64fa0f685f4bf8683a35087649346d3",
+   "sha256": "1n34lgq3nrnzl90qj0nbsmwm1xavsw16p00x4s6p9i0y3d7shb2l"
   },
   "stable": {
    "version": [
@@ -101473,10 +101819,10 @@
  },
  {
   "ename": "pyvenv-auto",
-  "commit": "ddf36d8974cc527db81d02c4f3792e16d1e5d80a",
-  "sha256": "141fjkrncmyls064w6kjxgj45zxip71p50scnrf74fizdbw2kn6d",
+  "commit": "3b6a9eb263ae8e509c658028b9b3d78e283837a2",
+  "sha256": "1rgh2nl3yah2y8v67f7hc2jib91wh3cd9nkgbx9xkbpgbdf4176j",
   "fetcher": "github",
-  "repo": "nryotaro/pyvenv-auto",
+  "repo": "ryotaro612/pyvenv-auto",
   "unstable": {
    "version": [
     20230106,
@@ -102010,11 +102356,11 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20240130,
-    2013
+    20240219,
+    1858
    ],
-   "commit": "d3ab936af10909874443cadb2e6c952faf2f536f",
-   "sha256": "0zfbqjivp2zdx8pk96jlzcg482k80vhkp82grlq7sjs9p6gypk54"
+   "commit": "9e8e60531ca90c5fd0f42c0e931f0c7f12103567",
+   "sha256": "1yxdgx6cdj7xq7zw85f6fp4h56qsavv57a7p88bnfp8lm1cz5r13"
   }
  },
  {
@@ -104002,11 +104348,11 @@
   "repo": "rubikitch/replace-from-region",
   "unstable": {
    "version": [
-    20170227,
-    2316
+    20240224,
+    52
    ],
-   "commit": "dc9318b9b2822da7b00ecc34d1dc965c8f96c9bb",
-   "sha256": "05l0wn1gqw2sbl65s1m7afmg3b1ps2qgqqrjkl9r2i26p95kqlq3"
+   "commit": "7b5b5ce5488ad5314acaa301d6482bf781db4ebd",
+   "sha256": "0r3mpbxadn3ll1pzi85pz9c4diyj7scj4a0qgx2v8iiaf1r038dg"
   }
  },
  {
@@ -104376,25 +104722,25 @@
   "repo": "simenheg/restclient-test.el",
   "unstable": {
    "version": [
-    20210422,
-    1815
+    20240207,
+    1415
    ],
    "deps": [
     "restclient"
    ],
-   "commit": "3c6661d087526510a04ea9de421c5869a1a1d061",
-   "sha256": "0bpvxv8bc671pa0sm4v8pqyla3i99y05mgpbgcjd8pdsfhiwjw7j"
+   "commit": "5a364b93779eb3b4566dd6d843d7637983fcc949",
+   "sha256": "06ml74xks6kv694qfmiw3wckm75xjrpy32r2lby7hbbpf7f3ds6p"
   },
   "stable": {
    "version": [
-    0,
-    3
+    1,
+    0
    ],
    "deps": [
     "restclient"
    ],
-   "commit": "3c6661d087526510a04ea9de421c5869a1a1d061",
-   "sha256": "0bpvxv8bc671pa0sm4v8pqyla3i99y05mgpbgcjd8pdsfhiwjw7j"
+   "commit": "5a364b93779eb3b4566dd6d843d7637983fcc949",
+   "sha256": "06ml74xks6kv694qfmiw3wckm75xjrpy32r2lby7hbbpf7f3ds6p"
   }
  },
  {
@@ -105219,6 +105565,48 @@
   }
  },
  {
+  "ename": "rom-party",
+  "commit": "d512cbf4962988eb163416f2a05432ba07cb0cac",
+  "sha256": "1z3k8nsrzzzxl1m17aj59y4zrki5czlcdsrxyfa66m6m7d133d79",
+  "fetcher": "github",
+  "repo": "LaurenceWarne/rom-party.el",
+  "unstable": {
+   "version": [
+    20240218,
+    2044
+   ],
+   "deps": [
+    "async",
+    "compat",
+    "dash",
+    "extmap",
+    "f",
+    "ht",
+    "s"
+   ],
+   "commit": "0af8c03de584c91ea1a43c4c94fa4e7bb8c98fa4",
+   "sha256": "0y0rayvibf77508nv3p8k240m0agzfar5hr216fqask2rg0l9cfd"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "async",
+    "compat",
+    "dash",
+    "extmap",
+    "f",
+    "ht",
+    "s"
+   ],
+   "commit": "ba72981a8e6a07896da45e5ac31ee943f881fc7f",
+   "sha256": "03dkccds1pyv3irdjng2abrsi7lzqnyhzh0vnc8xv74nz6rzcvhr"
+  }
+ },
+ {
   "ename": "ron-mode",
   "commit": "962f7c87d0630399ea388f25ec5792fa2f2b4489",
   "sha256": "0vlqjsz9sdpqjnfhf6w98zq76qbq2cv2r2g03l9z4fy0vflinfc3",
@@ -106040,11 +106428,11 @@
   "repo": "rust-lang/rust-mode",
   "unstable": {
    "version": [
-    20230805,
-    1558
+    20240217,
+    338
    ],
-   "commit": "fac7d284d24080d0886c47d20bbddbf60ec51511",
-   "sha256": "0xws2s65r67n9djn3cnydlq4bnjhcak5kfnbcp7d1a2cj6bdwj08"
+   "commit": "8bbe70b72fde8046e12e6a41ffbee6c9f6b4ddd7",
+   "sha256": "0zza5d7ys062qss0lj7w28l496k2j0cykzlp7qmpchd4v5vzq9ky"
   },
   "stable": {
    "version": [
@@ -106562,11 +106950,11 @@
   "repo": "nicolaisingh/saveplace-pdf-view",
   "unstable": {
    "version": [
-    20230805,
-    1359
+    20240209,
+    505
    ],
-   "commit": "abfb5e1f463cffc18218a0f7f2fa141a271b1813",
-   "sha256": "1ijzsizxbq33wv84hz4km3x6nsaqxn8v9qh2835vnrfxk6n6cr4p"
+   "commit": "ee95460cd934080338f03a16f95b549577425216",
+   "sha256": "00cqk1qvmdw07vmmyxc843m2qgx1n9ivwzp73r27v4jxx1i38vx2"
   }
  },
  {
@@ -106630,11 +107018,11 @@
   "repo": "hvesalai/emacs-sbt-mode",
   "unstable": {
    "version": [
-    20211203,
-    1148
+    20240208,
+    626
    ],
-   "commit": "9fe1e8807c22cc1dc56a6233e000969518907f4d",
-   "sha256": "1mii46nr4ykkwnbpvsdp46j6n7k38h0jbm49vbm0w7n1az09yg1a"
+   "commit": "bcf8d6040021013430b39d6f6766ce1aab0b691a",
+   "sha256": "0mfa8qlv4hgqsfxci7ikmfjy9kns67v21k9laa9kbphzxm82qp21"
   },
   "stable": {
    "version": [
@@ -106654,22 +107042,25 @@
   "repo": "openscad/emacs-scad-mode",
   "unstable": {
    "version": [
-    20230315,
-    1950
+    20240216,
+    1536
    ],
    "deps": [
     "compat"
    ],
-   "commit": "e1af74735ad6113448c99b3ab128a665e6adaaca",
-   "sha256": "1wqpxwi6kyw83mmlpkall7as31115jffd6s7fkyi3y73arz6xg3h"
+   "commit": "8d5650c5cfee96c42d64427bfcadb89f6bda66be",
+   "sha256": "08yia0q18b0w3lkr4wh1bd1v606cksi6hpz72nqjvv59qyjfmg01"
   },
   "stable": {
    "version": [
     93,
-    2
+    3
    ],
-   "commit": "749b11df1d3041aa0a90542cba0fe5d9563c3a1f",
-   "sha256": "0m87rjmr4990vhakb7jg4nkkn7lp7kiva446j2z5pq7mmhlyxdbc"
+   "deps": [
+    "compat"
+   ],
+   "commit": "8d5650c5cfee96c42d64427bfcadb89f6bda66be",
+   "sha256": "08yia0q18b0w3lkr4wh1bd1v606cksi6hpz72nqjvv59qyjfmg01"
   }
  },
  {
@@ -106722,11 +107113,11 @@
   "repo": "KaranAhlawat/scala-ts-mode",
   "unstable": {
    "version": [
-    20231107,
-    1258
+    20240213,
+    1734
    ],
-   "commit": "cbfab189842ce564d9514f1b65a72b0af0d51438",
-   "sha256": "1gf9ss0vbyf9y0x3aldj76p8g1rn104pp5pvmig05arw61i0wpdr"
+   "commit": "88f9ad9d8800515f47609829df9b2a15dc475eff",
+   "sha256": "04cm7my5kp8fv5d8an3h4a2z037y2kqvrarr20jj5a7b3fdxq0my"
   }
  },
  {
@@ -107084,11 +107475,11 @@
   "repo": "ideasman42/emacs-scroll-on-jump",
   "unstable": {
    "version": [
-    20230201,
-    141
+    20240204,
+    1217
    ],
-   "commit": "220e4a8f21cc0b430c693a3ecac08156da2602c1",
-   "sha256": "1dr41gbk4rg5fa288bp5vnyzmyxrjvvlvn1syp5sjh31ypbw6jkz"
+   "commit": "c079d9321646bf4fd65b684fcd130cc4833c2e43",
+   "sha256": "0isisg0pkl8hl0xd310jbmflyga1sy1a5sdd673py9jmz5nbiz00"
   }
  },
  {
@@ -107490,6 +107881,36 @@
   }
  },
  {
+  "ename": "selected-window-accent-mode",
+  "commit": "a74ddb8c83af38c7e00ce1d86fe396d8654c64d6",
+  "sha256": "1220yknippk8scarrawrj7pxq9didv0zv4r0r4prrjxbcrxj2q43",
+  "fetcher": "github",
+  "repo": "captainflasmr/selected-window-accent-mode",
+  "unstable": {
+   "version": [
+    20240209,
+    1230
+   ],
+   "deps": [
+    "visual-fill-column"
+   ],
+   "commit": "e83efa67c4a9d1935c657a15b4487102cb6655de",
+   "sha256": "14i8h50n49mw9960vlsahzf1rbn1mj9400gapil9id9q2xysdpmd"
+  },
+  "stable": {
+   "version": [
+    0,
+    6,
+    0
+   ],
+   "deps": [
+    "visual-fill-column"
+   ],
+   "commit": "e83efa67c4a9d1935c657a15b4487102cb6655de",
+   "sha256": "14i8h50n49mw9960vlsahzf1rbn1mj9400gapil9id9q2xysdpmd"
+  }
+ },
+ {
   "ename": "selectric-mode",
   "commit": "a6ff6bbfa11f08647bf17afe75bfb4dcafd86683",
   "sha256": "1ih3n2b867p09r1hnia22f4cj46iqfkdqlpmphix241d9zph6r30",
@@ -108731,11 +109152,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20231026,
-    455
+    20240208,
+    217
    ],
-   "commit": "e3b87d61dfef3a9d44872c50db360732ba949d57",
-   "sha256": "06rqxib501xn2xlc4pqdh06zw0wrkg70sxr2fqv7i2fpl9qxwriv"
+   "commit": "dc5136d20a546cbf741e0e5835a441859fdab384",
+   "sha256": "1iwzdgkx2711kcbzrkizifff071wnqgpm22s6pq8l1i0p8dn3rbz"
   }
  },
  {
@@ -109199,11 +109620,11 @@
   "repo": "emacs-sideline/sideline",
   "unstable": {
    "version": [
-    20240101,
-    918
+    20240222,
+    151
    ],
-   "commit": "20e04fa2fd4dcc0cba47d0336aab37f3f42909d3",
-   "sha256": "09lir5agc0jnd2k09mqrxbkh8z7lcqrw166qs25vxxv1cpzggbaq"
+   "commit": "3bd6315e8c3437b262d6f9975f37d94ac84d0720",
+   "sha256": "144f42jb5v8dz9ayj5q9v1zcy08xbivx6zf53yrpv6dyban1i37k"
   },
   "stable": {
    "version": [
@@ -110111,15 +110532,14 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20240125,
-    1336
+    20240214,
+    2218
    ],
    "deps": [
-    "cl-lib",
     "macrostep"
    ],
-   "commit": "cd745dae17c25225951f22cec8f29b0116fba707",
-   "sha256": "01s709p7yw6czyw6zgd85afkrsh89n6yq3c0va4k6i64hc3fk57v"
+   "commit": "1b634dd03503a782882a4d078847920fe9544393",
+   "sha256": "1bj2bdqvxksrs3hr7p41ar0rrbffq0znzlyghr55kh22v2wns4bk"
   },
   "stable": {
    "version": [
@@ -110474,9 +110894,9 @@
  },
  {
   "ename": "sly-overlay",
-  "commit": "060c87774d09bc17dd059244c69feeb16646754f",
-  "sha256": "01jmpzyz5ysri82zhflfal2bc0wibv90b5bnm956r4afd5hqsaw1",
-  "fetcher": "sourcehut",
+  "commit": "c1082443f45797050b9e75789d7fbef3616cb6e7",
+  "sha256": "07pz8nci1g5b8cn3g98l3cyld21nhs881g2m9vb6d277ihb91lj5",
+  "fetcher": "github",
   "repo": "fosskers/sly-overlay",
   "unstable": {
    "version": [
@@ -112508,11 +112928,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20240203,
-    58
+    20240224,
+    56
    ],
-   "commit": "accd26eba9dd9209479d2c935fc90083fefb5f67",
-   "sha256": "0kf55c209aspv146mb26pd5q592l9i73i78zddgk8qv5dnnd4pjf"
+   "commit": "4554b88e4ba0636a622ac63aa084cd253feff7c0",
+   "sha256": "00zykhxmcrdl0s9yad0f2xsrgpid7wgwdaf88wjji2y3w92170m7"
   }
  },
  {
@@ -113221,11 +113641,11 @@
   "repo": "srcery-colors/srcery-emacs",
   "unstable": {
    "version": [
-    20230829,
-    737
+    20240220,
+    805
    ],
-   "commit": "4ee4e51d2c0317d3bc41a131a8bc76cfa2db98ed",
-   "sha256": "1j3715m1vx5qaban9d4zix0gpzs5iip7mfmx3x374axjn878d656"
+   "commit": "60028633c5722e6b8ea12844618be0e9b31be55a",
+   "sha256": "1ly311wfwafhbx1f3ml5hhy94iwqp3spz4filwyyp8hvsv8gb21j"
   }
  },
  {
@@ -113572,11 +113992,11 @@
   "repo": "SFTtech/starlit-emacs",
   "unstable": {
    "version": [
-    20230324,
-    1636
+    20240223,
+    1728
    ],
-   "commit": "d6f327fb09497be7bee64d5d204d27f655cc5b04",
-   "sha256": "118b3ii9gpjq70q3qf0lyd53jp5a7qvhsl4bbjh4akck96cjdnnj"
+   "commit": "136bbc4fc4961c5b2cd0824eb0762e672322fbd1",
+   "sha256": "1kdk7gb3244z50yxk7wdkvrh1l50ygx5h1flajv9sxqmfivmybfd"
   }
  },
  {
@@ -113731,20 +114151,20 @@
   "repo": "stacked-git/stgit",
   "unstable": {
    "version": [
-    20231226,
-    1804
+    20240218,
+    2150
    ],
-   "commit": "9969b4e22c7255090c28f0e68598aeb3974b4d4d",
-   "sha256": "06b7y5lrnahlcha3lj4jfaj2266szsxbrhc7nl82ddai87dn5nj5"
+   "commit": "38ff3c3b2adc6d2c0f2e8fe5cb59f67d701741b3",
+   "sha256": "1g526gpcfjfkkh55by798hlgqph15vl0a1iw9332825wkqjawi6c"
   },
   "stable": {
    "version": [
     2,
     4,
-    2
+    5
    ],
-   "commit": "9969b4e22c7255090c28f0e68598aeb3974b4d4d",
-   "sha256": "06b7y5lrnahlcha3lj4jfaj2266szsxbrhc7nl82ddai87dn5nj5"
+   "commit": "38ff3c3b2adc6d2c0f2e8fe5cb59f67d701741b3",
+   "sha256": "1g526gpcfjfkkh55by798hlgqph15vl0a1iw9332825wkqjawi6c"
   }
  },
  {
@@ -114942,14 +115362,14 @@
   "repo": "swift-emacs/swift-mode",
   "unstable": {
    "version": [
-    20240104,
-    952
+    20240217,
+    631
    ],
    "deps": [
     "seq"
    ],
-   "commit": "84059659de4da89d3d2902611cebed6d0423bf06",
-   "sha256": "0qiqzwxy8alq5px2g9x46nsphqphhf4iaijw7dccp4qml7qshxf9"
+   "commit": "25cf8237312bf5eddc2c90001feb8f73633ab523",
+   "sha256": "0p7rfzyysmxzwvy595b72jlbl2gjb4b6pgm21qdg9dg00hmf3c1n"
   },
   "stable": {
    "version": [
@@ -114996,14 +115416,14 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20231025,
-    2311
+    20240214,
+    2118
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "8c30f4cab5948aa8d942a3b2bbf5fb6a94d9441d",
-   "sha256": "1iqj27pc2iivmwfh329v0d9g0z1y0whlnamrl7g2bi374h41m368"
+   "commit": "749ac1235a7948011cb0caddd4c31037e3314614",
+   "sha256": "0d598jxdrxjlszaikh27v7j2zdndisfqzb384d94siw4rwzfj4zr"
   },
   "stable": {
    "version": [
@@ -115898,11 +116318,11 @@
   "repo": "mkleehammer/tab-jump-out",
   "unstable": {
    "version": [
-    20231023,
-    342
+    20240210,
+    418
    ],
-   "commit": "8cffbfafb24ea6d9121fd19e38e6a0c25caaa1c4",
-   "sha256": "1kpjn8129hhhsxy9z71l74nd41i9y9wijqnwmlz560pnsm2470sy"
+   "commit": "ff4d9b679566e4cab9bebc59123f681fb35f6cbf",
+   "sha256": "09vbdzi1kgd1z92fkhi6g1wisj1r0mvr30l2sq6a0kswc3f99yrf"
   }
  },
  {
@@ -115983,11 +116403,11 @@
   "repo": "isamert/tabgo.el",
   "unstable": {
    "version": [
-    20230425,
-    907
+    20240204,
+    1326
    ],
-   "commit": "1a2f6b2b75c1829eb7acd188086b14fb75d9c7d1",
-   "sha256": "1lr1gsy5spj9n99rmzrnnyi70skfga9fxqjgi27jz461y0pv5l9n"
+   "commit": "83b7d3261e9a6aaffd8e97bc047b77a6131789ee",
+   "sha256": "09qdmdivvnwkslq124flgijvxlvix3spglmx8676fjz6gnyzd6zs"
   }
  },
  {
@@ -116044,14 +116464,14 @@
   "repo": "mclear-tools/tabspaces",
   "unstable": {
    "version": [
-    20231222,
-    1829
+    20240209,
+    2300
    ],
    "deps": [
     "project"
    ],
-   "commit": "488119b3037ba535371131000aeaea75935e3f46",
-   "sha256": "18i201pcn4ywqlkxl1i0mz6y8vi5hc6ixwimp8kagbjmw084z9gy"
+   "commit": "b8799f477c2b467caf4cc5b740d3945d96b84eca",
+   "sha256": "0f1nqydm6ji2yq5kf1n8y3cijs0zqvyd2rm1yvr77crsyqy52m9i"
   }
  },
  {
@@ -116441,15 +116861,15 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20240130,
-    2135
+    20240214,
+    1600
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "e8d9459ef725ed8fb60479b5fccadae1e4eac87a",
-   "sha256": "18f6i2w0iial2wi60vkqck30c0m4p2nj0bzd2x9p4il27dwv5hwq"
+   "commit": "ab03a5ead11e9a0abc96cae6025cd87135a71a57",
+   "sha256": "0mb911k3qnyr92x7f1ycj24qs41r01imy7yk6f32bdx0ri6921v3"
   },
   "stable": {
    "version": [
@@ -116580,25 +117000,25 @@
   "repo": "minad/tempel",
   "unstable": {
    "version": [
-    20240102,
-    331
+    20240216,
+    1543
    ],
    "deps": [
     "compat"
    ],
-   "commit": "38eabcc756c7bd4b3dd57b85d61509075673f617",
-   "sha256": "0g79j1b1j8vn4l7sk7vq0zrdm7aa10qaf0p0dl0mh7smfy50dmfk"
+   "commit": "bcc3185202edce67c7f7fc74287cc2ecbeef10c6",
+   "sha256": "004jwmfj7ymdaml8rdzn8fhki8x8n4d0ziq52wn4nqm5y8n90pz5"
   },
   "stable": {
    "version": [
     1,
-    0
+    1
    ],
    "deps": [
     "compat"
    ],
-   "commit": "38dad1f85104c7c734ad9245f3a85b49562332d0",
-   "sha256": "0f1z5p6vbbjsh7cn7hqhv4c6h4awczpf14sbwpzsnwqsxsfjdh34"
+   "commit": "bcc3185202edce67c7f7fc74287cc2ecbeef10c6",
+   "sha256": "004jwmfj7ymdaml8rdzn8fhki8x8n4d0ziq52wn4nqm5y8n90pz5"
   }
  },
  {
@@ -116609,14 +117029,14 @@
   "repo": "Crandel/tempel-collection",
   "unstable": {
    "version": [
-    20231021,
-    2032
+    20240216,
+    1105
    ],
    "deps": [
     "tempel"
    ],
-   "commit": "4a1d717eb30a78680c8f4df2d71e395c846c5371",
-   "sha256": "0ifmzn5d9mpsjwvg2ir0sy3r4czxa7d6j97l8rrp8ai7jqvydadm"
+   "commit": "6248e22b52fd7fb98bba977221eb8440c82e6c00",
+   "sha256": "1z1vawc62c2a72mkkyz8apczv6g2xbc3zj5zmj7jscc3p5b0h3lf"
   }
  },
  {
@@ -117016,11 +117436,11 @@
   "repo": "davidshepherd7/terminal-here",
   "unstable": {
    "version": [
-    20220827,
-    819
+    20240213,
+    2304
    ],
-   "commit": "4bf2a77e450b260570033afda463e178fdf34617",
-   "sha256": "00yqm3fjp0xagmqzvg32nrmiygspkv70sldn86vdzkqdq7z3gmqx"
+   "commit": "0415b2d5ac16325039d0c6e4fdbc8a9e4694820f",
+   "sha256": "0432vlnr6cdwk5ndldd0vyv7r2wgin56mr40q5gdnxv4ppl6rnlg"
   },
   "stable": {
    "version": [
@@ -117273,15 +117693,15 @@
   "repo": "johannes-mueller/test-cockpit.el",
   "unstable": {
    "version": [
-    20231103,
-    2037
+    20240220,
+    2058
    ],
    "deps": [
     "projectile",
     "toml"
    ],
-   "commit": "2fcd6ccb94869b854e9d12e0ba5d433adc336296",
-   "sha256": "1vjafad1j7kdmawsg6f9p7j2byg6mp4h46p4p8ww4i64smx6iqqp"
+   "commit": "11c23ddb9284b21a1072c37f168574096ee3bd2f",
+   "sha256": "0lg3f03a0bh6crffms1qfs7vlp32cg3rjhr1phmghcxdcm8xj4ca"
   }
  },
  {
@@ -117402,11 +117822,11 @@
   "repo": "juba/textile-mode",
   "unstable": {
    "version": [
-    20230112,
-    1030
+    20240212,
+    1755
    ],
-   "commit": "8f8c09ef097a95a713307fdb5c92b9778dfbc1fc",
-   "sha256": "0x8ib6cm7rp6hf44348nnc937w98v5q0fv9r650jjvkfl9rkbm7b"
+   "commit": "2ad90cb6ed2560ee147417a3ec65222cc2ad33f1",
+   "sha256": "1jmv769x6sxhb30n92haiiavhvk0cib676nmbgdfjl6mi2prcwyi"
   }
  },
  {
@@ -117542,11 +117962,11 @@
   "repo": "monkeyjunglejuice/matrix-emacs-theme",
   "unstable": {
    "version": [
-    20240131,
-    924
+    20240214,
+    747
    ],
-   "commit": "90f12caafae16d02202b8a63124fc175dcc48dad",
-   "sha256": "1aynlm3l1df5vnnzvpdvlkgvk71qsbx7080lpj9d0a1hb81jzygf"
+   "commit": "1cfaa2b20d1dd9253b0654284eaff41e5a73d444",
+   "sha256": "1vslqg58yr7qa2431yl7z8zlziy71fl653js4xcljx8xfwqlynqh"
   }
  },
  {
@@ -117709,11 +118129,11 @@
   "repo": "swflint/third-time",
   "unstable": {
    "version": [
-    20231023,
-    316
+    20240207,
+    1621
    ],
-   "commit": "05bed0c25ce5def3db6b885ffcee74a705dc0dfb",
-   "sha256": "1jcbkbc31cshayvgq835sv89jhsbd9w0820872wccs09jkkzfrzf"
+   "commit": "093b74be860fac389fb173caef5fabf61e417eef",
+   "sha256": "0amnjrmkcqkhgrj9xsk53ig508gk74k4h8csjpslc06q9kzrq301"
   },
   "stable": {
    "version": [
@@ -117766,21 +118186,21 @@
   "repo": "facebook/fbthrift",
   "unstable": {
    "version": [
-    20240128,
-    1731
+    20240216,
+    1732
    ],
-   "commit": "2a84ddacc7472f951f95595970051daf95376e04",
-   "sha256": "14whjdizxhhiiixdrckrdhy8phhbry22yyxp6vdd902p66kimhj2"
+   "commit": "eca43d4980a147304be41de85ae1e4f24e128fc3",
+   "sha256": "0cqkkzqwfm8lgypd0bkwhr5mkhq0fgmfifhdzibwj8mbqzbzkqp6"
   },
   "stable": {
    "version": [
     2024,
-    1,
-    29,
+    2,
+    19,
     0
    ],
-   "commit": "2a84ddacc7472f951f95595970051daf95376e04",
-   "sha256": "14whjdizxhhiiixdrckrdhy8phhbry22yyxp6vdd902p66kimhj2"
+   "commit": "eca43d4980a147304be41de85ae1e4f24e128fc3",
+   "sha256": "0cqkkzqwfm8lgypd0bkwhr5mkhq0fgmfifhdzibwj8mbqzbzkqp6"
   }
  },
  {
@@ -118207,11 +118627,11 @@
   "repo": "aimebertrand/timu-macos-theme",
   "unstable": {
    "version": [
-    20231022,
-    1832
+    20240215,
+    1822
    ],
-   "commit": "f1ecdf8415e4cb3d35019af5b2ad0d6bea96e610",
-   "sha256": "0w1xh0i8q2d84f9d5gw61nn7a8xqyllm427qnnjsa5wjlhgvilfl"
+   "commit": "b99b7d77530748009366910b69c238b4c21f5bc0",
+   "sha256": "0yj9sy6iyya3p29kfhb4dlaz2sbq39alvkciv173w992g92cd5s8"
   },
   "stable": {
    "version": [
@@ -119149,17 +119569,17 @@
  },
  {
   "ename": "transducers",
-  "commit": "fd23a795aec65bce9854b829867b4376c9a5a774",
-  "sha256": "1jk5myvqcaik6nc1nj0hy8gdysw2bikrvqw3dd2j92hvr4zwdzad",
-  "fetcher": "sourcehut",
+  "commit": "c1082443f45797050b9e75789d7fbef3616cb6e7",
+  "sha256": "1yhfyma9shq9pwl5zgbjpbqmvrzk7bpv1fdcb2b4rjg50x58d8aw",
+  "fetcher": "github",
   "repo": "fosskers/transducers.el",
   "unstable": {
    "version": [
-    20231224,
-    2358
+    20240206,
+    646
    ],
-   "commit": "7e75ccee58edaf16d98a1b3aef14035daf4a5370",
-   "sha256": "1c26xw7q4ksdrifs347br6rxmb36gz4fsz5j51b2gmr9v0fpy3ml"
+   "commit": "acf4588bc3113e8412451650b0c38243ed43db89",
+   "sha256": "0n7w3vpdvhci5j6i5v73cp3awcp3airm4rb6f2jhz3ni8ih9z1by"
   },
   "stable": {
    "version": [
@@ -119197,15 +119617,15 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20240201,
-    1100
+    20240221,
+    1504
    ],
    "deps": [
     "compat",
     "seq"
    ],
-   "commit": "0fc87002d8c72dc309b8b8487770642d3b1fca5f",
-   "sha256": "1rh5ffs2mqs54chalia0zfk8qjkglv0c2h3pqrxs501bahvxv4v8"
+   "commit": "ba37702ab3cf90191865172bd5581fd353ccba63",
+   "sha256": "0wl5x3dfkw41d8pvmyqn4g2jd2dyanncaxms6g2wqhfkp41rkg97"
   },
   "stable": {
    "version": [
@@ -119673,26 +120093,26 @@
   "repo": "emacs-tree-sitter/tree-sitter-langs",
   "unstable": {
    "version": [
-    20240107,
-    149
+    20240223,
+    1000
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "20fbbb85735a9196ba3e7fb33f99b3a904b363ba",
-   "sha256": "0bxy0hpgsfcdpvyxhlps2rmxdbwaxyzm19kxff9aalknfby5ssij"
+   "commit": "8b65f758e95705708e416f3fd535c664838a3083",
+   "sha256": "1kd2sjz73a0vqfl1g1fdfhg8y3r826gm6xhqlhxz31g1j69b8z5q"
   },
   "stable": {
    "version": [
     0,
     12,
-    92
+    139
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "20fbbb85735a9196ba3e7fb33f99b3a904b363ba",
-   "sha256": "0bxy0hpgsfcdpvyxhlps2rmxdbwaxyzm19kxff9aalknfby5ssij"
+   "commit": "8b65f758e95705708e416f3fd535c664838a3083",
+   "sha256": "1kd2sjz73a0vqfl1g1fdfhg8y3r826gm6xhqlhxz31g1j69b8z5q"
   }
  },
  {
@@ -119703,26 +120123,26 @@
   "repo": "purplg/treebundel",
   "unstable": {
    "version": [
-    20240203,
-    1555
+    20240210,
+    343
    ],
    "deps": [
     "compat"
    ],
-   "commit": "d04174fe881efea704ce4a5065dd486ab0040db5",
-   "sha256": "10smm6fngsdkvwnqpjkxc3r0nmqj5sr676025ndsh52448w8bf5i"
+   "commit": "2d6c69cb7798a8cb7fcf9923c4580220dd48b3d4",
+   "sha256": "18winxkh1934jr19prp2yxlnl2vgh1yhrrvy1flg0l2r2pb5zrch"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
    "deps": [
     "compat"
    ],
-   "commit": "03c70cc9b18e83f156797064e1fd2a484fd3ff03",
-   "sha256": "1lmkq35i7rfvvp1aslgv9q3d0kqqwfn8cmdbjib8j0fbclqxbyyg"
+   "commit": "7b4613878815f8e26aaf17007228aa9063a4e82d",
+   "sha256": "0fpmm3jb95lksamxqz9850x2vcmcvq6bx29sn0fci6ny4cvpnq5k"
   }
  },
  {
@@ -119769,8 +120189,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20240126,
-    642
+    20240214,
+    2107
    ],
    "deps": [
     "ace-window",
@@ -119782,8 +120202,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "df26b6ab9a0f467e5ff99f7ed97551ccf756e06c",
-   "sha256": "06160g1h1jxsmil2i5rgg1q1mzz9482zc62k6d5ncz2cdw3mf64x"
+   "commit": "025b7ce326bec062a33d772cc6548e55f940c622",
+   "sha256": "00y15mn949vnm8yg1gqi66lp70kv5vnyknwnh4v3amamqbh5na15"
   },
   "stable": {
    "version": [
@@ -119812,15 +120232,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20230408,
-    1109
+    20240131,
+    2042
    ],
    "deps": [
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "127485317a19254ca20ba1910d10edf7dbaa2d97",
-   "sha256": "1rs0l0k9fd8xav627944jfm518yillcmjbdrkzjw3xq1wx80pn95"
+   "commit": "bcba09c1581c4bd93ff0217d464aead04f6d26d4",
+   "sha256": "051x78qpzclzr8mic5z3rpr1j3f5a5apcnn9rhah1rnxg5z9gqa7"
   },
   "stable": {
    "version": [
@@ -119843,15 +120263,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20230822,
-    2039
+    20240131,
+    2042
    ],
    "deps": [
     "evil",
     "treemacs"
    ],
-   "commit": "76a20a456cbbf45a317e1e5f6f5b970f938a3bfe",
-   "sha256": "0qg0pp8qbvcpaspwl17biad5zmzc8418fcwlv7fzrxz6bc72hqfh"
+   "commit": "bcba09c1581c4bd93ff0217d464aead04f6d26d4",
+   "sha256": "051x78qpzclzr8mic5z3rpr1j3f5a5apcnn9rhah1rnxg5z9gqa7"
   },
   "stable": {
    "version": [
@@ -119874,14 +120294,14 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20230930,
-    1141
+    20240131,
+    2042
    ],
    "deps": [
     "treemacs"
    ],
-   "commit": "f4795c7172c64f5c7a8e66042019a56465632bbd",
-   "sha256": "00wmk9w9cnxld8qvk930fkas0g03bbic3yq4nk5qbsjx9r0cysny"
+   "commit": "bcba09c1581c4bd93ff0217d464aead04f6d26d4",
+   "sha256": "051x78qpzclzr8mic5z3rpr1j3f5a5apcnn9rhah1rnxg5z9gqa7"
   },
   "stable": {
    "version": [
@@ -119903,16 +120323,16 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20230830,
-    1936
+    20240131,
+    2042
    ],
    "deps": [
     "magit",
     "pfuture",
     "treemacs"
    ],
-   "commit": "3cd2a0d64b4afc76503706f90567e8914836da18",
-   "sha256": "1b1xplnk3iy16010cvnxnikr3bgc576pg7fmgl0zf8xpc7m6wriw"
+   "commit": "bcba09c1581c4bd93ff0217d464aead04f6d26d4",
+   "sha256": "051x78qpzclzr8mic5z3rpr1j3f5a5apcnn9rhah1rnxg5z9gqa7"
   },
   "stable": {
    "version": [
@@ -119955,16 +120375,16 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20230703,
-    1929
+    20240131,
+    2042
    ],
    "deps": [
     "dash",
     "persp-mode",
     "treemacs"
    ],
-   "commit": "2c576bebccd56ec8e65f4ec5ed5de864d9684fbf",
-   "sha256": "1if18rdzp1cw01mx3yy6wdn7iq0n9r0wp2h4inx74hpssrsidn2c"
+   "commit": "bcba09c1581c4bd93ff0217d464aead04f6d26d4",
+   "sha256": "051x78qpzclzr8mic5z3rpr1j3f5a5apcnn9rhah1rnxg5z9gqa7"
   },
   "stable": {
    "version": [
@@ -119988,16 +120408,16 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20230703,
-    1929
+    20240131,
+    2042
    ],
    "deps": [
     "dash",
     "perspective",
     "treemacs"
    ],
-   "commit": "2c576bebccd56ec8e65f4ec5ed5de864d9684fbf",
-   "sha256": "1if18rdzp1cw01mx3yy6wdn7iq0n9r0wp2h4inx74hpssrsidn2c"
+   "commit": "bcba09c1581c4bd93ff0217d464aead04f6d26d4",
+   "sha256": "051x78qpzclzr8mic5z3rpr1j3f5a5apcnn9rhah1rnxg5z9gqa7"
   },
   "stable": {
    "version": [
@@ -120021,15 +120441,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20230703,
-    1929
+    20240131,
+    2042
    ],
    "deps": [
     "projectile",
     "treemacs"
    ],
-   "commit": "2fed6948fe2bc37f8539c5de232e5ccd4891800a",
-   "sha256": "0slc7b5xdgbdcl9sldiq23ch3nnmz60gqv8sj3vswxk435ajcyzg"
+   "commit": "bcba09c1581c4bd93ff0217d464aead04f6d26d4",
+   "sha256": "051x78qpzclzr8mic5z3rpr1j3f5a5apcnn9rhah1rnxg5z9gqa7"
   },
   "stable": {
    "version": [
@@ -120052,15 +120472,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20230703,
-    1929
+    20240131,
+    2042
    ],
    "deps": [
     "dash",
     "treemacs"
    ],
-   "commit": "2fed6948fe2bc37f8539c5de232e5ccd4891800a",
-   "sha256": "0slc7b5xdgbdcl9sldiq23ch3nnmz60gqv8sj3vswxk435ajcyzg"
+   "commit": "bcba09c1581c4bd93ff0217d464aead04f6d26d4",
+   "sha256": "051x78qpzclzr8mic5z3rpr1j3f5a5apcnn9rhah1rnxg5z9gqa7"
   },
   "stable": {
    "version": [
@@ -120107,20 +120527,20 @@
   "repo": "renzmann/treesit-auto",
   "unstable": {
    "version": [
-    20240131,
-    1815
+    20240223,
+    1450
    ],
-   "commit": "4225f2245247585d581bffb09225dcb21d443421",
-   "sha256": "0ghcdcil9b7hirq2dqngwzq9ycx1lc4pxm6zam6gbcf4plm0zhvh"
+   "commit": "299dd88c9e5f1ff91a8f1989ad1e97e86c220020",
+   "sha256": "0c29ldai6fq413y14b4n3sh3s46vffdpg9xgspjklkq9ja1l0lw7"
   },
   "stable": {
    "version": [
     1,
     0,
-    2
+    4
    ],
-   "commit": "be7c549c9aa723ab0dce995ad8f156bbdfe7208b",
-   "sha256": "1pg54f2hj9v77f5zs2d8g1ip3n8c72z8zxhmc5ia6k96w3gq3f3l"
+   "commit": "299dd88c9e5f1ff91a8f1989ad1e97e86c220020",
+   "sha256": "0c29ldai6fq413y14b4n3sh3s46vffdpg9xgspjklkq9ja1l0lw7"
   }
  },
  {
@@ -121280,11 +121700,11 @@
   "repo": "ideasman42/emacs-undo-fu-session",
   "unstable": {
    "version": [
-    20231207,
-    2214
+    20240204,
+    1215
    ],
-   "commit": "9147a7223ee8136769cf42239c7d9a8577edfaff",
-   "sha256": "198bbfmx5hx2wm594xa8jkdf2hm680sai6wgl4cwc6gp0s7ggg5h"
+   "commit": "2b355c9d39b2688f859a762f2289f23fd16fadc4",
+   "sha256": "1r81m5zpckqkqxb4mfz9k2m17n8n790l69zhcx9i0711wxhcszqk"
   }
  },
  {
@@ -123200,11 +123620,11 @@
   "repo": "federicotdn/verb",
   "unstable": {
    "version": [
-    20231120,
-    1806
+    20240210,
+    1127
    ],
-   "commit": "203605638455fd1057bd808485280c1b87465479",
-   "sha256": "1lyq93jybhqc2amfnsi1lg5i3m317pmva3vpfpqqixxrhgz5sbzh"
+   "commit": "b3e3c3eeea21ffa24f5dc8bef6dd401cc25c199a",
+   "sha256": "06sk6gllhni4ai3nh304zjsv17fzpsficbp2zi2mbn6q8vd5siax"
   },
   "stable": {
    "version": [
@@ -123261,8 +123681,8 @@
   "repo": "gmlarumbe/verilog-ext",
   "unstable": {
    "version": [
-    20240112,
-    1542
+    20240212,
+    57
    ],
    "deps": [
     "ag",
@@ -123277,8 +123697,8 @@
     "verilog-ts-mode",
     "yasnippet"
    ],
-   "commit": "3f54bcc3cf0925e76a8bc9df7f4bac0567d1712e",
-   "sha256": "03pcagfrjgmbjj68ap9iysaa8w9176rghwd1hn8gvmrr8vdml3a8"
+   "commit": "9da79ac0c79e8819381002c205ae6817bbc9b642",
+   "sha256": "1jnnppvmp090c8mbkkq7daf2f497c3kzriph1d8pm4ph067d5ymz"
   },
   "stable": {
    "version": [
@@ -123311,11 +123731,11 @@
   "repo": "gmlarumbe/verilog-ts-mode",
   "unstable": {
    "version": [
-    20240109,
-    1606
+    20240211,
+    210
    ],
-   "commit": "cb108f855611525bd614b4542fa6660c59735445",
-   "sha256": "0jnyp57v5549lf07m7pgpf8m8lrvjw36bjw5far5ipzaljdg3mh9"
+   "commit": "b055f7b4a7abdc1e1eb9eb5a99ddc288369982d0",
+   "sha256": "0khjhikw3ksk6lb2f7nwppp9l9vrfgq5jlwyfyrx0s9w6jyf64yc"
   },
   "stable": {
    "version": [
@@ -123395,14 +123815,14 @@
   "repo": "baron42bba/vertica-snippets",
   "unstable": {
    "version": [
-    20231215,
-    1512
+    20240221,
+    1629
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "a502359e5e263e1946acfb557bdec0854aab9a23",
-   "sha256": "0l6w7ccii0sgan81zn5khpwf9hqjx1lh67bcvgdyrrs4g9bazl75"
+   "commit": "efaf893698358a305b1c52fd22a6842b59940855",
+   "sha256": "13ikkmarxcv19938p3za3crpbh8003xmlg8afyfyrm4z7pann1qj"
   }
  },
  {
@@ -123518,8 +123938,8 @@
   "repo": "gmlarumbe/vhdl-ext",
   "unstable": {
    "version": [
-    20240109,
-    1630
+    20240212,
+    153
    ],
    "deps": [
     "ag",
@@ -123531,8 +123951,8 @@
     "ripgrep",
     "vhdl-ts-mode"
    ],
-   "commit": "0003f47e4063e37894be26b82c65b03b1c2c42cf",
-   "sha256": "19hf3sxrszrbrnp15w6q8p5n0ybnihm68fy4xagdvkqkvpmga85x"
+   "commit": "64111386bd793ceb6a8f78ab5f5caf5655fb3aa0",
+   "sha256": "08pal1ba55bdbnjb7lqrl7v2z3rys2a8ng8gsxidfx1400lmxg1c"
   },
   "stable": {
    "version": [
@@ -123595,11 +124015,11 @@
   "repo": "gmlarumbe/vhdl-ts-mode",
   "unstable": {
    "version": [
-    20240109,
-    2313
+    20240211,
+    213
    ],
-   "commit": "ba724e0af7e235434281aaae939757a6bff37f48",
-   "sha256": "030lc5m3s05r6v07r3c9z7r11kiv0jyhqrd5s0pagra6avb4zywm"
+   "commit": "1d17c43993bf9eab97b0658a46fa17e64fc8eb4b",
+   "sha256": "1q2q538f6l9kvnlnnf1i39p21wblcy77lr24fcg1xl5ykrj3pjdc"
   },
   "stable": {
    "version": [
@@ -123906,20 +124326,20 @@
   "repo": "joostkremers/visual-fill-column",
   "unstable": {
    "version": [
-    20230102,
-    1830
+    20240223,
+    2340
    ],
-   "commit": "695a59789209c42fa08a5bce92963ee32f4455be",
-   "sha256": "0006x7vbwrx4w3b51aajzds0qaw3zb3b2wmj0c3j0anlrmyb37yz"
+   "commit": "5b9f9309bdf040b72bb2c3d99d1d8a0f0d98c308",
+   "sha256": "1imliz6fb5bxwcflkiqgk82xa34qkxaxzmy3rmj1cy2va148afx9"
   },
   "stable": {
    "version": [
     2,
-    5,
-    1
+    6,
+    2
    ],
-   "commit": "695a59789209c42fa08a5bce92963ee32f4455be",
-   "sha256": "0006x7vbwrx4w3b51aajzds0qaw3zb3b2wmj0c3j0anlrmyb37yz"
+   "commit": "5b9f9309bdf040b72bb2c3d99d1d8a0f0d98c308",
+   "sha256": "1imliz6fb5bxwcflkiqgk82xa34qkxaxzmy3rmj1cy2va148afx9"
   }
  },
  {
@@ -124135,11 +124555,11 @@
   "repo": "emacs-vs/vs-dark-theme",
   "unstable": {
    "version": [
-    20240107,
-    42
+    20240223,
+    1002
    ],
-   "commit": "24298d3683f2357b121984c48120012f124d6f76",
-   "sha256": "0nqxva99lxsisdr7771wawnkg8bzcdm78nkq18nb9adm5mj6a7mr"
+   "commit": "52006b40c7293f524ecb99d3899db7d95c77b317",
+   "sha256": "1njcy6hpvg7505agv619r924gs8ymjfyizxm8s70h3skwpg79yfm"
   },
   "stable": {
    "version": [
@@ -124158,11 +124578,11 @@
   "repo": "emacs-vs/vs-light-theme",
   "unstable": {
    "version": [
-    20240107,
-    42
+    20240223,
+    1002
    ],
-   "commit": "b3634f5e506001732103aa323db9de9547a4d4d4",
-   "sha256": "1lvs67isk6vnk3axnfsyr9rn54v1xvpp4zsj7lzs61kwphsynhsf"
+   "commit": "36f583c6b36cab827394548a8c9647c3fd066bb1",
+   "sha256": "0wd80m6796y0j0pzbw3qk4v8973x3cjimj7rh9ss7y22sqky5mmc"
   },
   "stable": {
    "version": [
@@ -124691,10 +125111,10 @@
  },
  {
   "ename": "wallpreview",
-  "commit": "8822842e06fb8bce3b62847ed1ea7c9d64f4d7d3",
-  "sha256": "00i4j7ki84yw2sihd9xjwh6gvp0xi5yql7nmsgdqkhp91qcmkn8k",
+  "commit": "c3ddb574892855f0e23283cc8bded51d857265d0",
+  "sha256": "1p7i3ndm9rvqbdlycrqfqf8s1lfavxymwxg817zg37iwm6a2ya95",
   "fetcher": "github",
-  "repo": "nryotaro/wallpreview",
+  "repo": "ryotaro612/wallpreview",
   "unstable": {
    "version": [
     20220703,
@@ -124759,16 +125179,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20240131,
-    1357
+    20240207,
+    949
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "9fd2c65e8d690625f35035a71e73f51f740dbe04",
-   "sha256": "034zrl54ql3ddaj5vl62bjzf2a5hvrq5gd9kynmyp0skgk8i6dr2"
+   "commit": "c15e8ece4f34f10479e17cda19d10b98f6be3ec1",
+   "sha256": "1lsld77wql0n9vsdnpj2zb50r8ngcfjsi9fzl7mpv3929n99w3r2"
   }
  },
  {
@@ -125059,11 +125479,11 @@
   "repo": "fxbois/web-mode",
   "unstable": {
    "version": [
-    20231225,
-    1458
+    20240210,
+    1511
    ],
-   "commit": "82847071ce93293bdb7945db08d970f13fd883cf",
-   "sha256": "0ykvhgxd5ar3h96rb1888sfjjs0nlpaf63ci8hhhgyhjq9ssr61q"
+   "commit": "f19788e76c2359075975c20b8fda1f0b5080f042",
+   "sha256": "0bilcgsinqdqgspkbx31gq44d7cz8xpj9xdnjflg70c7ppr505dy"
   },
   "stable": {
    "version": [
@@ -125697,11 +126117,11 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20230905,
-    2128
+    20240221,
+    138
    ],
-   "commit": "4d20bc852545a2e602f59084a630f888542052b1",
-   "sha256": "0qm4br8smkmp63wxdw6b89dn8shvha8jqdr57fmz6a9n0axywbv5"
+   "commit": "5fbdf05351e77ee62e3933c7b5f46459693bd04c",
+   "sha256": "0bvw7qd0avik114dvlrfarzhx0rvwpa2jz0qx2n5wq8is08py6q3"
   },
   "stable": {
    "version": [
@@ -125880,11 +126300,11 @@
   "repo": "lassik/emacs-whois",
   "unstable": {
    "version": [
-    20231216,
-    1652
+    20240205,
+    2147
    ],
-   "commit": "3cf4b2ae4dd8f002c2b5733ef9a290e5947c5b91",
-   "sha256": "06g9qy4l3846fvrljnbw7zhn0girb5ravs620z0naki8zinkggzf"
+   "commit": "5cd0e1724ed8159927df06ded55162d0c122c0fd",
+   "sha256": "1i3zwp4q3804q71q08vnc9am8lagvz2lx9h27pwry10dihcv4gz6"
   },
   "stable": {
    "version": [
@@ -128163,26 +128583,26 @@
   "repo": "zkry/yaml-pro",
   "unstable": {
    "version": [
-    20230921,
-    39
+    20240223,
+    1406
    ],
    "deps": [
     "yaml"
    ],
-   "commit": "c04e8a2a3549095cb7c84491aefed54543373512",
-   "sha256": "0v061q3hpdhjjzxnhm5x6409kx9djc83vrcrwm5qhk5ngiva1wrj"
+   "commit": "504943460174febf36427c94483a3c63c7b28e26",
+   "sha256": "1qh33gffz7avi5gjw754rl2cif32hqv532za7wqsbzga5aags2vy"
   },
   "stable": {
    "version": [
     0,
     3,
-    3
+    5
    ],
    "deps": [
     "yaml"
    ],
-   "commit": "50fc911b9015708b77872dc60c53f4a4740bef1b",
-   "sha256": "1ml7rp89alx6g1c5n325gzygwlgywxa40qf8xc0ag4nwzyp6z109"
+   "commit": "4599bcb552555a39b5fab99b425180cdc131213c",
+   "sha256": "1ihi9ydzws97r0n5y71xyiljg0099c8w5vym8riv8skzf15bf5yp"
   }
  },
  {
@@ -128382,14 +128802,14 @@
   "repo": "joaotavora/yasnippet",
   "unstable": {
    "version": [
-    20240124,
-    258
+    20240215,
+    1909
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "297546f0853a6a51f5b05e954d0c6aea8caa5ec2",
-   "sha256": "0b1fdigwjshfim6zyzkn2wa6k8xd4qlafrf7zgj5bsx6alrzac8v"
+   "commit": "1ec7e3b6f79de076133f16da61e3d99f16668048",
+   "sha256": "0hk5k2sghl4j478pyp7n7dqq3iqz0rcf607cs51f2sy1y362f0gy"
   },
   "stable": {
    "version": [
@@ -128448,14 +128868,14 @@
   "repo": "AndreaCrotti/yasnippet-snippets",
   "unstable": {
    "version": [
-    20240115,
-    1138
+    20240221,
+    1621
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "441bad332344b02402add62d085b8313bdc7f618",
-   "sha256": "1nw2kfdcv24h7g7dwv7b6njblrzh65li3lz0qqdwd6ikan6vgraa"
+   "commit": "e6ec9f1822913cea7dc67cde6aeb8f2625980950",
+   "sha256": "0jvpsqbfl5ax2jzc30hkhd7z9l98ncnaqnpl72lws8iknhjnd29k"
   },
   "stable": {
    "version": [
@@ -128641,26 +129061,26 @@
   "url": "https://git.thanosapollo.org/yeetube",
   "unstable": {
    "version": [
-    20240201,
-    227
+    20240210,
+    1008
    ],
    "deps": [
     "compat"
    ],
-   "commit": "1b54f9d2a1c2777d4a0f33f2d54af54608884f23",
-   "sha256": "00y4bn4pgpf98jypnksk55xlfjnznsbjxs3ajkij3r5mris93njr"
+   "commit": "bdb3d532308071cd912bfbf92963c9cabe79de7c",
+   "sha256": "0c2iq6rb179zh9qbw7prxsjbiz77j060pj75s82wbbz5xjavzgp5"
   },
   "stable": {
    "version": [
     2,
-    0,
-    9
+    1,
+    2
    ],
    "deps": [
     "compat"
    ],
-   "commit": "a265a9f95de6f5cc5b77aa619657de1691e6f965",
-   "sha256": "17475zkvhj7yc3sxv0snmvxf84mkl30l78s28gzzm3j15p806cbd"
+   "commit": "bdb3d532308071cd912bfbf92963c9cabe79de7c",
+   "sha256": "0c2iq6rb179zh9qbw7prxsjbiz77j060pj75s82wbbz5xjavzgp5"
   }
  },
  {
@@ -128843,11 +129263,11 @@
   "repo": "SamuelVanie/youdotcom.el",
   "unstable": {
    "version": [
-    20240114,
-    2127
+    20240207,
+    1853
    ],
-   "commit": "4a715db5a9ecb3b3ccf9aa9f51bb8599428dd655",
-   "sha256": "0mp1a5a6r5zxl6sg6hsvydbb42dpxi79f58y48xqlvj9k33zrb4g"
+   "commit": "0b835f143e88c3321006a3e48ac5190d071b872c",
+   "sha256": "1araszwlw53g82phwmmp9x84rq07ma2payplr68yg3k159jbmapr"
   }
  },
  {
@@ -129473,14 +129893,14 @@
   "repo": "ziglang/zig-mode",
   "unstable": {
    "version": [
-    20230815,
-    2033
+    20240221,
+    1019
    ],
    "deps": [
     "reformatter"
    ],
-   "commit": "079149a19fc869343130e69d7b944afd3a1813cc",
-   "sha256": "1r8mysp3q4zj9mm1hxj00vnycasi0hlmdgqqjl540jcyn86jqw9a"
+   "commit": "9ce200971008fa29641ab7bec80802b450b65646",
+   "sha256": "1s44mq24s5a6kbq09mwswwxn91p4mlgpm0k0ff13i68cxd7641li"
   }
  },
  {
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 14b112558b4a2..c5821f51e42c1 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -10773,6 +10773,18 @@ final: prev:
     meta.homepage = "https://github.com/tjdevries/train.nvim/";
   };
 
+  transparent-nvim = buildVimPlugin {
+    pname = "transparent.nvim";
+    version = "2023-11-12";
+    src = fetchFromGitHub {
+      owner = "xiyaowong";
+      repo = "transparent.nvim";
+      rev = "fd35a46f4b7c1b244249266bdcb2da3814f01724";
+      sha256 = "sha256-wT+7rmp08r0XYGp+MhjJX8dsFTar8+nf10CV9OdkOSk=";
+    };
+    meta.homepage = "https://github.com/xiyaowong/transparent.nvim";
+  };
+
   treesj = buildVimPlugin {
     pname = "treesj";
     version = "2024-02-09";
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index e705596b5b453..78c923ef87d5f 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -905,6 +905,7 @@ https://github.com/akinsho/toggleterm.nvim/,,
 https://github.com/folke/tokyonight.nvim/,,
 https://github.com/markonm/traces.vim/,,
 https://github.com/tjdevries/train.nvim/,,
+https://github.com/xiyaowong/transparent.nvim/,HEAD,
 https://github.com/Wansmer/treesj/,main,
 https://github.com/tremor-rs/tremor-vim/,,
 https://github.com/cappyzawa/trim.nvim/,,
diff --git a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
index 9c82b2ef60f8e..530b28f30844d 100644
--- a/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, vscode-utils, callPackage }:
 let
-  version = "1.42.0";
+  version = "1.48.0";
   rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
   arch =
     if stdenv.isLinux then "linux"
@@ -13,7 +13,7 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     name = "rescript-vscode";
     publisher = "chenglou92";
     inherit version;
-    sha256 = "sha256-Po7zuppr8EHSfg2sDzkNn0KARncsiNVPoRsd25zc/xg=";
+    sha256 = "sha256-/1nDuj/kSdkV6PlbdlOLfUKQeuvyL2VhPjUAr9kq2NM=";
   };
   postPatch = ''
     rm -r ${analysisDir}
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index f630e058f6052..0cbfafce48fa8 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -1785,8 +1785,8 @@ let
         mktplcRef = {
           publisher = "github";
           name = "copilot";
-          version = "1.156.691";
-          sha256 = "sha256-K7lzwfgqb0gUJAivro/ePaQetM31M+zTBRZMBy92ZuA=";
+          version = "1.172.758";
+          sha256 = "sha256-sK3IiA4mQ6Hse+UpZ81Zb5iBSREzTrs7ypsfGbJiXm4=";
         };
 
         meta = {
@@ -1802,7 +1802,7 @@ let
         mktplcRef = {
           publisher = "github";
           name = "copilot-chat";
-          version = "0.12.2024013003"; # latest version compatible with vscode 1.86
+          version = "0.14.2024030801"; # compatible with vscode >= 1.87
           sha256 = "sha256-4ArWVFko2T6ze/i+HTdXAioWC7euWCycDsQxFTrEtUw=";
         };
         meta = {
@@ -2971,6 +2971,22 @@ let
         };
       };
 
+      naumovs.theme-oceanicnext = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "theme-oceanicnext";
+          publisher = "naumovs";
+          version = "0.0.4";
+          sha256 = "sha256-romhWL3s0NVZ3kptSNT4/X9WkgakgNNfFElaBCo6jj4=";
+        };
+        meta = {
+          description = "Oceanic Next theme for VSCode + dimmed bg version for better looking UI";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=naumovs.theme-oceanicnext";
+          homepage = "https://github.com/voronianski/oceanic-next-color-scheme";
+          license = lib.licenses.unlicense;
+          maintainers = [ lib.maintainers.themaxmur ];
+        };
+      };
+
       njpwerner.autodocstring = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "autodocstring";
@@ -3447,8 +3463,8 @@ let
         mktplcRef = {
           publisher = "shd101wyy";
           name = "markdown-preview-enhanced";
-          version = "0.8.10";
-          sha256 = "sha256-BjTV2uH9QqCS1VJ94XXgzNMJb4FB4Ee+t/5uAQfJCuM=";
+          version = "0.8.12";
+          sha256 = "sha256-4Iq6idux029i7cBV3x79ZRAbSk3ymqx+Q2jv0zV9ZTI=";
         };
         meta = {
           description = "Provides a live preview of markdown using either markdown-it or pandoc";
@@ -4323,11 +4339,15 @@ let
         mktplcRef = {
           name = "markdown-all-in-one";
           publisher = "yzhang";
-          version = "3.5.1";
-          sha256 = "sha256-ZyvkRp0QTjoMEXRGHzp3udGngYcU9EkTCvx8o2CEaBE=";
+          version = "3.6.2";
+          sha256 = "1n9d3qh7vypcsfygfr5rif9krhykbmbcgf41mcjwgjrf899f11h4";
         };
         meta = {
+          description = "All you need to write Markdown (keyboard shortcuts, table of contents, auto preview and more)";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one";
+          homepage = "https://github.com/yzhang-gh/vscode-markdown";
           license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.raroh73 ];
         };
       };
 
diff --git a/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix
index 1729256670c3f..2de2c1c8789fe 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix
@@ -30,14 +30,24 @@
 
 let
   gdbDefaultsTo = if gdbUseFixed then "${gdb}/bin/gdb" else "gdb";
+  supported = {
+    x86_64-linux = {
+      sha256 = "sha256-4mKCBqUCOndKEfsJqTIsfwEt+0CZI8QAhBj3Y4+wKlg=";
+      arch = "linux-x64";
+    };
+    aarch64-linux = {
+      sha256 = "sha256-Kjl8mEpayA1xMHEAMJ5k3Ctk3l48KlUBU5w3dL4pGWM=";
+      arch = "linux-arm64";
+    };
+  };
+
+  base = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}");
 in
 vscode-utils.buildVscodeMarketplaceExtension {
-  mktplcRef = {
+  mktplcRef = base // {
     name = "cpptools";
     publisher = "ms-vscode";
     version = "1.17.3";
-    sha256 = "sha256-4mKCBqUCOndKEfsJqTIsfwEt+0CZI8QAhBj3Y4+wKlg=";
-    arch = "linux-x64";
   };
 
   nativeBuildInputs = [
@@ -85,6 +95,6 @@ vscode-utils.buildVscodeMarketplaceExtension {
     homepage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools";
     license = lib.licenses.unfree;
     maintainers = [ lib.maintainers.jraygauthier lib.maintainers.stargate01 ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index aac9e1b72fdcb..1c430546d21a5 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -30,21 +30,21 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "17fzqq44p7ix4ihkg8nq582njjy96a8zz8vz9hl62hdxxg3llgfg";
-    x86_64-darwin = "12vbkzv2l02wifcjd7amq583vlv0iqixpa2kf5swhl0arww1viqa";
-    aarch64-linux = "1myv8zy2cycsmnp8xhjbm2lpcad3hj9zh79ywcinc50yncwj6wdl";
-    aarch64-darwin = "0vvbwcbxf0fmcfyk2y231qd8lxaj869ap865zps6wcdjqr5wnbdq";
-    armv7l-linux = "04gy6ls3gnbdcg4998widy9b9h04rx1gzp6iml6pi73li1cmfawz";
+    x86_64-linux = "1sasd183cf264a8am93ck35b485p5vl2bfzzxzpf65rvcmvhn7fh";
+    x86_64-darwin = "01nfh5izc53sxfw27i0byn0l6q4qwp7y9zs0g9a3rx3qglm47qr8";
+    aarch64-linux = "183583xnjv18ksy8bbkjfkxx3zy22anj14hi8bavhgix9bzk3wrb";
+    aarch64-darwin = "1whjm4z922qq1yh4vliiab777n0la6sc45n2qf7q9pvxjj1f83wj";
+    armv7l-linux = "171diqiv9yb9c5klihndsgk7qp7y80cc6bq8r4hnw1b834k0ywfp";
   }.${system} or throwSystem;
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.86.2";
+    version = "1.87.1";
     pname = "vscode" + lib.optionalString isInsiders "-insiders";
 
     # This is used for VS Code - Remote SSH test
-    rev = "903b1e9d8990623e3d7da1df3d33db3e42d80eda";
+    rev = "1e790d77f81672c49be070e04474901747115651";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
     longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@@ -68,7 +68,7 @@ in
       src = fetchurl {
         name = "vscode-server-${rev}.tar.gz";
         url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
-        sha256 = "06jv2kzxy7p7y7294c4sq6fk6slwk4gfw6jqh79avnq0riy669gv";
+        sha256 = "19k2n1zlfvy1dczrslrdzhvpa27nc0mcg2x4bmp5yvvv5bpv3bbd";
       };
     };
 
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 22f4ec88118cd..6770f7a1ecc40 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -15,11 +15,11 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0pz2dn245jzjw2n79mm9angvdlwlwxb4lwdq8za1i99g2m4il1bz";
-    x86_64-darwin = "0d0ivs672zh7w60pxy95awq7c8gxhs7d8wv5cf25289gnzcd6qff";
-    aarch64-linux = "1srir5gr0bdvnxyqrfq00p34ligg0pppr22g9zrdm8jasvrz6fb0";
-    aarch64-darwin = "046kcsanz5msf5xd94b1lxcwclsp3dcwxgzrcxycbsykxslz9gpq";
-    armv7l-linux = "0h576q3jbdy48bvg4h9swd2w7cynxmnm2klj6p719myigx7h2jzg";
+    x86_64-linux = "02rkp86rj7irs5011g6180yihllwfx47afk5vybxab4v23vigidr";
+    x86_64-darwin = "1hpj6kkyby9chr27w2382az7h2bg3x1x7c9j6i5bh8vl81s9yfd4";
+    aarch64-linux = "04fhmfplvyqg2l5xlqldl6kfy1m3y19sf2nikigmsm550b8m6sgc";
+    aarch64-darwin = "1yhyybd27ympg12mp4w46z64g2mi1hbv4d6hfl34l7fq4c5jkjf2";
+    armv7l-linux = "0jpjsfal67la123hqp9607bih3vnjdpbnrghyy1vywy15z71pff5";
   }.${system} or throwSystem;
 
   sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
@@ -29,7 +29,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.86.2.24057";
+    version = "1.87.1.24068";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/emulators/cemu/default.nix b/pkgs/applications/emulators/cemu/default.nix
index 6e0db9e02c9f3..fa7f68c7063f9 100644
--- a/pkgs/applications/emulators/cemu/default.nix
+++ b/pkgs/applications/emulators/cemu/default.nix
@@ -46,13 +46,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "cemu";
-  version = "2.0-66";
+  version = "2.0-68";
 
   src = fetchFromGitHub {
     owner = "cemu-project";
     repo = "Cemu";
     rev = "v${version}";
-    hash = "sha256-1s1H2rJuN9lRNanKXxKWMLBOFg5z3IwpJCZCmymAH9Y=";
+    hash = "sha256-/c0rpj4s3aNJVH+AlU9R4t321OqTvJHfZQCfyzYB4m8=";
   };
 
   patches = [
diff --git a/pkgs/applications/emulators/ripes/default.nix b/pkgs/applications/emulators/ripes/default.nix
index e1438b1d0a806..4717a1b0601d7 100644
--- a/pkgs/applications/emulators/ripes/default.nix
+++ b/pkgs/applications/emulators/ripes/default.nix
@@ -14,14 +14,14 @@
 stdenv.mkDerivation rec {
   pname = "ripes";
   # Pulling unstable version as latest stable does not build against gcc-13.
-  version = "2.2.6-unstable-2024-01-02";
+  version = "2.2.6-unstable-2024-03-03";
 
   src = fetchFromGitHub {
     owner = "mortbopet";
     repo = "Ripes";
-    rev = "0faf41b669a93a1944707cd7d111a5e9241425fe";
+    rev = "b71f0ddd5d2d346cb97b28fd3f70fef55bb9b6b7";
     fetchSubmodules = true;
-    hash = "sha256-3+jibS1mGYBy9jmucytc7GvB1ZKRfh7aXtDty77hA3k=";
+    hash = "sha256-zQrrWBHNIacRoAEIjR0dlgUTncBCiodcBeT/wbDClWg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index 9d2189c230635..fb9b387a7b7ae 100644
--- a/pkgs/applications/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
@@ -69,9 +69,9 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the hash for staging as well.
-    version = "9.3";
+    version = "9.4";
     url = "https://dl.winehq.org/wine/source/9.x/wine-${version}.tar.xz";
-    hash = "sha256-FIsuNBR9H6FIQVY3xyPJn0N26SyE6QzB0OAK1O07F5M=";
+    hash = "sha256-xV/5lXYSVJuMfffN3HnXoA0ZFX0Fs3EUi/CNTd92jsY=";
     inherit (stable) patches;
 
     ## see http://wiki.winehq.org/Gecko
@@ -117,7 +117,7 @@ in rec {
   staging = fetchFromGitLab rec {
     # https://gitlab.winehq.org/wine/wine-staging
     inherit (unstable) version;
-    hash = "sha256-1k7HHcsosce5MX86IMiFrfjg0li4DuP0utjyal1Iwkc=";
+    hash = "sha256-wij0CeAL6V8dH4nRS+UVKZMBJlSNgzr9tG1860WSbrU=";
     domain = "gitlab.winehq.org";
     owner = "wine";
     repo = "wine-staging";
diff --git a/pkgs/applications/emulators/xemu/default.nix b/pkgs/applications/emulators/xemu/default.nix
index 3fc8adde9b675..43fbd7e5f73b9 100644
--- a/pkgs/applications/emulators/xemu/default.nix
+++ b/pkgs/applications/emulators/xemu/default.nix
@@ -28,13 +28,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xemu";
-  version = "0.7.118";
+  version = "0.7.119";
 
   src = fetchFromGitHub {
     owner = "xemu-project";
     repo = "xemu";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-IGzPxwNxuqMsZhQ63VUyDzPSBpAgc0U0oUjM/blEd7g=";
+    hash = "sha256-5gH1pQqy45vmgeW61peEi6+ZXpPgyQMUg3dh37oqR6s=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/file-managers/browsr/default.nix b/pkgs/applications/file-managers/browsr/default.nix
index b859ab8d7e112..a772dfa71750e 100644
--- a/pkgs/applications/file-managers/browsr/default.nix
+++ b/pkgs/applications/file-managers/browsr/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "browsr";
-  version = "1.18.0";
+  version = "1.19.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "juftin";
     repo = "browsr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ygqoz1rNQwhU1/8NsHwQsSCqQ8gYwHEaAuIaVMCtKKA=";
+    hash = "sha256-V5B+/zfUlpF0TMTHqzyjapW93/DoJKgbJkTMX2NZyIQ=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -27,6 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     pandas
     pillow
     pymupdf
+    pyperclip
     rich
     rich-click
     rich-pixels
@@ -75,6 +76,9 @@ python3.pkgs.buildPythonApplication rec {
     "test_github_screenshot"
     "test_github_screenshot_license"
     "test_textual_app_context_path_github"
+    "test_mkdocs_screenshot"
+    # Different output
+    "test_textual_app_context_path"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index c100c9dd14415..5fcc6f93fac04 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -34,13 +34,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "grass";
-  version = "8.3.1";
+  version = "8.3.2";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "grass";
     rev = finalAttrs.version;
-    hash = "sha256-SoJq4SuDYImfkM2e991s47vYusrmnrQaXn7p3xwyOOQ=";
+    hash = "sha256-loeg+7h676d2WdYOMcJFyzeEZcxjBynir6Hz0J/GBns=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 8fe391173d660..568a8a0ac02e9 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -25,6 +25,7 @@
 , libwebpSupport ? !stdenv.hostPlatform.isMinGW, libwebp
 , libheifSupport ? true, libheif
 , potrace
+, coreutils
 , curl
 , ApplicationServices
 , Foundation
@@ -64,6 +65,10 @@ stdenv.mkDerivation (finalAttrs: {
   enableParallelBuilding = true;
 
   configureFlags = [
+    # specify delegates explicitly otherwise `convert` will invoke the build
+    # coreutils for filetypes it doesn't natively support.
+    "MVDelegate=${lib.getExe' coreutils "mv"}"
+    "RMDelegate=${lib.getExe' coreutils "rm"}"
     "--with-frozenpaths"
     (lib.withFeatureAs (arch != null) "gcc-arch" arch)
     (lib.withFeature librsvgSupport "rsvg")
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index baae92b14213d..893d2cebb6010 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript
 , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11
 , libwebp, quantumdepth ? 8, fixDarwinDylibNames, nukeReferences
+, coreutils
 , runCommand
 , graphicsmagick  # for passthru.tests
 }:
@@ -19,6 +20,9 @@ stdenv.mkDerivation rec {
   ];
 
   configureFlags = [
+    # specify delegates explicitly otherwise `gm` will invoke the build
+    # coreutils for filetypes it doesn't natively support.
+    "MVDelegate=${lib.getExe' coreutils "mv"}"
     "--enable-shared"
     "--with-frozenpaths"
     "--with-quantum-depth=${toString quantumdepth}"
diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix
deleted file mode 100644
index a5898a3ac007f..0000000000000
--- a/pkgs/applications/graphics/nomacs/default.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, pkg-config
-, wrapQtAppsHook
-
-, qtbase
-, qttools
-, qtsvg
-, qtimageformats
-
-, exiv2
-, opencv4
-, libraw
-, libtiff
-, quazip
-}:
-
-stdenv.mkDerivation rec {
-  pname = "nomacs";
-  version = "3.17.2287";
-
-  src = fetchFromGitHub {
-    owner = "nomacs";
-    repo = "nomacs";
-    rev = version;
-    hash = "sha256-OwiMB6O4+WuAt87sRbD1Qby3U7igqgCgddiWs3a4j3k=";
-  };
-
-  setSourceRoot = ''
-    sourceRoot=$(echo */ImageLounge)
-  '';
-
-  nativeBuildInputs = [cmake
-                       pkg-config
-                       wrapQtAppsHook];
-
-  buildInputs = [qtbase
-                 qttools
-                 qtsvg
-                 qtimageformats
-                 exiv2
-                 opencv4
-                 libraw
-                 libtiff
-                 quazip];
-
-  cmakeFlags = ["-DENABLE_OPENCV=ON"
-                "-DENABLE_RAW=ON"
-                "-DENABLE_TIFF=ON"
-                "-DENABLE_QUAZIP=ON"
-                "-DENABLE_TRANSLATIONS=ON"
-                "-DUSE_SYSTEM_QUAZIP=ON"];
-
-  postInstall = lib.optionalString stdenv.isDarwin ''
-    mkdir -p $out/lib
-    mv $out/libnomacsCore.dylib $out/lib/libnomacsCore.dylib
-  '';
-
-  meta = with lib; {
-    homepage = "https://nomacs.org";
-    description = "Qt-based image viewer";
-    maintainers = with lib.maintainers; [ mindavi ];
-    license = licenses.gpl3Plus;
-    inherit (qtbase.meta) platforms;
-  };
-}
diff --git a/pkgs/applications/graphics/rnote/Cargo.lock b/pkgs/applications/graphics/rnote/Cargo.lock
index f36abca67e8ce..07c7748de2648 100644
--- a/pkgs/applications/graphics/rnote/Cargo.lock
+++ b/pkgs/applications/graphics/rnote/Cargo.lock
@@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.8.10"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b79b82693f705137f8fb9b37871d99e4f9a7df12b917eed79c3d3954830a60b"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
  "once_cell",
@@ -46,14 +46,13 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
 
 [[package]]
 name = "alsa"
-version = "0.7.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2562ad8dcf0f789f65c6fdaad8a8a9708ed6b488e649da28c01656ad66b8b47"
+checksum = "37fe60779335388a88c01ac6c3be40304d1e349de3ada3b15f7808bb90fa9dce"
 dependencies = [
  "alsa-sys",
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "libc",
- "nix",
 ]
 
 [[package]]
@@ -526,9 +525,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.15.3"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "bytemuck"
@@ -580,10 +579,11 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 
 [[package]]
 name = "cc"
-version = "1.0.88"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
+ "jobserver",
  "libc",
 ]
 
@@ -620,9 +620,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.34"
+version = "0.4.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
+checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -645,9 +645,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.5.1"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -655,9 +655,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.5.1"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
  "anstream",
  "anstyle",
@@ -774,23 +774,21 @@ dependencies = [
 
 [[package]]
 name = "cpal"
-version = "0.15.2"
+version = "0.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c"
+checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779"
 dependencies = [
  "alsa",
  "core-foundation-sys",
  "coreaudio-rs",
  "dasp_sample",
- "jni 0.19.0",
+ "jni",
  "js-sys",
  "libc",
  "mach2",
  "ndk",
  "ndk-context",
  "oboe",
- "once_cell",
- "parking_lot",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
@@ -871,9 +869,9 @@ dependencies = [
 
 [[package]]
 name = "cxx"
-version = "1.0.118"
+version = "1.0.119"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2673ca5ae28334544ec2a6b18ebe666c42a2650abfb48abbd532ed409a44be2b"
+checksum = "635179be18797d7e10edb9cd06c859580237750c7351f39ed9b298bfc17544ad"
 dependencies = [
  "cc",
  "cxxbridge-flags",
@@ -883,9 +881,9 @@ dependencies = [
 
 [[package]]
 name = "cxx-gen"
-version = "0.7.118"
+version = "0.7.119"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a94f02b4e45d7d00ecabff7635833f71c786576067b3d4158c8bef65d0a8e38b"
+checksum = "5797d553b95704a6a49394acfdb93e2332b8aaa146713a1e8ebe362e86d9fa68"
 dependencies = [
  "codespan-reporting",
  "proc-macro2",
@@ -895,15 +893,15 @@ dependencies = [
 
 [[package]]
 name = "cxxbridge-flags"
-version = "1.0.118"
+version = "1.0.119"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "886acf875df67811c11cd015506b3392b9e1820b1627af1a6f4e93ccdfc74d11"
+checksum = "a87ff7342ffaa54b7c61618e0ce2bbcf827eba6d55b923b83d82551acbbecfe5"
 
 [[package]]
 name = "cxxbridge-macro"
-version = "1.0.118"
+version = "1.0.119"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d151cc139c3080e07f448f93a1284577ab2283d2a44acd902c6fba9ec20b6de"
+checksum = "70b5b86cf65fa0626d85720619d80b288013477a91a0389fa8bc716bf4903ad1"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1469,9 +1467,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6771942f85a2beaa220c64739395e4401b9fab4a52aba9b503fa1e6ed4d4d806"
+checksum = "9100b25604183f2fd97f55ef087fae96ab4934d7215118a35303e422688e6e4b"
 dependencies = [
  "cairo-rs",
  "gdk-pixbuf",
@@ -1484,9 +1482,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-sys"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1eb95854fab65072023a7814434f003db571d6e45c287c0b0c540c1c78bdf6ae"
+checksum = "d0b76874c40bb8d1c7d03a7231e23ac75fa577a456cd53af32ec17ec8f121626"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1653,7 +1651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0f5897ca27a83e4cdc7b4666850bade0a2e73e17689aabafcc9acddad9d823b8"
 dependencies = [
  "heck",
- "proc-macro-crate 3.1.0",
+ "proc-macro-crate",
  "proc-macro2",
  "quote",
  "syn 2.0.52",
@@ -1711,9 +1709,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e8ce8dee0fd87a11002214b1204ff18c9272fbd530408f0884a0f9b25dc31de"
+checksum = "c65036fc8f99579e8cb37b12487969b707ab23ec8ab953682ff347cbd15d396e"
 dependencies = [
  "cairo-rs",
  "gdk4",
@@ -1726,9 +1724,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4-sys"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2660a652da5b662d43924df19ba40d73f015ed427329ef51d2b1360a4e0dc0e4"
+checksum = "bd24c814379f9c3199dc53e52253ee8d0f657eae389ab282c330505289d24738"
 dependencies = [
  "cairo-sys-rs",
  "gdk4-sys",
@@ -1742,9 +1740,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d26ffa3ec6316ccaa1df62d3e7f5bae1637c0acbb43f250fabef38319f73c64"
+checksum = "aa82753b8c26277e4af1446c70e35b19aad4fb794a7b143859e7eeb9a4025d83"
 dependencies = [
  "cairo-rs",
  "field-offset",
@@ -1763,12 +1761,12 @@ dependencies = [
 
 [[package]]
 name = "gtk4-macros"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8b86439e9896f6f3f47c3d8077c5c8205174078760afdabd9098a8e9e937d97"
+checksum = "40300bf071d2fcd4c94eacc09e84ec6fe73129d2ceb635cf7e55b026b5443567"
 dependencies = [
  "anyhow",
- "proc-macro-crate 3.1.0",
+ "proc-macro-crate",
  "proc-macro-error",
  "proc-macro2",
  "quote",
@@ -1777,9 +1775,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4-sys"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2abc0a6d356d59a3806021829ce6ed3e70bba3509b41a535fedcb09fae13fbc0"
+checksum = "0db1b104138f087ccdc81d2c332de5dd049b89de3d384437cc1093b17cd2da18"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1886,7 +1884,7 @@ dependencies = [
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows-core",
+ "windows-core 0.52.0",
 ]
 
 [[package]]
@@ -2113,30 +2111,18 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "jni"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec"
-dependencies = [
- "cesu8",
- "combine",
- "jni-sys",
- "log",
- "thiserror",
- "walkdir",
-]
-
-[[package]]
-name = "jni"
-version = "0.20.0"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
 dependencies = [
  "cesu8",
+ "cfg-if",
  "combine",
  "jni-sys",
  "log",
  "thiserror",
  "walkdir",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -2146,6 +2132,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
+name = "jobserver"
+version = "0.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
 name = "jpeg-decoder"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2156,9 +2151,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2266,12 +2261,12 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libloading"
-version = "0.8.1"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
 dependencies = [
  "cfg-if",
- "windows-sys 0.48.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -2497,9 +2492,9 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.10"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "log",
@@ -2546,15 +2541,15 @@ dependencies = [
 
 [[package]]
 name = "ndk"
-version = "0.7.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
+checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "jni-sys",
+ "log",
  "ndk-sys",
  "num_enum",
- "raw-window-handle",
  "thiserror",
 ]
 
@@ -2566,9 +2561,9 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 
 [[package]]
 name = "ndk-sys"
-version = "0.4.1+23.1.7779620"
+version = "0.5.0+25.2.9519653"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
+checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
 dependencies = [
  "jni-sys",
 ]
@@ -2580,17 +2575,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
 
 [[package]]
-name = "nix"
-version = "0.24.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
-dependencies = [
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
-]
-
-[[package]]
 name = "no-std-compat"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2661,17 +2645,6 @@ dependencies = [
 
 [[package]]
 name = "num-derive"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "num-derive"
 version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
@@ -2723,23 +2696,23 @@ dependencies = [
 
 [[package]]
 name = "num_enum"
-version = "0.5.11"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
 dependencies = [
  "num_enum_derive",
 ]
 
 [[package]]
 name = "num_enum_derive"
-version = "0.5.11"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
 dependencies = [
- "proc-macro-crate 1.3.1",
+ "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2797,23 +2770,23 @@ dependencies = [
 
 [[package]]
 name = "oboe"
-version = "0.5.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0"
+checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb"
 dependencies = [
- "jni 0.20.0",
+ "jni",
  "ndk",
  "ndk-context",
- "num-derive 0.3.3",
+ "num-derive",
  "num-traits",
  "oboe-sys",
 ]
 
 [[package]]
 name = "oboe-sys"
-version = "0.5.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f44155e7fb718d3cfddcf70690b2b51ac4412f347cd9e4fbe511abe9cd7b5f2"
+checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d"
 dependencies = [
  "cc",
 ]
@@ -2826,9 +2799,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "open"
-version = "5.1.0"
+version = "5.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f2588edf622de56e7a1fed57bf203344f63c03f3d43472ba0434a92373c8f27"
+checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32"
 dependencies = [
  "is-wsl",
  "libc",
@@ -2961,7 +2934,7 @@ dependencies = [
  "downcast-rs",
  "either",
  "nalgebra",
- "num-derive 0.4.2",
+ "num-derive",
  "num-traits",
  "rustc-hash",
  "serde",
@@ -3250,16 +3223,6 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "1.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
-dependencies = [
- "once_cell",
- "toml_edit 0.19.15",
-]
-
-[[package]]
-name = "proc-macro-crate"
 version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
@@ -3368,12 +3331,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "raw-window-handle"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
-
-[[package]]
 name = "rawpointer"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3422,7 +3379,7 @@ checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.5",
+ "regex-automata 0.4.6",
  "regex-syntax 0.8.2",
 ]
 
@@ -3437,9 +3394,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3469,7 +3426,7 @@ dependencies = [
 
 [[package]]
 name = "rnote"
-version = "0.10.0"
+version = "0.10.1"
 dependencies = [
  "anyhow",
  "async-fs",
@@ -3487,7 +3444,7 @@ dependencies = [
  "libadwaita",
  "nalgebra",
  "notify-debouncer-full",
- "num-derive 0.4.2",
+ "num-derive",
  "num-traits",
  "numeric-sort",
  "once_cell",
@@ -3519,7 +3476,7 @@ dependencies = [
 
 [[package]]
 name = "rnote-cli"
-version = "0.10.0"
+version = "0.10.1"
 dependencies = [
  "anyhow",
  "atty",
@@ -3538,7 +3495,7 @@ dependencies = [
 
 [[package]]
 name = "rnote-compose"
-version = "0.10.0"
+version = "0.10.1"
 dependencies = [
  "anyhow",
  "approx",
@@ -3547,7 +3504,7 @@ dependencies = [
  "ink-stroke-modeler-rs",
  "kurbo 0.10.4",
  "nalgebra",
- "num-derive 0.4.2",
+ "num-derive",
  "num-traits",
  "once_cell",
  "palette",
@@ -3567,7 +3524,7 @@ dependencies = [
 
 [[package]]
 name = "rnote-engine"
-version = "0.10.0"
+version = "0.10.1"
 dependencies = [
  "anyhow",
  "approx",
@@ -3587,7 +3544,7 @@ dependencies = [
  "kurbo 0.10.4",
  "librsvg",
  "nalgebra",
- "num-derive 0.4.2",
+ "num-derive",
  "num-traits",
  "once_cell",
  "parry2d-f64",
@@ -4674,9 +4631,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -4690,9 +4647,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4700,9 +4657,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
@@ -4715,9 +4672,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.41"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -4727,9 +4684,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4737,9 +4694,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4750,15 +4707,15 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "web-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4825,11 +4782,12 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows"
-version = "0.46.0"
+version = "0.54.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25"
+checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49"
 dependencies = [
- "windows-targets 0.42.2",
+ "windows-core 0.54.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -4842,6 +4800,34 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-core"
+version = "0.54.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65"
+dependencies = [
+ "windows-result",
+ "windows-targets 0.52.4",
+]
+
+[[package]]
+name = "windows-result"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd19df78e5168dfb0aedc343d1d1b8d422ab2db6756d2dc3fef75035402a3f64"
+dependencies = [
+ "windows-targets 0.52.4",
+]
+
+[[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"
diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
index 33ca802347112..cf4c2a54af071 100644
--- a/pkgs/applications/graphics/rnote/default.nix
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rnote";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "flxzt";
     repo = "rnote";
     rev = "v${version}";
-    hash = "sha256-PMg83eWcC21yNiRYdTS6/j9gerTctnDPHXIM4PWktrU=";
+    hash = "sha256-J9M1d6C40EpqcSU5vYVfsCruhECkPJOdhzG2IX1tTQ0=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index 923ee5deda13d..7ff575acab669 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -7,6 +7,7 @@
 , pkg-config
 
 , alsa-lib
+, binutils
 , glib
 , gsettings-desktop-schemas
 , gtk3
@@ -25,16 +26,22 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
-    repo = pname;
+    repo = "xournalpp";
     rev = "v${version}";
-    sha256 = "sha256-6ND0Y+TzdN2rRI10cusgSK1sYMC55Wn5qFCHP4hsdes=";
+    sha256 = "sha256-8UAAX/kixqiY9zEYs5eva0G2K2vlfnYd1yyVHMSfSeY=";
   };
 
+  postPatch = ''
+    substituteInPlace src/util/Stacktrace.cpp \
+      --replace-fail "addr2line" "${binutils}/bin/addr2line"
+  '';
+
   nativeBuildInputs = [ cmake gettext pkg-config wrapGAppsHook ];
+
   buildInputs =
     lib.optionals stdenv.isLinux [
       alsa-lib
@@ -56,8 +63,6 @@ stdenv.mkDerivation rec {
 
   buildFlags = [ "translations" ];
 
-  hardeningDisable = [ "format" ];
-
   meta = with lib; {
     description = "Xournal++ is a handwriting Notetaking software with PDF annotation support";
     homepage    = "https://xournalpp.github.io/";
@@ -65,5 +70,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ andrew-d sikmir ];
     platforms   = platforms.unix;
+    mainProgram = "xournalpp";
   };
 }
diff --git a/pkgs/applications/misc/archivebox/default.nix b/pkgs/applications/misc/archivebox/default.nix
index 4979a683ebe02..996c11292ab10 100644
--- a/pkgs/applications/misc/archivebox/default.nix
+++ b/pkgs/applications/misc/archivebox/default.nix
@@ -43,8 +43,9 @@ let
           rev = "e43f383dae3a35237e42f6acfe1207a8e7e7bdf5";
           hash = "sha256-NAMa78KhAuoJfp0Cb0Codz84sRfRQ1JhSLNYRI4GBPM=";
         };
+
         # possibly a real issue, but that version is not supported anymore
-        disabledTests = [ "test_should_highlight_bash_syntax_without_name" ];
+        doCheck = false;
       });
     };
   };
diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix
index 1455558dcc2e0..60559768994ef 100644
--- a/pkgs/applications/misc/bambu-studio/default.nix
+++ b/pkgs/applications/misc/bambu-studio/default.nix
@@ -113,6 +113,8 @@ stdenv.mkDerivation rec {
   patches = [
     # Fix for webkitgtk linking
     ./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch
+    # Fix build with cgal-5.6.1+
+    ./meshboolean-const.patch
   ];
 
   doCheck = true;
diff --git a/pkgs/applications/misc/bambu-studio/meshboolean-const.patch b/pkgs/applications/misc/bambu-studio/meshboolean-const.patch
new file mode 100644
index 0000000000000..68e72591d8f48
--- /dev/null
+++ b/pkgs/applications/misc/bambu-studio/meshboolean-const.patch
@@ -0,0 +1,21 @@
+Fix build with cgal 5.6.1+
+
+diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp
+index 50bbc099..b05245d3 100644
+--- a/src/libslic3r/MeshBoolean.cpp
++++ b/src/libslic3r/MeshBoolean.cpp
+@@ -200,12 +200,12 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh)
+     const auto &vertices = cgalmesh.vertices();
+     int vsize = int(vertices.size());
+
+-    for (auto &vi : vertices) {
++    for (const auto &vi : vertices) {
+         auto &v = cgalmesh.point(vi); // Don't ask...
+         its.vertices.emplace_back(to_vec3f(v));
+     }
+
+-    for (auto &face : faces) {
++    for (const auto &face : faces) {
+         auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face));
+
+         int i = 0;
diff --git a/pkgs/applications/misc/clight/default.nix b/pkgs/applications/misc/clight/default.nix
index 3adff5c628878..3b0189ddb5c1c 100644
--- a/pkgs/applications/misc/clight/default.nix
+++ b/pkgs/applications/misc/clight/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clight";
-  version = "4.10";
+  version = "4.11";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clight";
     rev = version;
-    sha256 = "sha256-IAoz4f4XrX8bgesWL4yLK6m5F+c75WNIMFgKBj+W61Q=";
+    sha256 = "sha256-Fu38HRP83Yn2jsq9xnCWOXNlV/0hJKD1/cOOp3EV45Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/dialect/default.nix b/pkgs/applications/misc/dialect/default.nix
index 8acaca4e26fc6..61414a9b307b4 100644
--- a/pkgs/applications/misc/dialect/default.nix
+++ b/pkgs/applications/misc/dialect/default.nix
@@ -13,24 +13,33 @@
 , gobject-introspection
 , gst_all_1
 , libsoup_3
+, glib-networking
 , libadwaita
 , nix-update-script
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dialect";
-  version = "2.1.1";
+  version = "2.2.0";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "dialect-app";
-    repo = pname;
+    repo = "dialect";
     rev = version;
     fetchSubmodules = true;
-    hash = "sha256-ytZnolQTOj0dpv+ouN1N7sypr1LxSN/Uhp7qP0ZOTHE=";
+    hash = "sha256-+0qA+jFYrK3K3mJNvxTvnT/3q4c51H0KgEMjzvV34Zs=";
   };
 
+  # FIXME: remove in next release
+  postPatch = ''
+    substituteInPlace dialect/providers/lingva.py \
+      --replace-fail 'lingva.ml' 'lingva.dialectapp.org'
+    substituteInPlace dialect/providers/libretrans.py \
+      --replace-fail 'libretranslate.de' 'lt.dialectapp.org'
+  '';
+
   nativeBuildInputs = [
     appstream-glib
     blueprint-compiler
@@ -47,7 +56,9 @@ python3.pkgs.buildPythonApplication rec {
     glib
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
     libsoup_3
+    glib-networking
     libadwaita
   ];
 
@@ -55,6 +66,7 @@ python3.pkgs.buildPythonApplication rec {
     dbus-python
     gtts
     pygobject3
+    beautifulsoup4
   ];
 
   # Prevent double wrapping, let the Python wrapper use the args in preFixup.
@@ -74,7 +86,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://github.com/dialect-app/dialect";
     description = "A translation app for GNOME";
-    maintainers = with maintainers; [ linsui ];
+    maintainers = with maintainers; [ aleksana ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     mainProgram = "dialect";
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index 18cfd01229aec..d33560c4f16a4 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "girara";
-  version = "0.4.2";
+  version = "0.4.3";
 
   outputs = [ "out" "dev" ];
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "pwmt";
     repo = "girara";
     rev = version;
-    hash = "sha256-/9pj6gB46sKIilImDGdJ8H7UHip/z5ckZWZnJLw/0YU=";
+    hash = "sha256-/bJXdLXksTxUFC3w7zuBZY6Zh7tJxUJVbS87ENDQbDE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 896cf02dc8878..79164e932f331 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -18,13 +18,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gpxsee";
-  version = "13.16";
+  version = "13.17";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = finalAttrs.version;
-    hash = "sha256-rw+I7Re1hqZ1k1flIAr7kW8Wst7pVdmFcqtQTg6L/9Y=";
+    hash = "sha256-pk6PMQDPvyfUS5PMRu6pz/QrRrOfbq9oGsMk0ZDawDM=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/makehuman/default.nix b/pkgs/applications/misc/makehuman/default.nix
new file mode 100644
index 0000000000000..70cb33643ee67
--- /dev/null
+++ b/pkgs/applications/misc/makehuman/default.nix
@@ -0,0 +1,145 @@
+{ stdenv
+, lib
+, fetchpatch
+, fetchFromGitHub
+, python3
+, qtbase
+, qttools
+, git-lfs
+, wrapQtAppsHook
+}:
+
+let
+  pydeps = with python3.pkgs; [
+    numpy
+    pyqt5
+    pyopengl
+  ];
+  python = python3.withPackages (pkgs: pydeps);
+in
+stdenv.mkDerivation rec {
+  pname = "makehuman";
+  version = "1.2.0";
+
+  source = fetchFromGitHub {
+    owner = "makehumancommunity";
+    repo = "makehuman";
+    rev = "v${version}";
+    hash = "sha256-mCv6H0B7b4uxozpNHkKsG+Is2H0QYEJnnzKCHixhBpY=";
+    name = "${pname}-source";
+  };
+
+  assets = fetchFromGitHub {
+    owner = "makehumancommunity";
+    repo = "makehuman-assets";
+    rev = "v${version}";
+    hash = "sha256-Jd2A0PAHVdFMnDLq4Mu5wsK/E6A4QpKjUyv66ix1Gbo=";
+    name = "${pname}-assets-source";
+  };
+
+  patches = [
+    # work with numpy>=1.24
+    (fetchpatch {
+      name = "fix-compile_targets.py-when-using-numpy-1.24.0-or-newer";
+      url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/220.patch";
+      hash = "sha256-ip7U83cCBrl+4gM1GZ2QQIER5Qur6HRu3a/TnHqk//g=";
+    })
+    # crash related to collections.Callable -> collections.abc.Callable
+    (fetchpatch {
+      name = "remove-unnecessary-compatibility-test";
+      url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/188.patch";
+      hash = "sha256-HGrk3n7rhV4YgK8mNUdfHwQl8dFT8yuzjxorvwfMmJw=";
+    })
+    # some OpenGL issue causing blank windows on recent Qt
+    (fetchpatch {
+      name = "qt-opengl-update-from-qglwidget-to-qopenglwidget-to-fix-blank";
+      url = "https://patch-diff.githubusercontent.com/raw/makehumancommunity/makehuman/pull/197.patch";
+      hash = "sha256-fEqBwg1Jd36nKWIT9XPr6Buj1N3AmTQg2LBaoX3eTxw=";
+    })
+    # multisampling issue
+    (fetchpatch {
+      name = "switch-default-for-multisampling-and-disable-sample-buffers";
+      url = "https://github.com/makehumancommunity/makehuman/commit/c47b884028a24eb190d097e7523a3059e439cb6f.patch";
+      hash = "sha256-tknQHX9qQYH15gyOLNhxfO3bsFVIv3Z1F7ZXD1IT1h4=";
+    })
+    # PyQt >= 5.12
+    (fetchpatch {
+      name = "fix-scrolling-issue-on-pyqt5>=5.12";
+      url = "https://github.com/makehumancommunity/makehuman/commit/02c4269a2d4c57f68159fe8f437a8b1978b99099.patch";
+      hash = "sha256-yR5tZcELX0N83PW/vS6yB5xKoZcHhVp48invlu7quWM=";
+    })
+  ];
+
+  srcs = [
+    source
+    assets
+  ];
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [
+    python
+    qtbase
+    git-lfs
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    python
+    qtbase
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pydeps
+  ];
+
+  finalSource = "${pname}-final";
+
+  postUnpack = ''
+    mkdir -p $finalSource
+    cp -r $source/makehuman $finalSource
+    chmod u+w $finalSource --recursive
+    cp -r $assets/base/* $finalSource/makehuman/data
+    chmod u+w $finalSource --recursive
+    sourceRoot=$finalSource
+  '';
+
+  configurePhase = ''
+    runHook preConfigure
+    pushd ./makehuman
+    bash ./cleannpz.sh
+    bash ./cleanpyc.sh
+    python3 ./compile_targets.py
+    python3 ./compile_models.py
+    python3 ./compile_proxies.py
+    popd
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+    mkdir -p $out/opt $out/bin
+    cp -r * $out/opt
+    python -m compileall -o 0 -o 2 $out/opt
+    ln -s $out/opt/makehuman/makehuman.py $out/bin/makehuman
+    chmod +x $out/bin/makehuman
+    runHook postBuild
+  '';
+
+  preFixup = ''
+    wrapQtApp $out/bin/makehuman
+  '';
+
+  meta = {
+    description = "Software to create realistic humans";
+    homepage = "http://www.makehumancommunity.org/";
+    license = with lib.licenses; [ agpl3Plus cc0 ];
+    longDescription = ''
+      MakeHuman is a GUI program for procedurally generating
+      realistic-looking humans.
+    '';
+    mainProgram = "makehuman";
+    maintainers = with lib.maintainers; [ elisesouche ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/mkgmap/build.xml.patch b/pkgs/applications/misc/mkgmap/build.xml.patch
index 2aced44520628..567c0d5586f85 100644
--- a/pkgs/applications/misc/mkgmap/build.xml.patch
+++ b/pkgs/applications/misc/mkgmap/build.xml.patch
@@ -1,14 +1,6 @@
 --- a/build.xml	(revision 4555)
 +++ a/build.xml	(working copy)
-@@ -222,13 +222,13 @@
- 		<property name="svn.version.build" value="none"/>
- 
- 		<propertyfile file="${build.classes}/mkgmap-version.properties">
--			<entry key="svn.version" value="${svn.version.build}" />
--			<entry key="build.timestamp" value="${build.timestamp}" />
-+			<entry key="svn.version" value="@version@" />
-+			<entry key="build.timestamp" value="unknown" />
- 		</propertyfile>
+@@ -228,7 +228,7 @@
  	</target>
  
  	<!-- Compile the product itself (no tests). -->
@@ -35,12 +27,3 @@
  		<mkdir dir="tmp/report"/>
  		<junit printsummary="yes" failureproperty="junit.failure" forkmode="once">
  
-@@ -351,7 +351,7 @@
- 			ignoreerrors="true"/>
- 	</target>
- 
--	<target name="dist" depends="build, check-version, version-file"
-+	<target name="dist" depends="build, version-file"
- 					description="Make the distribution area">
- 
- 		<mkdir dir="${dist}"/>
diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix
index 5648e34d84618..ee0c2043a6b4c 100644
--- a/pkgs/applications/misc/mkgmap/default.nix
+++ b/pkgs/applications/misc/mkgmap/default.nix
@@ -1,7 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , fetchsvn
-, substituteAll
 , jdk
 , jre
 , ant
@@ -15,23 +15,33 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkgmap";
-  version = "4917";
+  version = "4918";
 
   src = fetchsvn {
     url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
     rev = version;
-    sha256 = "sha256-7VCEbsvcT7iaJ3MZz4CthJEE9FSJCowAO7PJ9UqmzPA=";
+    sha256 = "sha256-oQ/2KY6xA/kwAroHiPqcIJlcPsTTeStUu8WN/95ZUTw=";
   };
 
   patches = [
-    (substituteAll {
-      # Disable automatic download of dependencies
-      src = ./build.xml.patch;
-      inherit version;
-    })
+    # Disable automatic download of dependencies
+    ./build.xml.patch
+    ./ignore-impure-test.patch
   ];
 
   postPatch = with deps; ''
+    # Fix the output jar timestamps for reproducibility
+    substituteInPlace build.xml \
+        --replace-fail '<jar ' '<jar modificationtime="0" '
+
+    # Manually create version properties file for reproducibility
+    mkdir -p build/classes
+    cat > build/classes/mkgmap-version.properties << EOF
+      svn.version=${version}
+      build.timestamp=unknown
+    EOF
+
+    # Put pre-fetched dependencies into the right place
     mkdir -p lib/compile
     cp ${fastutil} lib/compile/${fastutil.name}
     cp ${osmpbf} lib/compile/${osmpbf.name}
@@ -53,36 +63,51 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ jdk ant makeWrapper ];
 
-  buildPhase = "ant";
+  buildPhase = ''
+    runHook preBuild
+    ant
+    runHook postBuild
+  '';
 
   inherit doCheck;
 
-  checkPhase = "ant test";
+  checkPhase = ''
+    runHook preCheck
+    ant test
+    runHook postCheck
+  '';
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm644 dist/mkgmap.jar -t $out/share/java/mkgmap
     install -Dm644 dist/doc/mkgmap.1 -t $out/share/man/man1
     cp -r dist/lib/ $out/share/java/mkgmap/
     makeWrapper ${jre}/bin/java $out/bin/mkgmap \
       --add-flags "-jar $out/share/java/mkgmap/mkgmap.jar"
-  '' + lib.optionalString withExamples ''
-    mkdir -p $out/share/mkgmap
-    cp -r dist/examples $out/share/mkgmap/
+
+    ${lib.optionalString withExamples ''
+      mkdir -p $out/share/mkgmap
+      cp -r dist/examples $out/share/mkgmap/
+    ''}
+
+    runHook postInstall
   '';
 
   passthru.updateScript = [ ./update.sh "mkgmap" meta.downloadPage ];
 
   meta = with lib; {
     description = "Create maps for Garmin GPS devices from OpenStreetMap (OSM) data";
-    homepage = "https://www.mkgmap.org.uk/";
     downloadPage = "https://www.mkgmap.org.uk/download/mkgmap.html";
-    sourceProvenance = with sourceTypes; [
-      fromSource
-      binaryBytecode  # deps
-    ];
+    homepage = "https://www.mkgmap.org.uk/";
     license = licenses.gpl2Only;
+    mainProgram = "mkgmap";
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.all;
-    mainProgram = "mkgmap";
+    sourceProvenance = with sourceTypes; [
+      fromSource
+      binaryBytecode # deps
+    ];
   };
+
 }
diff --git a/pkgs/applications/misc/mkgmap/ignore-impure-test.patch b/pkgs/applications/misc/mkgmap/ignore-impure-test.patch
new file mode 100644
index 0000000000000..1ed2f7092f08a
--- /dev/null
+++ b/pkgs/applications/misc/mkgmap/ignore-impure-test.patch
@@ -0,0 +1,20 @@
+diff --git a/test/uk/me/parabola/imgfmt/app/srt/SrtCollatorTest.java b/test/uk/me/parabola/imgfmt/app/srt/SrtCollatorTest.java
+index e1e4ac7..954b918 100644
+--- a/test/uk/me/parabola/imgfmt/app/srt/SrtCollatorTest.java
++++ b/test/uk/me/parabola/imgfmt/app/srt/SrtCollatorTest.java
+@@ -17,6 +17,7 @@ import java.text.Collator;
+ import uk.me.parabola.mkgmap.srt.SrtTextReader;
+ 
+ import org.junit.Before;
++import org.junit.Ignore;
+ import org.junit.Test;
+ 
+ import static org.junit.Assert.*;
+@@ -111,6 +112,7 @@ public class SrtCollatorTest {
+ 	 * meant to be identical to the java one.
+ 	 */
+ 	@Test
++	@Ignore
+ 	public void testJavaRules() {
+ 		Collator collator = Collator.getInstance();
+ 
diff --git a/pkgs/applications/misc/mkgmap/splitter/build.xml.patch b/pkgs/applications/misc/mkgmap/splitter/build.xml.patch
index a028dbef03145..1fb0a14ef4c3a 100644
--- a/pkgs/applications/misc/mkgmap/splitter/build.xml.patch
+++ b/pkgs/applications/misc/mkgmap/splitter/build.xml.patch
@@ -1,13 +1,6 @@
 --- a/build.xml	(revision 597)
 +++ a/build.xml	(working copy)
-@@ -207,12 +207,12 @@
- 		<property name="svn.version.build" value="unknown"/>
- 
- 		<propertyfile file="${build.classes}/splitter-version.properties">
--			<entry key="svn.version" value="${svn.version.build}" />
--			<entry key="build.timestamp" value="${build.timestamp}" />
-+			<entry key="svn.version" value="@version@" />
-+			<entry key="build.timestamp" value="unknown" />
+@@ -212,7 +212,7 @@
  		</propertyfile>
  	</target>
  
@@ -25,15 +18,6 @@
      <javac srcdir="${test}" destdir="${build.test-classes}" debug="yes" includeantruntime="false">
        <include name="**/*.java"/>
        <classpath refid="test.classpath"/>
-@@ -261,7 +261,7 @@
- 	  <fail if="junit.failure" message="Test failed.  See test-reports/index.html"/>
- 	</target>
- 
--  <target name="dist" depends="build, check-version, version-file" description="Make the distribution area">
-+  <target name="dist" depends="build, version-file" description="Make the distribution area">
- 
-     <mkdir dir="${dist}"/>
-     <mkdir dir="${dist}/doc/api"/>
 @@ -324,7 +324,7 @@
  	</target>
  
diff --git a/pkgs/applications/misc/mkgmap/splitter/default.nix b/pkgs/applications/misc/mkgmap/splitter/default.nix
index d9b886cbe2b3f..010b140e9bf93 100644
--- a/pkgs/applications/misc/mkgmap/splitter/default.nix
+++ b/pkgs/applications/misc/mkgmap/splitter/default.nix
@@ -1,7 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , fetchsvn
-, substituteAll
 , jdk
 , jre
 , ant
@@ -23,17 +23,25 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    (substituteAll {
-      # Disable automatic download of dependencies
-      src = ./build.xml.patch;
-      inherit version;
-    })
-
+    # Disable automatic download of dependencies
+    ./build.xml.patch
     # Fix func.SolverAndProblemGeneratorTest test
     ./fix-failing-test.patch
   ];
 
   postPatch = with deps; ''
+    # Fix the output jar timestamps for reproducibility
+    substituteInPlace build.xml \
+        --replace-fail '<jar ' '<jar modificationtime="0" '
+
+    # Manually create version properties file for reproducibility
+    mkdir -p build/classes
+    cat > build/classes/splitter-version.properties << EOF
+      svn.version=${version}
+      build.timestamp=unknown
+    EOF
+
+    # Put pre-fetched dependencies into the right place
     mkdir -p lib/compile
     cp ${fastutil} lib/compile/${fastutil.name}
     cp ${osmpbf} lib/compile/${osmpbf.name}
@@ -52,32 +60,46 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ jdk ant makeWrapper ];
 
-  buildPhase = "ant";
+  buildPhase = ''
+    runHook preBuild
+    ant
+    runHook postBuild
+  '';
 
   inherit doCheck;
 
-  checkPhase = "ant run.tests && ant run.func-tests";
+  checkPhase = ''
+    runHook preCheck
+    ant run.tests
+    ant run.func-tests
+    runHook postCheck
+  '';
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm644 dist/splitter.jar -t $out/share/java/splitter
     install -Dm644 doc/splitter.1 -t $out/share/man/man1
     cp -r dist/lib/ $out/share/java/splitter/
     makeWrapper ${jre}/bin/java $out/bin/splitter \
       --add-flags "-jar $out/share/java/splitter/splitter.jar"
+
+    runHook postInstall
   '';
 
   passthru.updateScript = [ ../update.sh "mkgmap-splitter" meta.downloadPage ];
 
   meta = with lib; {
     description = "Utility for splitting OpenStreetMap maps into tiles";
-    homepage = "https://www.mkgmap.org.uk/";
     downloadPage = "https://www.mkgmap.org.uk/download/splitter.html";
-    sourceProvenance = with sourceTypes; [
-      fromSource
-      binaryBytecode  # deps
-    ];
+    homepage = "https://www.mkgmap.org.uk/";
     license = licenses.gpl2Only;
+    mainProgram = "splitter";
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.all;
+    sourceProvenance = with sourceTypes; [
+      fromSource
+      binaryBytecode # deps
+    ];
   };
 }
diff --git a/pkgs/applications/misc/organicmaps/default.nix b/pkgs/applications/misc/organicmaps/default.nix
index de12a1cb44a2a..2713f1f769702 100644
--- a/pkgs/applications/misc/organicmaps/default.nix
+++ b/pkgs/applications/misc/organicmaps/default.nix
@@ -29,13 +29,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "organicmaps";
-  version = "2024.02.06-11";
+  version = "2024.03.05-4";
 
   src = fetchFromGitHub {
     owner = "organicmaps";
     repo = "organicmaps";
     rev = "${version}-android";
-    hash = "sha256-/taXiJvVP2WCg/F6I6WiZuPKl+Mhwvex/1JNXqrs0mA=";
+    hash = "sha256-vPpf7pZOkVjRlFcGULcxGy4eBLZRmqcINSFiNh8DUHI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix
index 9ccc17f95ec6a..e50b9787236af 100644
--- a/pkgs/applications/misc/phoc/default.nix
+++ b/pkgs/applications/misc/phoc/default.nix
@@ -24,12 +24,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "phoc";
-  version = "0.36.0";
+  version = "0.37.0";
 
   src = fetchurl {
     # This tarball includes the meson wrapped subproject 'gmobile'.
     url = with finalAttrs; "https://sources.phosh.mobi/releases/${pname}/${pname}-${version}.tar.xz";
-    hash = "sha256-eAKHboICsuQ4lecxnnZ8+hZjt5l1DDQbfuwypDYtdKk=";
+    hash = "sha256-SQLoOjqDBL1G3SDO4mfVRV2U0i+M1EwiqUR52ytFJmM=";
   };
 
   nativeBuildInputs = [
@@ -65,7 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
         inherit (finalAttrs) src;
         preferLocalBuild = true;
         allowSubstitutes = false;
-        phases = "unpackPhase installPhase";
         installPhase = "cp subprojects/packagefiles/wlroots/$name $out";
       })
     ];
diff --git a/pkgs/applications/misc/revanced-cli/default.nix b/pkgs/applications/misc/revanced-cli/default.nix
index 56923e0ee1959..8c5b4e43fb5b9 100644
--- a/pkgs/applications/misc/revanced-cli/default.nix
+++ b/pkgs/applications/misc/revanced-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "revanced-cli";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://github.com/revanced/revanced-cli/releases/download/v${version}/revanced-cli-${version}-all.jar";
-    hash = "sha256-ydP9iPClWNKlbBhsNC1bzqfJYRyit1WsxIgwbQQbgi8=";
+    hash = "sha256-8uhKbEA3H8GY4ydefkLXAqCZdDIZANs3gZQGYyCUdOM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/scli/default.nix b/pkgs/applications/misc/scli/default.nix
index 2cfc8b6a32655..e493b0188032d 100644
--- a/pkgs/applications/misc/scli/default.nix
+++ b/pkgs/applications/misc/scli/default.nix
@@ -10,13 +10,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "scli";
-  version = "0.7.3";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "isamert";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-x5NLYqA/sdQkT/8oG/ija/+4+KjRHa1q0T3mqymAuV8=";
+    sha256 = "sha256-GC19iJYdNUdC4UEBWWdlzl0Ha6Y3knB1dG+6spwdYQ0=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/misc/swaynotificationcenter/default.nix b/pkgs/applications/misc/swaynotificationcenter/default.nix
index 2a5dd6da19355..b22c483f61779 100644
--- a/pkgs/applications/misc/swaynotificationcenter/default.nix
+++ b/pkgs/applications/misc/swaynotificationcenter/default.nix
@@ -30,13 +30,13 @@
 
 stdenv.mkDerivation (finalAttrs: rec {
   pname = "SwayNotificationCenter";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "ErikReider";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7O+DX4uuncUqx5zEKQprZE6tctteT6NU01V2EBHiFqA=";
+    hash = "sha256-SR3FfEit50y4XSCLh3raUoigRNXpxh0mk4qLhQ/FozM=";
   };
 
   # build pkg-config is required to locate the native `scdoc` input
diff --git a/pkgs/applications/misc/wmenu/default.nix b/pkgs/applications/misc/wmenu/default.nix
index b0b64d86e45e6..de88c3fd1a40d 100644
--- a/pkgs/applications/misc/wmenu/default.nix
+++ b/pkgs/applications/misc/wmenu/default.nix
@@ -15,7 +15,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wmenu";
-  version = "0.1.6";
+  version = "0.1.7";
 
   strictDeps = true;
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "~adnano";
     repo = "wmenu";
     rev = version;
-    hash = "sha256-Xsnf7T39up6E5kzV37sM9j3PpA2eqxItbGt+tOfjsjE=";
+    hash = "sha256-9do7zL7yaZuqVjastySwjsByo5ja+KUP3590VjIyVnI=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja ];
diff --git a/pkgs/applications/misc/wttrbar/default.nix b/pkgs/applications/misc/wttrbar/default.nix
index c2f67e83f8a71..044c617ae38b0 100644
--- a/pkgs/applications/misc/wttrbar/default.nix
+++ b/pkgs/applications/misc/wttrbar/default.nix
@@ -7,18 +7,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wttrbar";
-  version = "0.8.2";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "bjesus";
     repo = "wttrbar";
     rev = version;
-    hash = "sha256-XgBPZl5msKICIrUJZz2gj/hZjVAv0HpVKa69/KiLwnI=";
+    hash = "sha256-2oUj9G82+aGXU+qB37f+lRz5rctZNnb3bK8IETrt/4g=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Security SystemConfiguration ]);
 
-  cargoHash = "sha256-JGJJ94rzHTQNR6rzFPWnFHH3t0fL1tvMeEN5NMzRtHM=";
+  cargoHash = "sha256-yvgqvcOxl/AmvUg6jTFtYh13sgqAWKPt2uMFHaX5OMM=";
 
   meta = {
     description = "A simple but detailed weather indicator for Waybar using wttr.in";
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index 9e3f5df6a7938..3b529c18f52dc 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkg-config
+{ lib, stdenv, fetchFromGitLab, meson, ninja, wrapGAppsHook, pkg-config, gitUpdater
 , appstream-glib, json-glib, desktop-file-utils, python3
 , gtk, girara, gettext, libxml2, check
 , sqlite, glib, texlive, libintl, libseccomp
@@ -8,11 +8,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "zathura";
-  version = "0.5.4";
-
-  src = fetchurl {
-    url = "https://pwmt.org/projects/zathura/download/zathura-${finalAttrs.version}.tar.xz";
-    sha256 = "0ckgamf98sydq543arp865jg1afwzhpzcsbhv6zrch2dm5x7y0x3";
+  version = "0.5.5";
+
+  src = fetchFromGitLab {
+    domain = "git.pwmt.org";
+    owner = "pwmt";
+    repo = "zathura";
+    rev = finalAttrs.version;
+    hash = "sha256-mHEYqgBB55p8nykFtvYtP5bWexp/IqFbeLs7gZmXCeE=";
   };
 
   outputs = [ "bin" "man" "dev" "out" ];
@@ -20,7 +23,6 @@ stdenv.mkDerivation (finalAttrs: {
   # Flag list:
   # https://github.com/pwmt/zathura/blob/master/meson_options.txt
   mesonFlags = [
-    "-Dsqlite=enabled"
     "-Dmanpages=enabled"
     "-Dconvert-icon=enabled"
     "-Dsynctex=enabled"
@@ -43,6 +45,8 @@ stdenv.mkDerivation (finalAttrs: {
 
   doCheck = !stdenv.isDarwin;
 
+  passthru.updateScript = gitUpdater { };
+
   meta = with lib; {
     homepage = "https://git.pwmt.org/pwmt/zathura";
     description = "A core component for zathura PDF viewer";
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index b9fd4c14ad50b..76c193eadaa32 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -94,11 +94,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.63.165";
+  version = "1.63.169";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    hash = "sha256-UyzOV6sUv7WdwN31TIg35HGchrUSXnvzk3Aba/d8dJc=";
+    hash = "sha256-K8zbsxwKcYuhW7m7ijrAOeHHpC2AhM4Kr2M7SwGlV70=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index ada3dc518efc6..d7d26f183e230 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -24,7 +24,7 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "6.5.3206.63";
+  version = "6.6.3271.48";
 
   suffix = {
     aarch64-linux = "arm64";
@@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
     hash = {
-      aarch64-linux = "sha256-MyKTihImCd1/4UwnC/GqyeQcYnJNvKW5UfIIRN45r8E=";
-      x86_64-linux = "sha256-RbGoOKQyAaNY+y+jCT+r7GI9vymTT9kPDrwl9/bhaNw=";
+      aarch64-linux = "sha256-NeYyPgIioURSDomwZq7Cc08+A/XnQEk6yEiag7YxQO0=";
+      x86_64-linux = "sha256-/zBvH0IQZJr8PKWkIznPRxNLMxQoxVOnDrAw+0BWOEM=";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index e23af212b554b..e1abc4ea985c2 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.14.3";
+  version = "1.14.4";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    hash = "sha256-CPHSWGM8zq+Sg0tqdm9kmIyBFpVf1ot40Ud7Mpe1sNI=";
+    hash = "sha256-iUXN+8ueCxGsFnwhC2WjrQQSXV7TGUR80xaKqjxcC6o=";
   };
 
   sourceRoot = "${src.name}/cmd/ctl";
 
-  vendorHash = "sha256-CBX/U9v2ubmPveXUeWbogHDyWVAtU0pyOWAlnRsMs4c=";
+  vendorHash = "sha256-ViKsqqM6l/tQSGgj8Yt2L57x+eE1Pd3xCVPuWpIjWOQ=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix
index 487fe6085af68..594e52737cdce 100644
--- a/pkgs/applications/networking/cluster/glooctl/default.nix
+++ b/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "glooctl";
-  version = "1.16.5";
+  version = "1.16.6";
 
   src = fetchFromGitHub {
     owner = "solo-io";
     repo = "gloo";
     rev = "v${version}";
-    hash = "sha256-pxF5X3fCBeWFLQj8S0xYDcQNRs375RJIrl62nGjZZr0=";
+    hash = "sha256-vn04bNkg0De46kLcyuaWt9watBXFIGI+4X8SBW3XNyg=";
   };
 
-  vendorHash = "sha256-kbbgEnpqev7b4Sycmhs8xbu+yO4oMELh9xDmw7YyWYU=";
+  vendorHash = "sha256-UyzqKpF2WBj25Bm4MtkF6yjl87A61vGsteBNCjJV178=";
 
   subPackages = [ "projects/gloo/cli/cmd" ];
 
diff --git a/pkgs/applications/networking/cluster/k3s/1_28/versions.nix b/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
index 2b80857955771..24e04c89aca9f 100644
--- a/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
+++ b/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
@@ -1,13 +1,13 @@
 {
-  k3sVersion = "1.28.6+k3s2";
-  k3sCommit = "c9f49a3b06cd7ebe793f8cc1dcd0293168e743d9";
-  k3sRepoSha256 = "0vz5976q58v9x6g1qz6kz3xksgf8gm1f727ccckmpbyxbhw75zsa";
-  k3sVendorHash = "sha256-HG4x3N/F5qCFpLxGrUWPkBHHqY7WBRDWN7DNyAcJwyI=";
+  k3sVersion = "1.28.7+k3s1";
+  k3sCommit = "051b14b248655896fdfd7ba6c93db6182cde7431";
+  k3sRepoSha256 = "1136h9xwg1p26lh3m63a4c55qsahla0d0xvlr09qqbhqiyv7fn0b";
+  k3sVendorHash = "sha256-FzalTtDleFIN12lvn0k7+nWchr6y/Ztcxs0bs2E4UO0=";
   chartVersions = import ./chart-versions.nix;
   k3sRootVersion = "0.12.2";
   k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";
-  k3sCNIVersion = "1.3.0-k3s1";
-  k3sCNISha256 = "0zma9g4wvdnhs9igs03xlx15bk2nq56j73zns9xgqmfiixd9c9av";
+  k3sCNIVersion = "1.4.0-k3s2";
+  k3sCNISha256 = "17dg6jgjx18nrlyfmkv14dhzxsljz4774zgwz5dchxcf38bvarqa";
   containerdVersion = "1.7.11-k3s2";
   containerdSha256 = "0279sil02wz7310xhrgmdbc0r2qibj9lafy0i9k24jdrh74icmib";
   criCtlVersion = "1.26.0-rc.0-k3s1";
diff --git a/pkgs/applications/networking/cluster/k3s/1_29/versions.nix b/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
index bfb337a9824b1..fcdd8e91a215a 100644
--- a/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
+++ b/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
@@ -1,13 +1,13 @@
 {
-  k3sVersion = "1.29.1+k3s2";
-  k3sCommit = "57482a1c1bb9c67b5f893418a114edca1004258e";
-  k3sRepoSha256 = "0pvab3dd6dzgk1zgra4jmdwba5b8xssfjr3mihwq1h0c5bxf1cza";
-  k3sVendorHash = "sha256-EkRbdUoYpK7M+Wbc2Cf37bOwdwPB6/xLxULO7Bkpt5c=";
+  k3sVersion = "1.29.2+k3s1";
+  k3sCommit = "86f102134ed6b1669badd3bfb6420f73e8f015d0";
+  k3sRepoSha256 = "0gd35ficik92x4svcg4mlw1v6vms7sfw1asmdahh16li4j27wdz5";
+  k3sVendorHash = "sha256-KG795CA3l+iCdJlYMNTQLmv3YqmtM2juacbsmH7B//M=";
   chartVersions = import ./chart-versions.nix;
   k3sRootVersion = "0.12.2";
   k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";
-  k3sCNIVersion = "1.3.0-k3s1";
-  k3sCNISha256 = "0zma9g4wvdnhs9igs03xlx15bk2nq56j73zns9xgqmfiixd9c9av";
+  k3sCNIVersion = "1.4.0-k3s2";
+  k3sCNISha256 = "17dg6jgjx18nrlyfmkv14dhzxsljz4774zgwz5dchxcf38bvarqa";
   containerdVersion = "1.7.11-k3s2";
   containerdSha256 = "0279sil02wz7310xhrgmdbc0r2qibj9lafy0i9k24jdrh74icmib";
   criCtlVersion = "1.29.0-k3s1";
diff --git a/pkgs/applications/networking/cluster/kubent/default.nix b/pkgs/applications/networking/cluster/kubent/default.nix
index f650394ef0e4f..d0b8eaf422e68 100644
--- a/pkgs/applications/networking/cluster/kubent/default.nix
+++ b/pkgs/applications/networking/cluster/kubent/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubent";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "doitintl";
     repo = "kube-no-trouble";
     rev = version;
-    sha256 = "sha256-fJRaahK/tDns+edi1GIdYRk4+h2vbY2LltZN2hxvKGI=";
+    sha256 = "sha256-/gCbj0RDwV5E8kNkEu+37ilzw/A0BAXiYfHGPdkCsRs=";
   };
 
-  vendorHash = "sha256-nEc0fngop+0ju8hDu7nowBsioqCye15Jo1mRlM0TtlQ=";
+  vendorHash = "sha256-6hp7mzE45Tlmt4ybhpdJLYCv+WqQ9ak2S47kJTwyGVI=";
 
   ldflags = [
     "-w" "-s"
diff --git a/pkgs/applications/networking/cluster/kubeshark/default.nix b/pkgs/applications/networking/cluster/kubeshark/default.nix
index b901889c08328..db45fae4cc9b9 100644
--- a/pkgs/applications/networking/cluster/kubeshark/default.nix
+++ b/pkgs/applications/networking/cluster/kubeshark/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeshark";
-  version = "52.1.63";
+  version = "52.1.66";
 
   src = fetchFromGitHub {
     owner = "kubeshark";
     repo = "kubeshark";
     rev = "v${version}";
-    hash = "sha256-Ub8FsynnsAiLF4YwZHbhmQIJANAe/lCUgfq3ys/dtO8=";
+    hash = "sha256-4xw4DQ5C3QpykMSac7jGuW5L8Yx1XcBAMLypTvD5T7c=";
   };
 
   vendorHash = "sha256-SmvO9DYOXxnmN2dmHPPOguVwEbWSH/xNLBB+idpzopo=";
diff --git a/pkgs/applications/networking/cluster/rke/default.nix b/pkgs/applications/networking/cluster/rke/default.nix
index c349e93b6ba36..f44ffa5ba758d 100644
--- a/pkgs/applications/networking/cluster/rke/default.nix
+++ b/pkgs/applications/networking/cluster/rke/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "rke";
-  version = "1.5.5";
+  version = "1.5.6";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-TPgXjM7RyjI8NmfiZHkHF3txfzAwjOg7kGODBj37JEI=";
+    hash = "sha256-yw7GacSvPKXStmYtG4oQQlIca5Svk4pHDliMDVhyPRI=";
   };
 
   vendorHash = "sha256-0H9K3/BwdSExADFHaYtn2RrHZ6AyEjzlBKYXL/Ow9JA=";
diff --git a/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock b/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
index e743a701da571..5ae116115e227 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
+++ b/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
@@ -89,16 +89,16 @@ checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
 
 [[package]]
 name = "arc-swap"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+checksum = "7b3d0060af21e8d11a926981cc00c6c1541aa91dd64b9f881985c3da1094425f"
 
 [[package]]
 name = "article_scraper"
 version = "2.0.0"
 source = "git+https://gitlab.com/news-flash/article_scraper.git#0dcebe8b49b8d867810d0f7ff155e502f637bb96"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "chrono",
  "encoding_rs",
  "escaper",
@@ -139,7 +139,7 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
 dependencies = [
- "event-listener 5.1.0",
+ "event-listener 5.2.0",
  "event-listener-strategy 0.5.0",
  "futures-core",
  "pin-project-lite",
@@ -152,7 +152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 5.1.0",
+ "event-listener 5.2.0",
  "event-listener-strategy 0.5.0",
  "futures-core",
  "pin-project-lite",
@@ -259,7 +259,7 @@ dependencies = [
  "async-signal",
  "blocking",
  "cfg-if",
- "event-listener 5.1.0",
+ "event-listener 5.2.0",
  "futures-lite",
  "rustix",
  "windows-sys 0.52.0",
@@ -273,7 +273,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -308,7 +308,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -345,10 +345,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
+name = "base64"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
+
+[[package]]
 name = "bigdecimal"
-version = "0.4.2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06619be423ea5bb86c95f087d5707942791a08a85530df0db2209a3ecfb8bc9"
+checksum = "9324c8014cd04590682b34f1e9448d38f0674d0f7b2dc553331016ef0e4e9ebc"
 dependencies = [
  "autocfg",
  "libm",
@@ -546,9 +552,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.88"
+version = "1.0.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc"
+checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723"
 
 [[package]]
 name = "cfg-expr"
@@ -583,7 +589,7 @@ dependencies = [
  "js-sys",
  "num-traits",
  "wasm-bindgen",
- "windows-targets 0.52.3",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -617,7 +623,7 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "013b56b25f5e10cae0fac4564fd64aa54766a860b896fc2d582f97616be6e92c"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "chrono",
  "log",
  "reqwest",
@@ -709,9 +715,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.11"
+version = "0.5.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -836,7 +842,7 @@ dependencies = [
  "diesel_table_macro_syntax",
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -856,7 +862,7 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5"
 dependencies = [
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -956,7 +962,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -977,7 +983,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1033,9 +1039,9 @@ dependencies = [
 
 [[package]]
 name = "event-listener"
-version = "5.1.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1058,7 +1064,7 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
 dependencies = [
- "event-listener 5.1.0",
+ "event-listener 5.2.0",
  "pin-project-lite",
 ]
 
@@ -1308,7 +1314,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1518,7 +1524,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1740,9 +1746,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.8"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "379dada1584ad501b383485dd706b8afb7a70fcbc7f4da7d780638a5a6124a60"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -1793,9 +1799,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
@@ -1947,9 +1953,9 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
 
 [[package]]
 name = "indexmap"
-version = "2.2.3"
+version = "2.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
+checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -2046,9 +2052,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2187,9 +2193,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 dependencies = [
  "serde",
 ]
@@ -2250,7 +2256,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6c42f95f9d296f2dcb50665f507ed5a68a171453142663ce44d77a4eb217b053"
 dependencies = [
  "aes",
- "base64",
+ "base64 0.21.7",
  "block-modes",
  "crc-any",
  "des",
@@ -2382,7 +2388,7 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "babaa4cdaadf81050c03f93f16375cf305a29b2d6f099d66ff40aae93afcfee2"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "log",
  "reqwest",
  "serde",
@@ -2404,9 +2410,9 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.10"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "wasi",
@@ -2474,7 +2480,7 @@ source = "git+https://gitlab.com/news_flash/news_flash.git#46cf25eff46655e314ae3
 dependencies = [
  "article_scraper",
  "async-trait",
- "base64",
+ "base64 0.21.7",
  "bitflags 2.4.2",
  "bytes",
  "chrono",
@@ -2522,7 +2528,7 @@ name = "news_flash_gtk"
 version = "0.0.0"
 dependencies = [
  "ashpd",
- "base64",
+ "base64 0.22.0",
  "bytesize",
  "chrono",
  "color-backtrace",
@@ -2580,7 +2586,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "488e5fb51484deb6bc5bc22f0b0db4902ae7e391d075f8d1a1b9a9674ea326d3"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "log",
  "reqwest",
  "serde",
@@ -2701,9 +2707,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
 
 [[package]]
 name = "openssl"
@@ -2728,7 +2734,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -3193,9 +3199,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3215,7 +3221,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
 dependencies = [
  "async-compression",
- "base64",
+ "base64 0.21.7",
  "bytes",
  "cookie",
  "cookie_store",
@@ -3287,7 +3293,7 @@ dependencies = [
  "quote",
  "rust-embed-utils",
  "shellexpand",
- "syn 2.0.51",
+ "syn 2.0.52",
  "walkdir",
 ]
 
@@ -3335,7 +3341,7 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "base64",
+ "base64 0.21.7",
 ]
 
 [[package]]
@@ -3446,7 +3452,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -3468,7 +3474,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -3696,9 +3702,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.51"
+version = "2.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c"
+checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3812,7 +3818,7 @@ checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -3918,7 +3924,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -4024,7 +4030,7 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow 0.6.2",
+ "winnow 0.6.5",
 ]
 
 [[package]]
@@ -4052,7 +4058,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -4240,9 +4246,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -4265,9 +4271,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4275,24 +4281,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.41"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -4302,9 +4308,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4312,22 +4318,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.51",
+ "syn 2.0.52",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "wasm-streams"
@@ -4344,9 +4350,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4434,7 +4440,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.52.3",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -4452,7 +4458,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.3",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -4472,17 +4478,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.3"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.3",
- "windows_aarch64_msvc 0.52.3",
- "windows_i686_gnu 0.52.3",
- "windows_i686_msvc 0.52.3",
- "windows_x86_64_gnu 0.52.3",
- "windows_x86_64_gnullvm 0.52.3",
- "windows_x86_64_msvc 0.52.3",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -4493,9 +4499,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.3"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -4505,9 +4511,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.3"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -4517,9 +4523,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.3"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -4529,9 +4535,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.3"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -4541,9 +4547,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.3"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -4553,9 +4559,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.3"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -4565,9 +4571,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.3"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winnow"
@@ -4580,9 +4586,9 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.6.2"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
 dependencies = [
  "memchr",
 ]
@@ -4657,7 +4663,7 @@ dependencies = [
  "blocking",
  "derivative",
  "enumflags2",
- "event-listener 5.1.0",
+ "event-listener 5.2.0",
  "futures-core",
  "futures-sink",
  "futures-util",
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index 37c8760df82e4..e6bc4c841c172 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "newsflash";
-  version = "3.1.5";
+  version = "3.1.6";
 
   src = fetchFromGitLab {
     owner = "news-flash";
     repo = "news_flash_gtk";
     rev = "refs/tags/v.${finalAttrs.version}";
-    hash = "sha256-6RkZdRQ/pNq6VkL9E2BaAWbKKGbCpEC+skGHPe3TwH8=";
+    hash = "sha256-zEf61aKtiuTCmhzkfVkTLtIRCb4DVXVtI+9Az9dU9HE=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 72011a3160b20..899b44aae2e12 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -6,7 +6,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.11.19";
+  version = "3.11.22";
   pyproject = true;
 
   # Fetch from GitHub in order to use `requirements.in`
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "Flexget";
     repo = "Flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XqZPhjuk3f9EbDTu+iX2U6uOXTn3rFdYjQNx5Prte88=";
+    hash = "sha256-csy3v1A8tejdChw6umslOPMCJHk5MBLuJdxbpzJBphQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 16a4e9b200c14..23dfae71080a5 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -22,11 +22,11 @@
 
 stdenv.mkDerivation rec {
   pname = "filezilla";
-  version = "3.66.4";
+  version = "3.66.5";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.xz";
-    hash = "sha256-pA8E4C76rntQ0VFe4cNsSw5EWBhWbEUORAv9bHDpsgM=";
+    hash = "sha256-khIoGbrmNBBwuktuy0V+ZzC0bn3ImUKZCQPymJA9Gzs=";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/gnmic/default.nix b/pkgs/applications/networking/gnmic/default.nix
index 37d22d3e32d6a..223c5c4beb02f 100644
--- a/pkgs/applications/networking/gnmic/default.nix
+++ b/pkgs/applications/networking/gnmic/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "gnmic";
-  version = "0.35.1";
+  version = "0.36.2";
 
   src = fetchFromGitHub {
     owner = "openconfig";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1Rtq/tRDU8hwrEYhP2/2qPWAYeCPL03m4NpXO3sGUdo=";
+    hash = "sha256-PUOIKPkzM6riiXR8R1Io0QI/qr6HaexfFgbp2Hx2SOo=";
   };
 
-  vendorHash = "sha256-HoOjVfpowb5jvAYdQ3cbCQmSl1RJKPDjvOaOGfhe5TY=";
+  vendorHash = "sha256-zrG/rNoYtfVNN50g41txLQIcBAKi1yE5p1TODrDiXzU=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/applications/networking/instant-messengers/beeper/default.nix b/pkgs/applications/networking/instant-messengers/beeper/default.nix
index 1a014d2aef0ae..f5363ee4cb63c 100644
--- a/pkgs/applications/networking/instant-messengers/beeper/default.nix
+++ b/pkgs/applications/networking/instant-messengers/beeper/default.nix
@@ -11,11 +11,11 @@
 }:
 let
   pname = "beeper";
-  version = "3.98.16";
+  version = "3.99.22";
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.98.16-build-240228llcputn9l-x86_64.AppImage";
-    hash = "sha256-CjtlE/owx7emzGDdOAw6pSlAuNbUspm1YP+kxm6Jrt8=";
+    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.99.22-build-240307lufv3wsra-x86_64.AppImage";
+    hash = "sha256-T3MABc11rWRjCU+4fvbpYDVq4XjSVfEeBrS03ITw8x8=";
   };
   appimage = appimageTools.wrapType2 {
     inherit version pname src;
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
index ab6b0ff5abc45..d53b122068a91 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildNpmPackage
 , copyDesktopItems
-, electron_26
+, electron_28
 , buildGoModule
 , esbuild
 , fetchFromGitHub
@@ -36,16 +36,16 @@ let
 in
 buildNpmPackage rec {
   pname = "deltachat-desktop";
-  version = "1.42.2";
+  version = "1.44.1";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-desktop";
     rev = "v${version}";
-    hash = "sha256-c8eK6YpxCP+Ga/VcqbbOUYuL1h4xspjglCZ1wiEAags=";
+    hash = "sha256-fL+9oPQ5dAgvQREZ7A+hKo2MnZKeVvadQDvDPsDNbnQ=";
   };
 
-  npmDepsHash = "sha256-7xMSsKESK9BqQrMvxceEhsETwDFue0/viCNULtzzwGo=";
+  npmDepsHash = "sha256-rUxJLDsAfp+brecTThYTdHIVIfVkKwZ/W5sHV0hHHIk=";
 
   postPatch = ''
     test \
@@ -103,7 +103,7 @@ buildNpmPackage rec {
         $out/lib/node_modules/deltachat-desktop/html-dist/fonts
     done
 
-    makeWrapper ${electron_26}/bin/electron $out/bin/deltachat \
+    makeWrapper ${lib.getExe electron_28} $out/bin/deltachat \
       --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher${stdenv.hostPlatform.extensions.sharedLibrary} \
       --add-flags $out/lib/node_modules/deltachat-desktop
 
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index e038a7f5ddb57..5e2a7195d0aee 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -2,7 +2,7 @@
 let
   versions =
     if stdenv.isLinux then {
-      stable = "0.0.43";
+      stable = "0.0.44";
       ptb = "0.0.72";
       canary = "0.0.294";
       development = "0.0.13";
@@ -17,7 +17,7 @@ let
     x86_64-linux = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        hash = "sha256-DO8bS5luSKhKW6sJZhz4xVeIPexQVoaD4xYugHCN3uk=";
+        hash = "sha256-mzpir5Js3pDtuOK5bKocd74p0PcDnMpNpx8PpchE6FE=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
diff --git a/pkgs/applications/networking/instant-messengers/matrixcli/default.nix b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
deleted file mode 100644
index 9b501facb7f60..0000000000000
--- a/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, fetchFromGitHub
-  , buildPythonApplication, buildPythonPackage
-  , pygobject3, pytest-runner, requests, responses, pytest, python-olm
-  , canonicaljson, olm
-}:
-let
-  mainsrc = fetchFromGitHub {
-    owner = "saadnpq";
-    repo = "matrixcli";
-    rev = "61ebde173ca2f77185c261c2b7f6db297ca89863";
-    sha256 = "sha256-eH/8b8IyfXqUo7odSECYF+84pXTsP+5S7pFR3oWXknU=";
-    fetchSubmodules = true;
-  };
-
-  sdk = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "matrix-python-sdk-matrixcli";
-    version = "0.0.2019-08-15";
-
-    src = "${mainsrc}/matrix-python-sdk/";
-
-    propagatedBuildInputs = [
-      requests responses olm python-olm canonicaljson
-      pytest-runner pytest
-    ];
-
-    doCheck = false;
-    doInstallCheck = false;
-
-    meta = {
-      license = lib.licenses.asl20;
-      description = "Fork of Matrix Python SDK";
-      platforms = lib.platforms.linux;
-    };
-  };
-
-in
-buildPythonApplication rec {
-  pname = "matrixcli";
-  version = "0.0.2019-08-15";
-
-  src = mainsrc;
-
-  propagatedBuildInputs = [pygobject3 sdk];
-
-  meta = {
-    description = "CLI client for Matrix";
-    license = lib.licenses.gpl3;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
-    homepage = "https://github.com/saadnpq/matrixcli";
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/ricochet/default.nix b/pkgs/applications/networking/instant-messengers/ricochet/default.nix
deleted file mode 100644
index 99c7cbbc7d8ee..0000000000000
--- a/pkgs/applications/networking/instant-messengers/ricochet/default.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ mkDerivation
-, lib
-, fetchFromGitHub
-, pkg-config
-, makeDesktopItem
-, qtbase
-, qttools
-, qtmultimedia
-, qtquickcontrols
-, openssl
-, protobuf
-, qmake
-}:
-
-mkDerivation rec {
-  pname = "ricochet";
-  version = "1.1.4";
-
-  src = fetchFromGitHub {
-    owner = "ricochet-im";
-    repo = "ricochet";
-    rev = "v${version}";
-    sha256 = "sha256-CGVTHa0Hqj90WvB6ZbA156DVgzv/R7blsU550y2Ai9c=";
-  };
-
-  desktopItem = makeDesktopItem {
-    name = "ricochet";
-    exec = "ricochet";
-    icon = "ricochet";
-    desktopName = "Ricochet";
-    genericName = "Ricochet";
-    comment = meta.description;
-    categories = [ "Office" "Email" ];
-  };
-
-  buildInputs = [
-    qtbase
-    qttools
-    qtmultimedia
-    qtquickcontrols
-    openssl
-    protobuf
-  ];
-
-  nativeBuildInputs = [ pkg-config qmake ];
-
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags openssl)"
-  '';
-
-  qmakeFlags = [ "DEFINES+=RICOCHET_NO_PORTABLE" ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ricochet $out/bin
-
-    mkdir -p $out/share/applications
-    cp $desktopItem/share/applications"/"* $out/share/applications
-
-    mkdir -p $out/share/pixmaps
-    cp icons/ricochet.png $out/share/pixmaps/ricochet.png
-  '';
-
-  # RCC: Error in 'translation/embedded.qrc': Cannot find file 'ricochet_en.qm'
-  enableParallelBuilding = false;
-
-  meta = with lib; {
-    description = "Anonymous peer-to-peer instant messaging";
-    homepage = "https://ricochet.im";
-    license = licenses.bsd3;
-    maintainers = [ maintainers.codsl maintainers.jgillich maintainers.np ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
index 2e270607274dc..abb990e671b10 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
@@ -64,14 +64,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "telegram-desktop";
-  version = "4.14.15";
+  version = "4.15.1";
 
   src = fetchFromGitHub {
     owner = "telegramdesktop";
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-706FAtXS541D7H/Qc86eC1FLUWu1/tZuCq3GgJ0L/Ds=";
+    hash = "sha256-UM2+yPIu/mzPUeH71mjTaeaRvtCKPrYUKXSOht51juY=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch
index c8424359fdbfd..3036af515ea36 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/macos.patch
@@ -54,7 +54,19 @@ diff --git a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm b/Telegram
 index 738e574..80ff5f0 100644
 --- a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
 +++ b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
-@@ -254,10 +254,12 @@ void *Instance::winId() {
+@@ -314,9 +314,11 @@ Instance::Instance(Config config) {
+ 	_dataRequestHandler = std::move(config.dataRequestHandler);
+ 	[configuration setURLSchemeHandler:_handler forURLScheme:stdToNS(kDataUrlScheme)];
+ 	_webview = [[WKWebView alloc] initWithFrame:NSZeroRect configuration:configuration];
++#if 0
+ 	if (@available(macOS 13.3, *)) {
+ 		_webview.inspectable = config.debug ? YES : NO;
+ 	}
++#endif
+ 	[_manager addScriptMessageHandler:_handler name:@"external"];
+ 	[_webview setNavigationDelegate:_handler];
+ 	[_webview setUIDelegate:_handler];
+@@ -658,10 +660,12 @@ void *Instance::winId() {
  }
  
  void Instance::setOpaqueBg(QColor opaqueBg) {
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix
index 0918bfee91e2e..f0c054fd7a901 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tg/default.nix
@@ -1,4 +1,12 @@
-{ lib, buildPythonApplication, fetchFromGitHub, pythonOlder, python-telegram }:
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, pythonOlder
+, fetchpatch
+, stdenv
+, libnotify
+, python-telegram
+}:
 
 buildPythonApplication rec {
   pname = "tg";
@@ -12,6 +20,20 @@ buildPythonApplication rec {
     hash = "sha256-apHd26XnOz5nak+Kz8PJPsonQfTWDyPz7Mi/tWf7zwM=";
   };
 
+  patches = [
+    # Fix sending messages
+    # https://github.com/paul-nameless/tg/pull/306
+    (fetchpatch {
+      url = "https://github.com/mindtheegab/tg/commit/13e2b266989d2d757a394b0fb8cb7fd6ccc2b70c.patch";
+      hash = "sha256-Wja6xBOlPuACzhbT8Yl3F8qSh3Kd9G1lnr9VarbPrfM=";
+    })
+  ];
+
+  # Fix notifications on platforms other than darwin by providing notify-send
+  postPatch = lib.optionalString (!stdenv.isDarwin) ''
+    sed -i 's|^NOTIFY_CMD = .*|NOTIFY_CMD = "${libnotify}/bin/notify-send {title} {message} -i {icon_path}"|' tg/config.py
+  '';
+
   propagatedBuildInputs = [ python-telegram ];
 
   doCheck = false; # No tests
diff --git a/pkgs/applications/networking/irc/halloy/default.nix b/pkgs/applications/networking/irc/halloy/default.nix
index df0113f258728..2758914f73cc6 100644
--- a/pkgs/applications/networking/irc/halloy/default.nix
+++ b/pkgs/applications/networking/irc/halloy/default.nix
@@ -15,13 +15,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "halloy";
-  version = "2024.2";
+  version = "2024.3";
 
   src = fetchFromGitHub {
     owner = "squidowl";
     repo = "halloy";
     rev = "refs/tags/${version}";
-    hash = "sha256-SzjMoXISd4fMHoenF1CK3Yn8bfLq9INuOmt86QTcgk8=";
+    hash = "sha256-9yEkM65c8R71oQ0C54xZqwRh609+HSaq4Hb8izNM52A=";
   };
 
   cargoLock = {
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 6674e957cb5ba..7da31db64e08a 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -23,12 +23,12 @@ assert gpgmeSupport -> sslSupport;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "2.2.12";
+  version = "2.2.13";
   outputs = [ "out" "doc" "info" ];
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    hash = "sha256-BDrzEvZLjlb3/Qv3f4SiBdTEmAML2VhkV2ZcR7sYzjg=";
+    hash = "sha256-6yP63cHMl9hnaT86Sp8wlJrZN2WtW2/a4nl6QAHFjvs=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 46d23c54b9325..dfe749d7d0bd0 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -44,13 +44,13 @@ rec {
 
   thunderbird-115 = (buildMozillaMach rec {
     pname = "thunderbird";
-    version = "115.8.0";
+    version = "115.8.1";
     application = "comm/mail";
     applicationName = "Mozilla Thunderbird";
     binaryName = pname;
     src = fetchurl {
       url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-      sha512 = "a0bdd34bebda4973f714422293f10a5a96c2b12f097c68d76fa37c48943fdbfb32dd2e504faa0b88fd699118b1903e18c3bb54cb32cd5e2ff60c09966b23e79c";
+      sha512 = "4d28f865f482a0d4c91f26ef26709a00f78955699b4ca191f960bcdb8d2c0c95c2a8e8782129d5660e192c605cba021fac553b13868861086a608f0c50aa5da7";
     };
     extraPatches = [
       # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
diff --git a/pkgs/applications/networking/netmaker/default.nix b/pkgs/applications/networking/netmaker/default.nix
index c2967e0f35887..6a3de1308753d 100644
--- a/pkgs/applications/networking/netmaker/default.nix
+++ b/pkgs/applications/networking/netmaker/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "netmaker";
-  version = "0.21.2";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "gravitl";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-0KyBRIMXGqg4MdTyN3Kw1rVbZ7ULlfW6M9DSfAUQF8A=";
+    hash = "sha256-M2DY+C0g8G+DjicMeT3Ojn4GzG7vaE1OHKSy7O6T1Kk=";
   };
 
-  vendorHash = "sha256-B9r+p9kL/8h5qGmJ2WChnU3qKFf9z76YFqn6M2dXsDg=";
+  vendorHash = "sha256-SUu0OvHCmlssH9HbAaMbiG0gF/ezxgf1n0HBiB/2PTs=";
 
   inherit subPackages;
 
diff --git a/pkgs/applications/networking/pcloud/default.nix b/pkgs/applications/networking/pcloud/default.nix
index aae1c3cfb771b..d5db07a819aca 100644
--- a/pkgs/applications/networking/pcloud/default.nix
+++ b/pkgs/applications/networking/pcloud/default.nix
@@ -38,13 +38,13 @@
 
 let
   pname = "pcloud";
-  version = "1.14.4";
-  code = "XZDh750ZBgJa45xqQ8H1ztdMFX2wVhOCTOFk";
+  version = "1.14.5";
+  code = "XZ0AMJ0ZdrENNeVMNI4Tz3lO1nxr577ryOMV";
 
   # Archive link's codes: https://www.pcloud.com/release-notes/linux.html
   src = fetchzip {
     url = "https://api.pcloud.com/getpubzip?code=${code}&filename=pcloud-${version}.zip";
-    hash = "sha256-1KF3tF62lkT6tfeP/dMaZITXp4Vyegp3lFYdLJ49OR8=";
+    hash = "sha256-a577iWPrke3EizG03m0+hjSoPzA4wDai/QMX2Zl7MF0=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
index bf14b0321943d..ff945e3aeed2d 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/generic.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
@@ -22,6 +22,18 @@ let
       ln -sf $out/lib/libssl.so $out/lib/libssl.so.1.0.0
     '';
   };
+
+  opencv4' = symlinkJoin {
+    name = "opencv4-compat";
+    nativeBuildInputs = [ makeWrapper ];
+    paths = [ opencv4 ];
+    postBuild = ''
+      for so in ${opencv4}/lib/*.so; do
+        ln -s "$so" $out/lib/$(basename "$so").407
+      done
+    '';
+  };
+
 in
 
 stdenv.mkDerivation rec {
@@ -98,7 +110,7 @@ stdenv.mkDerivation rec {
     mesa
     nspr
     nss
-    opencv4
+    opencv4'
     openssl'
     pango
     speex
diff --git a/pkgs/applications/networking/remote/dayon/default.nix b/pkgs/applications/networking/remote/dayon/default.nix
index 63e6b0fec6bc7..a68a6eddd3342 100644
--- a/pkgs/applications/networking/remote/dayon/default.nix
+++ b/pkgs/applications/networking/remote/dayon/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dayon";
-  version = "13.0.2";
+  version = "14.0.0";
 
   src = fetchFromGitHub {
     owner = "RetGal";
     repo = "dayon";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-sKA50D+VYjfKzdZAppIGfU5uJqrCrZPEsk9EEMBxu3I=";
+    hash = "sha256-cUaWfOpR0sNq8cRghZVW9mTVhJ5us12/lzucxetiVkg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index ebb0f17e784b9..3b9727e2914ab 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.65.2";
+  version = "1.66.0";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "rclone";
+    repo = "rclone";
     rev = "v${version}";
-    hash = "sha256-P7VJ6pauZ7J8LvyYNi7ANsKrYOcmInZCfRO+X+K6LzI=";
+    hash = "sha256-75RnAROICtRUDn95gSCNO0F6wes4CkJteNfUN38GQIY=";
   };
 
-  vendorHash = "sha256-budC8psvTtfVi3kYOaJ+dy/9H11ekJVkXMmeV9RhXVU=";
+  vendorHash = "sha256-zGBwgIuabLDqWbutvPHDbPRo5Dd9kNfmgToZXy7KVgI=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/sync/storj-uplink/default.nix b/pkgs/applications/networking/sync/storj-uplink/default.nix
index db26d084e797f..8553151433326 100644
--- a/pkgs/applications/networking/sync/storj-uplink/default.nix
+++ b/pkgs/applications/networking/sync/storj-uplink/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "storj-uplink";
-  version = "1.99.1";
+  version = "1.99.3";
 
   src = fetchFromGitHub {
     owner = "storj";
     repo = "storj";
     rev = "v${version}";
-    hash = "sha256-UzuKy3pwl+chwYUWtcUEJIrU8wpSg3o2mVryc3qA9EM=";
+    hash = "sha256-SzldiGwcpR+UEQ3imJfu3FlYqGq4evsYtjVLybdjGqc=";
   };
 
   subPackages = [ "cmd/uplink" ];
 
-  vendorHash = "sha256-RaZ+yEkzsu/V3734joWtVA2m2vCOW+CnjF5s0mwDI/0=";
+  vendorHash = "sha256-mPJVb2/iGbRWDDcfIey3uW/5g2TIIemHR8d/3osMeGA=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/applications/networking/taler/default.nix b/pkgs/applications/networking/taler/default.nix
index 474247d24b14c..c1de12fb94275 100644
--- a/pkgs/applications/networking/taler/default.nix
+++ b/pkgs/applications/networking/taler/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, curl, gnunet, jansson, libgcrypt, libmicrohttpd_0_9_74
+{ lib, stdenv, fetchgit, curl, gnunet, jansson, libgcrypt, libmicrohttpd
 , qrencode, libsodium, libtool, libunistring, pkg-config, postgresql
 , autoreconfHook, python39, recutils, wget, jq, gettext, texinfo
 }:
@@ -36,7 +36,7 @@ let
     ];
     buildInputs = [
       libgcrypt
-      libmicrohttpd_0_9_74
+      libmicrohttpd
       jansson
       libsodium
       postgresql
diff --git a/pkgs/applications/networking/wgcf/default.nix b/pkgs/applications/networking/wgcf/default.nix
index b088c61e599dc..ecd4b9e06fa26 100644
--- a/pkgs/applications/networking/wgcf/default.nix
+++ b/pkgs/applications/networking/wgcf/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "wgcf";
-  version = "2.2.21";
+  version = "2.2.22";
 
   src = fetchFromGitHub {
     owner = "ViRb3";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-FzzPDTRmDCBS7EZOgj4ckytbtlRPqPdHpyn3nF0yHdc=";
+    hash = "sha256-NzXIzOMc6rVX65FJe/S8rkYJbWNPWRz+mH7vP7Ch9Kw=";
   };
 
   subPackages = ".";
 
-  vendorHash = "sha256-cGtm+rUgYppwwL/BizWikPUyFExHzLucL2o2g9PgGNw=";
+  vendorHash = "sha256-GinKmXHXWEGmCz83AU3z5JBmPnWJ9Q2EqEPgaTUiDgs=";
 
   meta = with lib; {
     description = "Cross-platform, unofficial CLI for Cloudflare Warp";
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index e6aa7cb21d14e..683d51bf43f2a 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -1,4 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, wrapGAppsHook, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeDesktopItem
+, makeWrapper
+, wrapGAppsHook
+, ant
+, jdk
+, jre
+, gtk2
+, glib
+, libXtst
+, Cocoa
+}:
 
 let
   _version = "2.10.4";
@@ -26,10 +39,6 @@ stdenv.mkDerivation rec {
   pname = "jameica";
   inherit version;
 
-  nativeBuildInputs = [ ant jdk wrapGAppsHook makeWrapper ];
-  buildInputs = lib.optionals stdenv.isLinux [ gtk2 glib xorg.libXtst ]
-    ++ lib.optional stdenv.isDarwin Cocoa;
-
   src = fetchFromGitHub {
     owner = "willuhn";
     repo = "jameica";
@@ -37,15 +46,29 @@ stdenv.mkDerivation rec {
     hash = "sha256-MSVSd5DyVL+dcfTDv1M99hxickPwT2Pt6QGNsu6DGZI=";
   };
 
+  postPatch = ''
+    # Fix jar timestamps for reproducibility
+    substituteInPlace build/build.xml \
+        --replace-fail '<jar ' '<jar modificationtime="0" '
+  '';
+
+  nativeBuildInputs = [ ant jdk wrapGAppsHook makeWrapper ];
+  buildInputs = lib.optionals stdenv.isLinux [ gtk2 glib libXtst ]
+    ++ lib.optional stdenv.isDarwin Cocoa;
+
   dontWrapGApps = true;
 
   # there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries
   # and is not able to build the application itself
   buildPhase = ''
-    (cd build; ant -Dsystem.version=${version} init compile jar)
+    runHook preBuild
+    ant -f build -Dsystem.version=${version} init compile jar
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,jameica-${version},java}/
 
     # copy libraries except SWT
@@ -57,6 +80,8 @@ stdenv.mkDerivation rec {
     install -Dm644 plugin.xml $out/share/java/
     install -Dm644 build/jameica-icon.png $out/share/pixmaps/jameica.png
     cp ${desktopItem}/share/applications/* $out/share/applications/
+
+    runHook postInstall
   '';
 
   postFixup = ''
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index b58b0152d41a2..3f5fab53e6df9 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -27,11 +27,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.67.3";
+  version = "0.68.1";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    hash = "sha256-WqWrerEBaaXA9vhpVHEyMZdAxajeOPANFyUeK42cXUU=";
+    hash = "sha256-ZXtBKc5vQz9fDyiG+DYOx7DsnnsORiltOacdx4AqFjg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 08ede6a81e11f..0ff9312f8b49d 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -19,14 +19,14 @@
 let
   pname = "qownnotes";
   appname = "QOwnNotes";
-  version = "24.2.6";
+  version = "24.3.0";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
-    hash = "sha256-F0AUY82zPDRpV/mBb6kpAdMIImJ2ICwwfIluxh8Z7As=";
+    hash = "sha256-NIxRXNawzV6adgf7tCYdn1/Nd2ULodOVGt1QwITpO6Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix
index 34c65d4e2fe70..bb6a16bb5140e 100644
--- a/pkgs/applications/office/tryton/default.nix
+++ b/pkgs/applications/office/tryton/default.nix
@@ -21,13 +21,13 @@ with lib;
 
 python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "7.0.5";
+  version = "7.0.7";
 
   disabled = !python3Packages.isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-NAnNBfwnMky0qbtU3P5+kHJwCj6nfIQCtYgu6nXLcaQ=";
+    sha256 = "sha256-NODeDEgmf/nSKrM+RxAUsUwsbVQT7OSDrTOGVBwOzpw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index f1c6714df2280..0af60d240f69e 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -25,14 +25,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "16.1.53";
+  version = "16.1.63";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    hash = "sha256-GoNcY9/OzRzC3tqdsoVqeG02EWn+thk0BaoWCWLk3sg=";
+    hash = "sha256-zUX3msosz0LNQJuEUbFgT32Hw0Wq4CgW1iHMkvReysU=";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/logic/cvc5/default.nix b/pkgs/applications/science/logic/cvc5/default.nix
index 4da837ca46f6a..2dff344e4edb7 100644
--- a/pkgs/applications/science/logic/cvc5/default.nix
+++ b/pkgs/applications/science/logic/cvc5/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cvc5";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner  = "cvc5";
     repo   = "cvc5";
     rev    = "cvc5-${version}";
-    hash  = "sha256-TU2ZG6/9bXRPozvEVUiSWixImY38iavD3huhSU8DbCw=";
+    hash  = "sha256-v+3/2IUslQOySxFDYgTBWJIDnyjbU2RPdpfLcIkEtgQ=";
   };
 
   nativeBuildInputs = [ pkg-config cmake flex ];
diff --git a/pkgs/applications/science/logic/elan/0001-dynamically-patchelf-binaries.patch b/pkgs/applications/science/logic/elan/0001-dynamically-patchelf-binaries.patch
index 74da9d854f344..0b33d4242eb7e 100644
--- a/pkgs/applications/science/logic/elan/0001-dynamically-patchelf-binaries.patch
+++ b/pkgs/applications/science/logic/elan/0001-dynamically-patchelf-binaries.patch
@@ -2,7 +2,7 @@ diff --git a/src/elan-dist/src/component/package.rs b/src/elan-dist/src/componen
 index c51e76d..ae8159e 100644
 --- a/src/elan-dist/src/component/package.rs
 +++ b/src/elan-dist/src/component/package.rs
-@@ -56,6 +56,35 @@ fn unpack_without_first_dir<R: Read>(archive: &mut tar::Archive<R>, path: &Path)
+@@ -56,6 +56,37 @@ fn unpack_without_first_dir<R: Read>(archive: &mut tar::Archive<R>, path: &Path)
          entry
              .unpack(&full_path)
              .chain_err(|| ErrorKind::ExtractingPackage)?;
@@ -26,9 +26,11 @@ index c51e76d..ae8159e 100644
 +        use std::os::unix::fs::PermissionsExt;
 +        let new_path = dest_path.with_extension("orig");
 +        ::std::fs::rename(dest_path, &new_path)?;
-+        ::std::fs::write(dest_path, format!(r#"#! @shell@
-+LEAN_CC="${{LEAN_CC:-@cc@}}" exec -a "$0" {} "$@" -L {}/lib  # use bundled libraries, but not bundled compiler that doesn't know about NIX_LDFLAGS
-+"#, new_path.to_str().unwrap(), dest_path.parent().unwrap().parent().unwrap().to_str().unwrap()))?;
++        ::std::fs::write(dest_path, r#"#! @shell@
++dir="$(dirname "${BASH_SOURCE[0]}")"
++# use bundled libraries, but not bundled compiler that doesn't know about NIX_LDFLAGS
++LEAN_CC="${LEAN_CC:-@cc@}" exec -a "$0" "$dir/leanc.orig" "$@" -L"$dir/../lib"
++"#)?;
 +        ::std::fs::set_permissions(dest_path, ::std::fs::Permissions::from_mode(0o755))?;
 +    }
 +
diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix
index 129aacc07f62a..245f8db13ce60 100644
--- a/pkgs/applications/science/logic/elan/default.nix
+++ b/pkgs/applications/science/logic/elan/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, runCommand, patchelf, makeWrapper, pkg-config, curl, runtimeShell, fetchpatch
+{ stdenv, lib, runCommand, patchelf, makeWrapper, pkg-config, curl, runtimeShell
 , openssl, zlib, fetchFromGitHub, rustPlatform, libiconv }:
 
 rustPlatform.buildRustPackage rec {
@@ -23,14 +23,6 @@ rustPlatform.buildRustPackage rec {
   buildFeatures = [ "no-self-update" ];
 
   patches = lib.optionals stdenv.isLinux [
-    # revert temporary directory creation, because it break the wrapper
-    # https://github.com/NixOS/nixpkgs/pull/289941#issuecomment-1980778358
-    (fetchpatch {
-      url = "https://github.com/leanprover/elan/commit/bd54acaab75d08b3912ee1f051af8657f3a9cfdf.patch";
-      hash = "sha256-6If/wxWSea8Zjlp3fx9wh3D0TjmWZbvCuY9q5c2qJGA=";
-      revert = true;
-    })
-
     # Run patchelf on the downloaded binaries.
     # This is necessary because Lean 4 is now dynamically linked.
     (runCommand "0001-dynamically-patchelf-binaries.patch" {
diff --git a/pkgs/applications/science/math/primesieve/default.nix b/pkgs/applications/science/math/primesieve/default.nix
index 8ca3f1393a76c..4d3c06bd9287d 100644
--- a/pkgs/applications/science/math/primesieve/default.nix
+++ b/pkgs/applications/science/math/primesieve/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "primesieve";
-  version = "12.0";
+  version = "12.1";
 
   src = fetchFromGitHub {
     owner = "kimwalisch";
     repo = "primesieve";
     rev = "v${version}";
-    hash = "sha256-xmOq18falvT8PKhJPwWm/aeOMf7I3ywR+h5OkTM3G6s=";
+    hash = "sha256-AHl2GfZ1oJ8ZyjJzvg10AqN7TA7HFZ+qa6N2v51Qa78=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
index de384056e4065..6bae150c97b82 100644
--- a/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xterm";
-  version = "389";
+  version = "390";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
     ];
-    hash = "sha256-HNV2PZTZNw/tENgE6DGgibKs4OenS29W71oWp2a9574=";
+    hash = "sha256-dRF8PMUXSgnEJe8QbmlATXL17wXgOl2gCq8VeS1vnA8=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/version-management/blackbox/default.nix b/pkgs/applications/version-management/blackbox/default.nix
index bee8da850b702..c98ff367c6688 100644
--- a/pkgs/applications/version-management/blackbox/default.nix
+++ b/pkgs/applications/version-management/blackbox/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     expect
     which
     coreutils
-    pinentry.tty
+    pinentry
     git
     gnutar
     procps
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index 5b5042494c499..20ae3f6d4c24f 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -11,7 +11,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commitizen";
-  version = "3.16.0";
+  version = "3.18.0";
   format = "pyproject";
 
   disabled = python3.pythonOlder "3.8";
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "commitizen-tools";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-vd8MtkzI7PPow0Ld0NhwbWOUWgSgecAT/DZK0ocUWCw=";
+    hash = "sha256-5baSXlC+ADHjisZLy4TVDuZ3kqoLwLS7KxYM9jAAzBI=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index d8e0815c91a8b..430d0fe1f7596 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-lfs";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "git-lfs";
     repo = "git-lfs";
     rev = "v${version}";
-    hash = "sha256-iBv9kUaoyH9yEoCZYGYm+gmdjb797hWftzwkRNDNu3k=";
+    hash = "sha256-xSLXbAvIoY3c341qi89pTrjBZdXh/bPrweJD2O2gkjY=";
   };
 
   vendorHash = "sha256-N8HB2qwBxjzfNucftHxmX2W9srCx62pjmkCWzwiCj/I=";
diff --git a/pkgs/applications/version-management/git/default.nix b/pkgs/applications/version-management/git/default.nix
index aa591f08afebf..767172787fba7 100644
--- a/pkgs/applications/version-management/git/default.nix
+++ b/pkgs/applications/version-management/git/default.nix
@@ -29,7 +29,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.43.1";
+  version = "2.43.2";
   svn = subversionClient.override { perlBindings = perlSupport; };
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
 in
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    hash = "sha256-IjTze0U/+ORnLCGtQNQcxzk8mo3N/mQL7HrFtTWPMNI=";
+    hash = "sha256-9hLBq8Y1V9UK04SYY/yRCWcBOfyZAeV0Rg7HbgURrbk=";
   };
 
   outputs = [ "out" ] ++ lib.optional withManual "doc";
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 21e8ab9fe3ea8..cedf8791fa790 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -11,24 +11,24 @@ with lib;
 
 let
   pname = "gitkraken";
-  version = "9.12.0";
+  version = "9.13.0";
 
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
   srcs = {
     x86_64-linux = fetchzip {
       url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
-      hash = "sha256-g2YcNFKt1/YBmEOH3Z5b0MPMMOWBIvXh+V2fzaGgCgQ=";
+      hash = "sha256-BBTa/MhfwTZ9YUJSGt8KocPn6f7m+W8G9yJr8I4NAtw=";
     };
 
     x86_64-darwin = fetchzip {
       url = "https://release.axocdn.com/darwin/GitKraken-v${version}.zip";
-      hash = "sha256-yy7BbtguQj/LVM7ivNTcG97XIImQUMQPKwTVDWGvvnQ=";
+      hash = "sha256-+1N4U5vV8XdHdtPeanjU38c8fzfY0uV0AA6exEe/FzQ=";
     };
 
     aarch64-darwin = fetchzip {
       url = "https://release.axocdn.com/darwin-arm64/GitKraken-v${version}.zip";
-      hash = "sha256-ihnTzQC7B0TdHZzXmrwcVSfxKvGoBBTdRq8ZJicaVDI=";
+      hash = "sha256-kNX8ptDL8vvFDhH3bDU24A2xN1D+tgpzsCj/zIGqctE=";
     };
   };
 
diff --git a/pkgs/applications/version-management/jujutsu/default.nix b/pkgs/applications/version-management/jujutsu/default.nix
index 9503c79e04d05..b6b4bd8e8e411 100644
--- a/pkgs/applications/version-management/jujutsu/default.nix
+++ b/pkgs/applications/version-management/jujutsu/default.nix
@@ -11,7 +11,6 @@
 , libssh2
 , libgit2
 , zstd
-, fetchpatch
 , installShellFiles
 , nix-update-script
 , testers
@@ -20,19 +19,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jujutsu";
-  version = "0.14.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "martinvonz";
     repo = "jj";
     rev = "v${version}";
-    hash = "sha256-xnGnervyXPfZyQTYsPu09fj+QvbEZ6rDJ4fYHBeF/RY=";
+    hash = "sha256-yppQIffjpyQ2nqhiZbV2pSMQJx8srmHjAk+UClCQfRw=";
   };
 
-  cargoHash = "sha256-wuZ0zthaemzyDn5J2au2L2k0QJnzbrCRjSBIPivEbnQ=";
+  cargoHash = "sha256-2BmKC8DaOdD/THchImmGqplhDrHQHEMyWORWnE2ygSM=";
 
   cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors
-  useNextest = true; # nextest is the upstream integration framework
+  useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping
   ZSTD_SYS_USE_PKG_CONFIG = "1";    # disable vendored zlib
   LIBSSH2_SYS_USE_PKG_CONFIG = "1"; # disable vendored libssh2
 
@@ -63,6 +62,11 @@ rustPlatform.buildRustPackage rec {
       --zsh <($out/bin/jj util completion zsh)
   '';
 
+  checkFlags = [
+    # signing tests spin up an ssh-agent and do git checkouts
+    "--skip=test_ssh_signing"
+  ];
+
   passthru = {
     updateScript = nix-update-script { };
     tests = {
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 058d012338897..19ba699abef45 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -23,11 +23,11 @@ let
 
   self = python3Packages.buildPythonApplication rec {
     pname = "mercurial${lib.optionalString fullBuild "-full"}";
-    version = "6.6.2";
+    version = "6.6.3";
 
     src = fetchurl {
       url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "sha256-y0lNe+fdwvydMXHIiDCvnAKyHHU+PlET3vrJwDc7S2A=";
+      hash = "sha256-911qSnWCOht9cTpJZ+yi9Zb0ZuWPxrwG1yZCky/X4wc=";
     };
 
     format = "other";
@@ -37,7 +37,7 @@ let
     cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
       inherit src;
       name = "mercurial-${version}";
-      sha256 = "sha256-yOysqMrTWDx/ENcJng8Rm338NI9vpuBGH6Yq8B7+MFg=";
+      sha256 = "sha256-G5tzwoIGOgpVI35rYXDeelnBgTbAiq7BDcXCHQzqSrs=";
       sourceRoot = "mercurial-${version}/rust";
     } else null;
     cargoRoot = if rustSupport then "rust" else null;
diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix
index 06951debf5ac4..c2b6d5be73258 100644
--- a/pkgs/applications/video/avidemux/default.nix
+++ b/pkgs/applications/video/avidemux/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, cmake, pkg-config
+{ stdenv, lib, fetchurl, fetchpatch, cmake, pkg-config
 , zlib, gettext, libvdpau, libva, libXv, sqlite
 , yasm, freetype, fontconfig, fribidi
 , makeWrapper, libXext, libGLU, qttools, qtbase, wrapQtAppsHook
@@ -37,6 +37,16 @@ stdenv.mkDerivation rec {
     ./bootstrap_logging.patch
   ];
 
+  postPatch = ''
+    cp ${fetchpatch {
+      # Backport fix for binutils-2.41.
+      name = "binutils-2.41.patch";
+      url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb";
+      hash = "sha256-s9PcYbt0mFb2wvgMcFL1J+2OS6Sxyd2wYkGzLr2qd9M=";
+      stripLen = 1;
+    }} avidemux_core/ffmpeg_package/patches/
+  '';
+
   nativeBuildInputs =
     [ yasm cmake pkg-config makeWrapper ]
     ++ lib.optional withQT wrapQtAppsHook;
diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix
index 894e54b28f51a..f97b53b60937b 100644
--- a/pkgs/applications/video/kodi/unwrapped.nix
+++ b/pkgs/applications/video/kodi/unwrapped.nix
@@ -1,4 +1,6 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
+{ stdenv, lib, fetchFromGitHub
+, fetchpatch
+, autoconf, automake, libtool, makeWrapper
 , pkg-config, cmake, yasm, python3Packages
 , libxcrypt, libgcrypt, libgpg-error, libunistring
 , boost, avahi, lame
@@ -63,6 +65,14 @@ let
       rev     = "${version}-${rel}-Alpha1";
       sha256  = "sha256-EQHmmWnDw+/udKYq7Nrf00nL7I5XWUtmzdauDryfTII=";
     };
+    patches = [
+      # Backport fix for binutils-2.41.
+      (fetchpatch {
+        name = "binutils-2.41.patch";
+        url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb";
+        hash = "sha256-vlBUMJ1bORQHRNpuzc5iXsTWwS/CN5BmGIA8g7H7mJE=";
+      })
+    ];
     preConfigure = ''
       cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
       sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index b6d79695f5d30..2802ed8a5b960 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -49,13 +49,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "82.0";
+  version = "83.0";
 
   src = fetchFromGitLab {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    hash = "sha256-3WULzEkjMH4PUETJeKmDKn9PdanWf581O2mI/IqN8YM=";
+    hash = "sha256-MHi3ewxCn560vpVfOucV34CNj/95U2OFd6bxAjtMBoc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index 0f355577a6a47..deea5c1cb493d 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -28,6 +28,14 @@ mkDerivation rec {
       stripLen = 1;
       hash = "sha256-JfRME00YNNjl6SKs1HBa0wBa/lR/Rt3zbQtWhsC36JM=";
     })
+
+    # Bachport the build against binutils-2.41
+    (fetchpatch {
+      name = "binutils-2.41.patch";
+      url = "https://github.com/MythTV/mythtv/commit/f9f9bba62ee2743c816cb2b9634b6b4397e5e2e3.patch";
+      stripLen = 1;
+      hash = "sha256-IcXgBtfqPZ42inYFe7l8mWvKUV13S/YEQAHcOFaDivI=";
+    })
   ];
 
   setSourceRoot = "sourceRoot=$(echo */mythtv)";
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
index 3068718b08f01..98b597d72f544 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-move-transition";
-  version = "2.10.0";
+  version = "2.10.2";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-move-transition";
     rev = version;
-    sha256 = "sha256-HMhIGOslAtk5npunRZkOcFQZDSIB7c8qcFW3l9kgkzo=";
+    sha256 = "sha256-gQAeQ3PdnCtnLUgt6utWKfFBfQlJj5/mjAxtlmaGQFw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
index 3f037d916aa23..deebf1af7b848 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-shaderfilter";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-shaderfilter";
     rev = version;
-    sha256 = "sha256-3xMCMsjnEF5aNKBNMhSMAgKuaDnNP+3+uN1u76+Te+8=";
+    sha256 = "sha256-J7tCEIB9zQ0zZFl1eSuEARd+KqpNClHfYx3wcLawFeM=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/rtabmap/default.nix b/pkgs/applications/video/rtabmap/default.nix
index 200fab2743396..1147d1ef1d949 100644
--- a/pkgs/applications/video/rtabmap/default.nix
+++ b/pkgs/applications/video/rtabmap/default.nix
@@ -27,32 +27,20 @@
 
 stdenv.mkDerivation rec {
   pname = "rtabmap";
-  version = "0.21.0";
+  version = "0.21.4";
 
   src = fetchFromGitHub {
     owner = "introlab";
     repo = "rtabmap";
     rev = "refs/tags/${version}";
-    hash = "sha256-1xb8O3VrErldid2OgAUMG28mSUO7QBUsPuSz8p03tSI";
+    hash = "sha256-HrIATYRuhFfTlO4oTRZo7CM30LFVyatZJON31Fe4HTQ=";
   };
 
-  patches = [
-    # Fix build with g2o 20230806
-    (fetchpatch {
-      url = "https://github.com/introlab/rtabmap/commit/85cc6fe3c742855ad16c8442895e12dbb10b6e8b.patch";
-      hash = "sha256-P6GkYKCNwe9dgZdgF/oEhgjA3bJnwXFWJCPoyIknQCo=";
-    })
-    # Fix typo in previous patch
-    (fetchpatch {
-      url = "https://github.com/introlab/rtabmap/commit/c4e94bcdc31b859c1049724dbb7671e4597d86de.patch";
-      hash = "sha256-1btkV4/y+bnF3xEVqlUy/9F6BoANeTOEJjZLmRzG3iA=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook wrapGAppsHook ];
   buildInputs = [
     ## Required
     opencv
+    opencv.cxxdev
     pcl
     liblapack
     xorg.libSM
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index ca3c0599a6264..8678c456b07f7 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -16,17 +16,18 @@
 , qtmultimedia
 , qtcharts
 , cmake
+, Cocoa
 , gitUpdater
 }:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "shotcut";
-  version = "24.02.19";
+  version = "24.02.29";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
-    rev = "v${version}";
-    hash = "sha256-fjm2gqbuLKj6YyAZGgbfWUd+JOM9/Fhvpfz0E+TaqY0=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-PHpVquqC0MT7WNoWcdB9WTz4ZiSK4/f4oD5PH1gWBnw=";
   };
 
   nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];
@@ -41,11 +42,13 @@ stdenv.mkDerivation rec {
     qttools
     qtmultimedia
     qtcharts
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    Cocoa
   ];
 
   env.NIX_CFLAGS_COMPILE = "-DSHOTCUT_NOUPGRADE";
   cmakeFlags = [
-    "-DSHOTCUT_VERSION=${version}"
+    "-DSHOTCUT_VERSION=${finalAttrs.version}"
   ];
 
   patches = [
@@ -55,9 +58,15 @@ stdenv.mkDerivation rec {
   qtWrapperArgs = [
     "--set FREI0R_PATH ${frei0r}/lib/frei0r-1"
     "--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa"
-    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [jack1 SDL2]}"
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([SDL2] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [jack1])}"
   ];
 
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications $out/bin
+    mv $out/Shotcut.app $out/Applications/Shotcut.app
+    ln -s $out/Applications/Shotcut.app/Contents/MacOS/Shotcut $out/bin/shotcut
+  '';
+
   passthru.updateScript = gitUpdater {
     rev-prefix = "v";
   };
@@ -76,7 +85,7 @@ stdenv.mkDerivation rec {
     homepage = "https://shotcut.org";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ goibhniu woffs peti ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     mainProgram = "shotcut";
   };
-}
+})
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index e3f0ec1b97bdf..d679d674411cf 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.24.6";
+  version = "2.24.7";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    hash = "sha256-CrQM9fTXGI3uGAk2yk/+enBr9LuMhNFLFBYHT78lNWc=";
+    hash = "sha256-r7V9ZqUbtK4PG/NfDTbDljP+xaPJBXZSp1rGY/kgUTA=";
   };
 
   postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
     rm -rf e2e/
   '';
 
-  vendorHash = "sha256-0YZ36fouuVjj12a7d9F8OkJAmtLIHo0bZhcmOYO5Ki4=";
+  vendorHash = "sha256-Ec2JRCQvdC2VzkK29GyKS2DTrfHgv4wJc/50fbLVKEY=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/vmware-workstation/default.nix b/pkgs/applications/virtualization/vmware-workstation/default.nix
index 8fe79b6e237cb..93da1b1f68052 100644
--- a/pkgs/applications/virtualization/vmware-workstation/default.nix
+++ b/pkgs/applications/virtualization/vmware-workstation/default.nix
@@ -32,14 +32,14 @@
 
 let
   # macOS - versions
-  fusionVersion = "13.0.2";
-  fusionBuild = "21581413";
-  unlockerVersion = "3.0.4";
+  fusionVersion = "13.5.1";
+  fusionBuild = "23298085";
+  unlockerVersion = "3.0.5";
 
   # macOS - ISOs
   darwinIsoSrc = fetchurl {
     url = "https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${fusionVersion}/${fusionBuild}/universal/core/com.vmware.fusion.zip.tar";
-    sha256 = "sha256-8IaEQn1+e+WtjRX9Aopbi6tVTNt9RVyGrpaARtVH6j0=";
+    sha256 = "sha256-bn6hoicby2YVj1pZTBzBhabNhKefzVQTm5vIrdTO2K4=";
   };
 
   # macOS - Unlocker
@@ -47,7 +47,7 @@ let
     owner = "paolo-projects";
     repo = "unlocker";
     rev = "${unlockerVersion}";
-    sha256 = "sha256-kpvrRiiygfjQni8z+ju9mPBVqy2gs08Wj4cHxE9eorQ=";
+    sha256 = "sha256-JSEW1gqQuLGRkathlwZU/TnG6dL/xWKW4//SfE+kO0A=";
   };
 
   gdbm3 = gdbm.overrideAttrs (old: rec {
@@ -71,8 +71,8 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "vmware-workstation";
-  version = "17.0.2";
-  build = "21581411";
+  version = "17.5.1";
+  build = "23298084";
 
   buildInputs = [
     libxslt
@@ -101,7 +101,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download3.vmware.com/software/WKST-${builtins.replaceStrings ["."] [""] version}-LX/VMware-Workstation-Full-${version}-${build}.x86_64.bundle";
-    sha256 = "sha256-9ONh+uvL4YGNGxbpPX1mWO8P4oKPUpwzTsKKBJNxHMc=";
+    sha256 = "sha256-qmC3zvKoes77z3x6UkLHsJ17kQrL1a/rxe9mF+UMdJY=";
   };
 
   unpackPhase = ''
@@ -255,18 +255,16 @@ stdenv.mkDerivation rec {
     unpacked="unpacked/vmware-network-editor"
     cp -r $unpacked/lib $out/lib/vmware/
 
-    ## VMware Tools + Virtual Printer
-    echo "Installing VMware Tools + Virtual Printer"
+    ## VMware Tools
+    echo "Installing VMware Tools"
     mkdir -p $out/lib/vmware/isoimages/
-    cp unpacked/vmware-tools-linuxPreGlibc25/linuxPreGlibc25.iso \
-       unpacked/vmware-tools-windows/windows.iso \
-       unpacked/vmware-tools-winPreVista/winPreVista.iso \
-       unpacked/vmware-virtual-printer/VirtualPrinter-Linux.iso \
-       unpacked/vmware-virtual-printer/VirtualPrinter-Windows.iso \
-       unpacked/vmware-tools-winPre2k/winPre2k.iso \
-       unpacked/vmware-tools-linux/linux.iso \
+    cp unpacked/vmware-tools-linux/linux.iso \
+       unpacked/vmware-tools-linuxPreGlibc25/linuxPreGlibc25.iso \
        unpacked/vmware-tools-netware/netware.iso \
        unpacked/vmware-tools-solaris/solaris.iso \
+       unpacked/vmware-tools-winPre2k/winPre2k.iso \
+       unpacked/vmware-tools-winPreVista/winPreVista.iso \
+       unpacked/vmware-tools-windows/windows.iso \
        $out/lib/vmware/isoimages/
 
     ${lib.optionalString enableMacOSGuests ''
@@ -281,17 +279,10 @@ stdenv.mkDerivation rec {
     echo "Installing VMware Player Application"
     unpacked="unpacked/vmware-player-app"
     cp -r $unpacked/lib/* $out/lib/vmware/
-    cp -r $unpacked/etc/* $out/etc/
     cp -r $unpacked/share/* $out/share/
     cp -r $unpacked/bin/* $out/bin/
     cp -r $unpacked/doc/* $out/share/doc/ # Licences
 
-    mkdir -p $out/etc/thnuclnt
-    cp -r $unpacked/extras/.thnumod $out/etc/thnuclnt/
-
-    mkdir -p $out/lib/cups/filter
-    cp -r $unpacked/extras/thnucups $out/lib/cups/filter/
-
     for target in "vmplayer" "vmware-enter-serial" "vmware-setup-helper" "licenseTool" "vmware-mount" "vmware-fuseUI" "vmware-app-control" "vmware-zenity"
     do
       ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/$target
@@ -395,6 +386,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ cawilliamson deinferno ];
+    maintainers = with maintainers; [ cawilliamson deinferno vifino ];
   };
 }
diff --git a/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix b/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
index f76a8063388d6..65f612136dfa6 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "hyprshade";
-  version = "3.1.0";
+  version = "3.2.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "loqusion";
     repo = "hyprshade";
     rev = "refs/tags/${version}";
-    hash = "sha256-bH+QXvZ+Yaogcp/MYJopiAUvM/imNrSo+cotTzzdlV8=";
+    hash = "sha256-bNgXnN4F9kzbi1vTuBqn8H7A8QMznr7QA65eNLumkAA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index 9d21716bc7044..d7f1bc2176a8c 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -67,6 +67,7 @@ stdenv.mkDerivation rec {
     description = "A tiling window manager";
     homepage    = "https://i3wm.org";
     maintainers = with maintainers; [ modulistic fpletz ];
+    mainProgram = "i3";
     license     = licenses.bsd3;
     platforms   = platforms.all;
 
diff --git a/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh b/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh
index f943b8504683b..a1d06b9c6b0ae 100644
--- a/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh
+++ b/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh
@@ -7,5 +7,5 @@ for p in "${params[@]}"; do
 done
 
 if $needsTarget; then
-    extraBefore+=(-target @defaultTarget@)
+    extraBefore+=(-target @defaultTarget@ @march@)
 fi
diff --git a/pkgs/build-support/cc-wrapper/add-hardening.sh b/pkgs/build-support/cc-wrapper/add-hardening.sh
index e884f8388b58b..ef166e2f50c5e 100644
--- a/pkgs/build-support/cc-wrapper/add-hardening.sh
+++ b/pkgs/build-support/cc-wrapper/add-hardening.sh
@@ -32,7 +32,7 @@ if [[ -n "${hardeningEnableMap[fortify3]-}" ]]; then
 fi
 
 if (( "${NIX_DEBUG:-0}" >= 1 )); then
-  declare -a allHardeningFlags=(fortify fortify3 stackprotector pie pic strictoverflow format zerocallusedregs)
+  declare -a allHardeningFlags=(fortify fortify3 stackprotector pie pic strictoverflow format trivialautovarinit zerocallusedregs)
   declare -A hardeningDisableMap=()
 
   # Determine which flags were effectively disabled so we can report below.
@@ -106,6 +106,10 @@ for flag in "${!hardeningEnableMap[@]}"; do
         hardeningCFlagsBefore+=('-fno-strict-overflow')
       fi
       ;;
+    trivialautovarinit)
+      if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling trivialautovarinit >&2; fi
+      hardeningCFlagsBefore+=('-ftrivial-auto-var-init=pattern')
+      ;;
     format)
       if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling format >&2; fi
       hardeningCFlagsBefore+=('-Wformat' '-Wformat-security' '-Werror=format-security')
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 9ff560b2286a7..d788076dda510 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -604,8 +604,11 @@ stdenv.mkDerivation {
     # Always add -march based on cpu in triple. Sometimes there is a
     # discrepency (x86_64 vs. x86-64), so we provide an "arch" arg in
     # that case.
+    #
+    # For clang, this is handled in add-clang-cc-cflags-before.sh
+
     # TODO: aarch64-darwin has mcpu incompatible with gcc
-    + optionalString ((targetPlatform ? gcc.arch) && (isClang || !(stdenv.isDarwin && stdenv.isAarch64)) &&
+    + optionalString ((targetPlatform ? gcc.arch) && !isClang && !(stdenv.isDarwin && stdenv.isAarch64) &&
                       isGccArchSupported targetPlatform.gcc.arch) ''
       echo "-march=${targetPlatform.gcc.arch}" >> $out/nix-support/cc-cflags-before
     ''
@@ -694,6 +697,10 @@ stdenv.mkDerivation {
     ## Needs to go after ^ because the for loop eats \n and makes this file an invalid script
     ##
     + optionalString isClang ''
+      # Escape twice: once for this script, once for the one it gets substituted into.
+      export march=${lib.escapeShellArg
+        (lib.optionalString (targetPlatform ? gcc.arch)
+          (lib.escapeShellArg "-march=${targetPlatform.gcc.arch}"))}
       export defaultTarget=${targetPlatform.config}
       substituteAll ${./add-clang-cc-cflags-before.sh} $out/nix-support/add-local-cc-cflags-before.sh
     ''
diff --git a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
index def59954e4806..c8e2c0c298ec0 100755
--- a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
+++ b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
@@ -52,6 +52,7 @@ for package in *; do
     fi
 
     used_source="$(jq -r '.source' "$version"/.nupkg.metadata)"
+    found=false
 
     if [[ -d "$used_source" ]]; then
         continue
@@ -80,7 +81,7 @@ for package in *; do
       fi
     done
 
-    if ! ${found-false}; then
+    if [[ $found = false ]]; then
       echo "couldn't find $package $version" >&2
       exit 1
     fi
diff --git a/pkgs/build-support/node/build-npm-package/default.nix b/pkgs/build-support/node/build-npm-package/default.nix
index 42c6a9c065b2e..1c7bf63e8cd6a 100644
--- a/pkgs/build-support/node/build-npm-package/default.nix
+++ b/pkgs/build-support/node/build-npm-package/default.nix
@@ -49,6 +49,12 @@
   name = "${name}-npm-deps";
   hash = npmDepsHash;
 }
+  # Custom npmConfigHook
+, npmConfigHook ? null
+  # Custom npmBuildHook
+, npmBuildHook ? null
+  # Custom npmInstallHook
+, npmInstallHook ? null
 , ...
 } @ args:
 
@@ -57,14 +63,19 @@ let
   npmHooks = buildPackages.npmHooks.override {
     inherit nodejs;
   };
-
-  inherit (npmHooks) npmConfigHook npmBuildHook npmInstallHook;
 in
 stdenv.mkDerivation (args // {
   inherit npmDeps npmBuildScript;
 
   nativeBuildInputs = nativeBuildInputs
-    ++ [ nodejs npmConfigHook npmBuildHook npmInstallHook nodejs.python ]
+    ++ [
+      nodejs
+      # Prefer passed hooks
+      (if npmConfigHook != null then npmConfigHook else npmHooks.npmConfigHook)
+      (if npmBuildHook != null then npmBuildHook else npmHooks.npmBuildHook)
+      (if npmInstallHook != null then npmInstallHook else npmHooks.npmInstallHook)
+      nodejs.python
+    ]
     ++ lib.optionals stdenv.isDarwin [ darwin.cctools ];
   buildInputs = buildInputs ++ [ nodejs ];
 
diff --git a/pkgs/build-support/node/import-npm-lock/default.nix b/pkgs/build-support/node/import-npm-lock/default.nix
new file mode 100644
index 0000000000000..d530b8ee30ffc
--- /dev/null
+++ b/pkgs/build-support/node/import-npm-lock/default.nix
@@ -0,0 +1,134 @@
+{ lib
+, fetchurl
+, stdenv
+, callPackages
+, runCommand
+}:
+
+let
+  inherit (builtins) match elemAt toJSON removeAttrs;
+  inherit (lib) importJSON mapAttrs;
+
+  matchGitHubReference = match "github(.com)?:.+";
+  getName = package: package.name or "unknown";
+  getVersion = package: package.version or "0.0.0";
+
+  # Fetch a module from package-lock.json -> packages
+  fetchModule =
+    { module
+    , npmRoot ? null
+    }: (
+      if module ? "resolved" then
+        (
+          let
+            # Parse scheme from URL
+            mUrl = match "(.+)://(.+)" module.resolved;
+            scheme = elemAt mUrl 0;
+          in
+          (
+            if mUrl == null then
+              (
+                assert npmRoot != null; {
+                  outPath = npmRoot + "/${module.resolved}";
+                }
+              )
+            else if (scheme == "http" || scheme == "https") then
+              (
+                fetchurl {
+                  url = module.resolved;
+                  hash = module.integrity;
+                }
+              )
+            else if lib.hasPrefix "git" module.resolved then
+              (
+                builtins.fetchGit {
+                  url = module.resolved;
+                }
+              )
+            else throw "Unsupported URL scheme: ${scheme}"
+          )
+        )
+      else null
+    );
+
+  # Manage node_modules outside of the store with hooks
+  hooks = callPackages ./hooks { };
+
+in
+{
+  importNpmLock =
+    { npmRoot ? null
+    , package ? importJSON (npmRoot + "/package.json")
+    , packageLock ? importJSON (npmRoot + "/package-lock.json")
+    , pname ? getName package
+    , version ? getVersion package
+    }:
+    let
+      mapLockDependencies =
+        mapAttrs
+          (name: version: (
+            # Substitute the constraint with the version of the dependency from the top-level of package-lock.
+            if (
+              # if the version is `latest`
+              version == "latest"
+              ||
+              # Or if it's a github reference
+              matchGitHubReference version != null
+            ) then packageLock'.packages.${"node_modules/${name}"}.version
+            # But not a regular version constraint
+            else version
+          ));
+
+      packageLock' = packageLock // {
+        packages =
+          mapAttrs
+            (_: module:
+              let
+                src = fetchModule {
+                  inherit module npmRoot;
+                };
+              in
+              (removeAttrs module [
+                "link"
+                "funding"
+              ]) // lib.optionalAttrs (src != null) {
+                resolved = "file:${src}";
+              } // lib.optionalAttrs (module ? dependencies) {
+                dependencies = mapLockDependencies module.dependencies;
+              } // lib.optionalAttrs (module ? optionalDependencies) {
+                optionalDependencies = mapLockDependencies module.optionalDependencies;
+              })
+            packageLock.packages;
+      };
+
+      mapPackageDependencies = mapAttrs (name: _: packageLock'.packages.${"node_modules/${name}"}.resolved);
+
+      # Substitute dependency references in package.json with Nix store paths
+      packageJSON' = package // lib.optionalAttrs (package ? dependencies) {
+        dependencies = mapPackageDependencies package.dependencies;
+      } // lib.optionalAttrs (package ? devDependencies) {
+        devDependencies = mapPackageDependencies package.devDependencies;
+      };
+
+      pname = package.name or "unknown";
+
+    in
+    runCommand "${pname}-${version}-sources"
+      {
+        inherit pname version;
+
+        passAsFile = [ "package" "packageLock" ];
+
+        package = toJSON packageJSON';
+        packageLock = toJSON packageLock';
+      } ''
+      mkdir $out
+      cp "$packagePath" $out/package.json
+      cp "$packageLockPath" $out/package-lock.json
+    '';
+
+  inherit hooks;
+  inherit (hooks) npmConfigHook;
+
+  __functor = self: self.importNpmLock;
+}
diff --git a/pkgs/build-support/node/import-npm-lock/hooks/canonicalize-symlinks.js b/pkgs/build-support/node/import-npm-lock/hooks/canonicalize-symlinks.js
new file mode 100644
index 0000000000000..81cd2593c5b21
--- /dev/null
+++ b/pkgs/build-support/node/import-npm-lock/hooks/canonicalize-symlinks.js
@@ -0,0 +1,52 @@
+#!/usr/bin/env node
+const fs = require("fs");
+const path = require("path");
+
+// When installing files rewritten to the Nix store with npm
+// npm writes the symlinks relative to the build directory.
+//
+// This makes relocating node_modules tricky when refering to the store.
+// This script walks node_modules and canonicalizes symlinks.
+
+async function canonicalize(storePrefix, root) {
+  console.log(storePrefix, root)
+  const entries = await fs.promises.readdir(root);
+  const paths = entries.map((entry) => path.join(root, entry));
+
+  const stats = await Promise.all(
+    paths.map(async (path) => {
+      return {
+        path: path,
+        stat: await fs.promises.lstat(path),
+      };
+    })
+  );
+
+  const symlinks = stats.filter((stat) => stat.stat.isSymbolicLink());
+  const dirs = stats.filter((stat) => stat.stat.isDirectory());
+
+  // Canonicalize symlinks to their real path
+  await Promise.all(
+    symlinks.map(async (stat) => {
+      const target = await fs.promises.realpath(stat.path);
+      if (target.startsWith(storePrefix)) {
+        await fs.promises.unlink(stat.path);
+        await fs.promises.symlink(target, stat.path);
+      }
+    })
+  );
+
+  // Recurse into directories
+  await Promise.all(dirs.map((dir) => canonicalize(storePrefix, dir.path)));
+}
+
+async function main() {
+  const args = process.argv.slice(2);
+  const storePrefix = args[0];
+
+  if (fs.existsSync("node_modules")) {
+    await canonicalize(storePrefix, "node_modules");
+  }
+}
+
+main();
diff --git a/pkgs/build-support/node/import-npm-lock/hooks/default.nix b/pkgs/build-support/node/import-npm-lock/hooks/default.nix
new file mode 100644
index 0000000000000..5990371def912
--- /dev/null
+++ b/pkgs/build-support/node/import-npm-lock/hooks/default.nix
@@ -0,0 +1,13 @@
+{ callPackage, lib, makeSetupHook, srcOnly, nodejs }:
+{
+  npmConfigHook = makeSetupHook
+    {
+      name = "npm-config-hook";
+      substitutions = {
+        nodeSrc = srcOnly nodejs;
+        nodeGyp = "${nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js";
+        canonicalizeSymlinksScript = ./canonicalize-symlinks.js;
+        storePrefix = builtins.storeDir;
+      };
+    } ./npm-config-hook.sh;
+}
diff --git a/pkgs/build-support/node/import-npm-lock/hooks/npm-config-hook.sh b/pkgs/build-support/node/import-npm-lock/hooks/npm-config-hook.sh
new file mode 100644
index 0000000000000..35c3a2061d4b1
--- /dev/null
+++ b/pkgs/build-support/node/import-npm-lock/hooks/npm-config-hook.sh
@@ -0,0 +1,70 @@
+# shellcheck shell=bash
+
+npmConfigHook() {
+    echo "Executing npmConfigHook"
+
+    if [ -n "${npmRoot-}" ]; then
+      pushd "$npmRoot"
+    fi
+
+    if [ -z "${npmDeps-}" ]; then
+        echo "Error: 'npmDeps' should be set when using npmConfigHook."
+        exit 1
+    fi
+
+    echo "Configuring npm"
+
+    export HOME="$TMPDIR"
+    export npm_config_nodedir="@nodeSrc@"
+    export npm_config_node_gyp="@nodeGyp@"
+    npm config set offline true
+    npm config set progress false
+    npm config set fund false
+
+    echo "Installing patched package.json/package-lock.json"
+
+    # Save original package.json/package-lock.json for closure size reductions.
+    # The patched one contains store paths we don't want at runtime.
+    mv package.json .package.json.orig
+    if test -f package-lock.json; then # Not all packages have package-lock.json.
+        mv package-lock.json .package-lock.json.orig
+    fi
+    cp --no-preserve=mode "${npmDeps}/package.json" package.json
+    cp --no-preserve=mode "${npmDeps}/package-lock.json" package-lock.json
+
+    echo "Installing dependencies"
+
+    if ! npm install --ignore-scripts $npmInstallFlags "${npmInstallFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}"; then
+        echo
+        echo "ERROR: npm failed to install dependencies"
+        echo
+        echo "Here are a few things you can try, depending on the error:"
+        echo '1. Set `npmFlags = [ "--legacy-peer-deps" ]`'
+        echo
+
+        exit 1
+    fi
+
+    patchShebangs node_modules
+
+    npm rebuild $npmRebuildFlags "${npmRebuildFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}"
+
+    patchShebangs node_modules
+
+    # Canonicalize symlinks from relative paths to the Nix store.
+    node @canonicalizeSymlinksScript@ @storePrefix@
+
+    # Revert to pre-patched package.json/package-lock.json for closure size reductions
+    mv .package.json.orig package.json
+    if test -f ".package-lock.json.orig"; then
+        mv .package-lock.json.orig package-lock.json
+    fi
+
+    if [ -n "${npmRoot-}" ]; then
+      popd
+    fi
+
+    echo "Finished npmConfigHook"
+}
+
+postConfigureHooks+=(npmConfigHook)
diff --git a/pkgs/build-support/rust/rustc-wrapper/default.nix b/pkgs/build-support/rust/rustc-wrapper/default.nix
index d6034c08af47d..0defa63550293 100644
--- a/pkgs/build-support/rust/rustc-wrapper/default.nix
+++ b/pkgs/build-support/rust/rustc-wrapper/default.nix
@@ -6,8 +6,27 @@ runCommand "${rustc-unwrapped.pname}-wrapper-${rustc-unwrapped.version}" {
   inherit (rustc-unwrapped) outputs;
 
   env = {
-    prog = "${rustc-unwrapped}/bin/rustc";
     sysroot = lib.optionalString (sysroot != null) "--sysroot ${sysroot}";
+
+    # Upstream rustc still assumes that musl = static[1].  The fix for
+    # this is to disable crt-static by default for non-static musl
+    # targets.
+    #
+    # Even though Cargo will build build.rs files for the build platform,
+    # cross-compiling _from_ musl appears to work fine, so we only need
+    # to do this when rustc's target platform is dynamically linked musl.
+    #
+    # [1]: https://github.com/rust-lang/compiler-team/issues/422
+    #
+    # WARNING: using defaultArgs is dangerous, as it will apply to all
+    # targets used by this compiler (host and target).  This means
+    # that it can't be used to set arguments that should only be
+    # applied to the target.  It's fine to do this for -crt-static,
+    # because rustc does not support +crt-static host platforms
+    # anyway.
+    defaultArgs = lib.optionalString
+      (with rustc-unwrapped.stdenv.targetPlatform; isMusl && !isStatic)
+      "-C target-feature=-crt-static";
   };
 
   passthru = {
@@ -22,9 +41,12 @@ runCommand "${rustc-unwrapped.pname}-wrapper-${rustc-unwrapped.version}" {
 } ''
   mkdir -p $out/bin
   ln -s ${rustc-unwrapped}/bin/* $out/bin
-  rm $out/bin/rustc
-  substituteAll ${./rustc-wrapper.sh} $out/bin/rustc
-  chmod +x $out/bin/rustc
+  rm $out/bin/{rustc,rustdoc}
+  prog=${rustc-unwrapped}/bin/rustc extraFlagsVar=NIX_RUSTFLAGS \
+      substituteAll ${./rustc-wrapper.sh} $out/bin/rustc
+  prog=${rustc-unwrapped}/bin/rustdoc extraFlagsVar=NIX_RUSTDOCFLAGS \
+      substituteAll ${./rustc-wrapper.sh} $out/bin/rustdoc
+  chmod +x $out/bin/{rustc,rustdoc}
   ${lib.concatMapStrings (output: "ln -s ${rustc-unwrapped.${output}} \$${output}\n")
     (lib.remove "out" rustc-unwrapped.outputs)}
 ''
diff --git a/pkgs/build-support/rust/rustc-wrapper/rustc-wrapper.sh b/pkgs/build-support/rust/rustc-wrapper/rustc-wrapper.sh
index 4a90e30652fea..e33cc3e2a0258 100644
--- a/pkgs/build-support/rust/rustc-wrapper/rustc-wrapper.sh
+++ b/pkgs/build-support/rust/rustc-wrapper/rustc-wrapper.sh
@@ -13,8 +13,8 @@ for arg; do
     esac
 done
 
-extraBefore=("${defaultSysroot[@]}")
-extraAfter=($NIX_RUSTFLAGS)
+extraBefore=(@defaultArgs@ "${defaultSysroot[@]}")
+extraAfter=($@extraFlagsVar@)
 
 # Optionally print debug info.
 if (( "${NIX_DEBUG:-0}" >= 1 )); then
diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix
index 9a80ef6751f2a..c0fa05e30c167 100644
--- a/pkgs/by-name/as/ast-grep/package.nix
+++ b/pkgs/by-name/as/ast-grep/package.nix
@@ -2,6 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , stdenv
+, installShellFiles
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -22,11 +23,20 @@ rustPlatform.buildRustPackage rec {
     NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
   };
 
+  nativeBuildInputs = [ installShellFiles ];
+
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
     rm .cargo/config.toml
   '';
 
+  postInstall = ''
+    installShellCompletion --cmd sg \
+      --bash <($out/bin/sg completions bash) \
+      --fish <($out/bin/sg completions fish) \
+      --zsh <($out/bin/sg completions zsh)
+  '';
+
   checkFlags = [
     # disable flaky test
     "--skip=test::test_load_parser_mac"
diff --git a/pkgs/by-name/au/audiness/package.nix b/pkgs/by-name/au/audiness/package.nix
index 28ab75b6dd790..1909d5411e624 100644
--- a/pkgs/by-name/au/audiness/package.nix
+++ b/pkgs/by-name/au/audiness/package.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "audiness";
-  version = "0.3.0";
+  version = "0.3.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "audiusGmbH";
     repo = "audiness";
     rev = "refs/tags/${version}";
-    hash = "sha256-PkzYsfEhwrMoB+a2eJMmt/PRCbjASQRm38reA8PP4aI=";
+    hash = "sha256-r+xWwXRKuTp5ifUUlF1K6BIVWh67hNLMBKBB7wnLLAM=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/games/lgames/barrage/default.nix b/pkgs/by-name/ba/barrage/package.nix
index 822ec04f1d45f..a606d4f3dfdf9 100644
--- a/pkgs/games/lgames/barrage/default.nix
+++ b/pkgs/by-name/ba/barrage/package.nix
@@ -1,16 +1,16 @@
 { lib
-, stdenv
-, fetchurl
 , SDL
 , SDL_mixer
+, fetchurl
+, stdenv
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "barrage";
   version = "1.0.7";
 
   src = fetchurl {
-    url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
+    url = "mirror://sourceforge/lgames/barrage-${finalAttrs.version}.tar.gz";
     hash = "sha256-cGYrG7A4Ffh51KyR+UpeWu7A40eqxI8g4LefBIs18kg=";
   };
 
@@ -21,12 +21,13 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://lgames.sourceforge.io/Barrage/";
     description = "A destructive action game";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
+    license = with lib.licenses; [ gpl2Plus ];
+    mainProgram = "barrage";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
     inherit (SDL.meta) platforms;
     broken = stdenv.isDarwin;
   };
-}
+})
diff --git a/pkgs/by-name/bi/bitwarden-cli/package.nix b/pkgs/by-name/bi/bitwarden-cli/package.nix
index 68abb6385319d..287d8e1a0e0a0 100644
--- a/pkgs/by-name/bi/bitwarden-cli/package.nix
+++ b/pkgs/by-name/bi/bitwarden-cli/package.nix
@@ -10,18 +10,18 @@
 
 buildNpmPackage rec {
   pname = "bitwarden-cli";
-  version = "2024.2.0";
+  version = "2024.2.1";
 
   src = fetchFromGitHub {
     owner = "bitwarden";
     repo = "clients";
     rev = "cli-v${version}";
-    hash = "sha256-nCjcwe+7Riml/J0hAVv/t6/oHIDPhwFD5A3iQ/LNR5Y=";
+    hash = "sha256-g9enDEIdVj9R3xkx5qllf7aTDa6F+MvozhwbJn9w/VY=";
   };
 
   nodejs = nodejs_18;
 
-  npmDepsHash = "sha256-GJl9pVwFWEg9yku9IXLcu2XMJZz+ZoQOxCf1TrW715Y=";
+  npmDepsHash = "sha256-fkoI8a8iVMWxtXAj5zNg2xwK/ZPyRZGPo7rnxHpKV7k=";
 
   nativeBuildInputs = [
     python3
diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix
index b87c84fe7f67a..f23f333a79da9 100644
--- a/pkgs/by-name/bl/bluez/package.nix
+++ b/pkgs/by-name/bl/bluez/package.nix
@@ -113,7 +113,6 @@ stdenv.mkDerivation (finalAttrs: {
     pythonPath = with python3.pkgs; [
       dbus-python
       pygobject3
-      recursive-pth-loader
     ];
   in
   ''
diff --git a/pkgs/by-name/bo/bochs/package.nix b/pkgs/by-name/bo/bochs/package.nix
index 803d6ae2852e3..eb3c51430b540 100644
--- a/pkgs/by-name/bo/bochs/package.nix
+++ b/pkgs/by-name/bo/bochs/package.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bochs";
-  version = "2.7";
+  version = "2.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/bochs/bochs/${finalAttrs.version}/bochs-${finalAttrs.version}.tar.gz";
-    hash = "sha256-oBCrG/3HKsWgjS4kEs1HHA/r1mrx2TSbwNeWh53lsXo=";
+    hash = "sha256-qFsTr/fYQR96nzVrpsM7X13B+7EH61AYzCOmJjnaAFk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/by-name/bo/boehmgc/package.nix
index 6da88ee8258fb..4402b3af57bf7 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/by-name/bo/boehmgc/package.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   passthru.tests = nixVersions;
 
-  meta = with lib; {
+  meta = {
     homepage = "https://hboehm.info/gc/";
     description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
     longDescription = ''
@@ -76,10 +76,9 @@ stdenv.mkDerivation (finalAttrs: {
       Alternatively, the garbage collector may be used as a leak detector for
       C or C++ programs, though that is not its primary goal.
     '';
-    # non-copyleft, X11-style license
     changelog = "https://github.com/ivmai/bdwgc/blob/v${finalAttrs.version}/ChangeLog";
-    license = "https://hboehm.info/gc/license.txt";
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = "https://hboehm.info/gc/license.txt"; # non-copyleft, X11-style license
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/cl/clash-meta/package.nix b/pkgs/by-name/cl/clash-meta/package.nix
index 5ebb461a595bc..552a8729e861d 100644
--- a/pkgs/by-name/cl/clash-meta/package.nix
+++ b/pkgs/by-name/cl/clash-meta/package.nix
@@ -1,45 +1,13 @@
-{ lib
-, fetchFromGitHub
-, buildGoModule
-}:
+{ mihomo }:
 
-buildGoModule rec {
+mihomo.overrideAttrs (finalAttrs: previousAttrs: {
   pname = "clash-meta";
-  version = "1.18.1";
-
-  src = fetchFromGitHub {
-    owner = "MetaCubeX";
-    repo = "mihomo";
-    rev = "v${version}";
-    hash = "sha256-ezOkDrpytZQdc+Txe4eUyuWY6oipn9jIrmu7aO8lNlQ=";
-  };
-
-  vendorHash = "sha256-tvPR5kAta4MlMTwjfxwVOacRr2nVpfalbN08mfxml64=";
-
-  excludedPackages = [ "./test" ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/metacubex/mihomo/constant.Version=${version}"
-  ];
-
-  tags = [
-    "with_gvisor"
-  ];
-
-  # network required
-  doCheck = false;
 
   postInstall = ''
-    mv $out/bin/mihomo $out/bin/clash-meta
+    mv $out/bin/${previousAttrs.meta.mainProgram} $out/bin/${finalAttrs.meta.mainProgram}
   '';
 
-  meta = with lib; {
-    description = "A rule-based tunnel in Go. Present named mihomo";
-    homepage = "https://github.com/MetaCubeX/mihomo";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ oluceps ];
+  meta = previousAttrs.meta // {
     mainProgram = "clash-meta";
   };
-}
+})
diff --git a/pkgs/by-name/cl/clash-nyanpasu/package.nix b/pkgs/by-name/cl/clash-nyanpasu/package.nix
new file mode 100644
index 0000000000000..90da8892b094c
--- /dev/null
+++ b/pkgs/by-name/cl/clash-nyanpasu/package.nix
@@ -0,0 +1,23 @@
+{ lib
+, clash-verge
+, mihomo
+, fetchurl
+}:
+
+(clash-verge.override {
+  clash-meta = mihomo;
+}).overrideAttrs (old: rec {
+  pname = "clash-nyanpasu";
+  version = "1.4.5";
+
+  src = fetchurl {
+    url = "https://github.com/keiko233/clash-nyanpasu/releases/download/v${version}/clash-nyanpasu_${version}_amd64.deb";
+    hash = "sha256-cxaq7Rndf0ytEaqc7CGQix5SOAdsTOoTj1Jlhjr5wEA=";
+  };
+
+  meta = old.meta // (with lib; {
+    homepage = "https://github.com/keiko233/clash-nyanpasu";
+    maintainers = with maintainers; [ Guanran928 ];
+    mainProgram = "clash-nyanpasu";
+  });
+})
diff --git a/pkgs/by-name/cl/clash-verge-rev/package.nix b/pkgs/by-name/cl/clash-verge-rev/package.nix
new file mode 100644
index 0000000000000..d415428e72993
--- /dev/null
+++ b/pkgs/by-name/cl/clash-verge-rev/package.nix
@@ -0,0 +1,19 @@
+{ lib
+, clash-verge
+, fetchurl
+}:
+
+clash-verge.overrideAttrs (old: rec {
+  pname = "clash-verge-rev";
+  version = "1.5.4";
+
+  src = fetchurl {
+    url = "https://github.com/clash-verge-rev/clash-verge-rev/releases/download/v${version}/clash-verge_${version}_amd64.deb";
+    hash = "sha256-UJYLfefgUASBmh0gyNmjsWdAadluKhwaXZL1wlVlbjU=";
+  };
+
+  meta = old.meta // (with lib; {
+    homepage = "https://github.com/clash-verge-rev/clash-verge-rev";
+    maintainers = with maintainers; [ Guanran928 ];
+  });
+})
diff --git a/pkgs/applications/networking/clash-verge/default.nix b/pkgs/by-name/cl/clash-verge/package.nix
index f83583283d4f2..cd3597c513cf1 100644
--- a/pkgs/applications/networking/clash-verge/default.nix
+++ b/pkgs/by-name/cl/clash-verge/package.nix
@@ -42,13 +42,13 @@ stdenv.mkDerivation rec {
 
     mkdir -p $out/bin
     mv usr/* $out
-    rm $out/bin/{clash,clash-meta}
 
     runHook postInstall
   '';
 
   postFixup = ''
-    ln -s ${lib.getExe clash-meta} $out/bin/clash-meta
+    rm -f $out/bin/clash
+    ln -sf ${lib.getExe clash-meta} $out/bin/${clash-meta.meta.mainProgram}
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/cm/cmake/package.nix b/pkgs/by-name/cm/cmake/package.nix
index c75d095fdff09..a9b29a3245d5d 100644
--- a/pkgs/by-name/cm/cmake/package.nix
+++ b/pkgs/by-name/cm/cmake/package.nix
@@ -29,6 +29,7 @@
 , buildDocs ? !(isMinimalBuild || (uiToolkits == []))
 , darwin
 , libsForQt5
+, gitUpdater
 }:
 
 let
@@ -46,11 +47,11 @@ stdenv.mkDerivation (finalAttrs: {
     + lib.optionalString isMinimalBuild "-minimal"
     + lib.optionalString cursesUI "-cursesUI"
     + lib.optionalString qt5UI "-qt5UI";
-  version = "3.28.2";
+  version = "3.28.3";
 
   src = fetchurl {
     url = "https://cmake.org/files/v${lib.versions.majorMinor finalAttrs.version}/cmake-${finalAttrs.version}.tar.gz";
-    hash = "sha256-FGb4ctwcIm83PPj7pCMO0hao8Qi9VLR3tczf2eotEko=";
+    hash = "sha256-crdXDlyFk95qxKtDO3PqsYxfsyiIBGDIbOMmCBQa1cE=";
   };
 
   patches = [
@@ -177,6 +178,12 @@ stdenv.mkDerivation (finalAttrs: {
 
   doCheck = false; # fails
 
+  passthru.updateScript = gitUpdater {
+    url = "https://gitlab.kitware.com/cmake/cmake.git";
+    rev-prefix = "v";
+    ignoredVersions = "-"; # -rc1 and friends
+  };
+
   meta = {
     homepage = "https://cmake.org/";
     description = "Cross-platform, open-source build system generator";
diff --git a/pkgs/by-name/co/convco/package.nix b/pkgs/by-name/co/convco/package.nix
index 5a2319139e69d..314c5593bcba9 100644
--- a/pkgs/by-name/co/convco/package.nix
+++ b/pkgs/by-name/co/convco/package.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "convco";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "convco";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-x01fkicoAH8NaJJqIF5jjbZ53TitnXBCdKEbr8xVCyE=";
+    hash = "sha256-b05RO6x5hnxG6gepRTK4CDlnLqMdp8hl4KL+InzBH70=";
   };
 
-  cargoHash = "sha256-j2xuaAkycWp5sCAmVJLYfqH1ZGxIGU/a/97WpGyQcvU=";
+  cargoHash = "sha256-pdnH/9Tda6PXf70W76mg5vVE2rzOI+M61UR+HMtgXC0=";
 
   nativeBuildInputs = [ cmake pkg-config ];
 
diff --git a/pkgs/by-name/co/cosmic-applibrary/Cargo.lock b/pkgs/by-name/co/cosmic-applibrary/Cargo.lock
index aac1e5fa77363..a481c9a5d9436 100644
--- a/pkgs/by-name/co/cosmic-applibrary/Cargo.lock
+++ b/pkgs/by-name/co/cosmic-applibrary/Cargo.lock
@@ -4,28 +4,31 @@ version = 3
 
 [[package]]
 name = "accesskit"
-version = "0.11.0"
-source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0"
+version = "0.12.2"
+source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#5f9b61c8264000d001499c902562422e13efa7a8"
 
 [[package]]
 name = "accesskit_consumer"
-version = "0.15.0"
-source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0"
+version = "0.17.0"
+source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#5f9b61c8264000d001499c902562422e13efa7a8"
 dependencies = [
  "accesskit",
 ]
 
 [[package]]
 name = "accesskit_unix"
-version = "0.4.0"
-source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0"
+version = "0.7.1"
+source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#5f9b61c8264000d001499c902562422e13efa7a8"
 dependencies = [
  "accesskit",
  "accesskit_consumer",
- "async-channel 1.9.0",
+ "async-channel",
+ "async-executor",
+ "async-task",
  "atspi",
  "futures-lite 1.13.0",
- "log",
+ "futures-util",
+ "once_cell",
  "serde",
  "zbus",
 ]
@@ -47,17 +50,6 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.7.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
-
-[[package]]
-name = "ahash"
 version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
@@ -106,9 +98,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.5"
+version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -120,9 +112,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
@@ -208,9 +200,9 @@ dependencies = [
 
 [[package]]
 name = "ashpd"
-version = "0.6.7"
+version = "0.6.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c018490e423efb6f032ef575f873ea57b61d44bec763cfe027b8e8852a027cf"
+checksum = "4ac22eda5891cc086690cb6fa10121c0390de0e3b04eb269f2d766b00d3f2d81"
 dependencies = [
  "enumflags2",
  "futures-channel",
@@ -239,24 +231,13 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
-dependencies = [
- "concurrent-queue",
- "event-listener 2.5.3",
- "futures-core",
-]
-
-[[package]]
-name = "async-channel"
-version = "2.1.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 4.0.2",
- "event-listener-strategy",
+ "event-listener 5.0.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
  "pin-project-lite",
 ]
@@ -267,11 +248,11 @@ version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock 3.2.0",
+ "async-lock 3.3.0",
  "async-task",
  "concurrent-queue",
  "fastrand 2.0.1",
- "futures-lite 2.1.0",
+ "futures-lite 2.2.0",
  "slab",
 ]
 
@@ -309,18 +290,18 @@ dependencies = [
 
 [[package]]
 name = "async-io"
-version = "2.2.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
 dependencies = [
- "async-lock 3.2.0",
+ "async-lock 3.3.0",
  "cfg-if",
  "concurrent-queue",
  "futures-io",
- "futures-lite 2.1.0",
+ "futures-lite 2.2.0",
  "parking",
- "polling 3.3.1",
- "rustix 0.38.28",
+ "polling 3.4.0",
+ "rustix 0.38.31",
  "slab",
  "tracing",
  "windows-sys 0.52.0",
@@ -337,12 +318,12 @@ dependencies = [
 
 [[package]]
 name = "async-lock"
-version = "3.2.0"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
- "event-listener 4.0.2",
- "event-listener-strategy",
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
  "pin-project-lite",
 ]
 
@@ -359,7 +340,7 @@ dependencies = [
  "cfg-if",
  "event-listener 3.1.0",
  "futures-lite 1.13.0",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "windows-sys 0.48.0",
 ]
 
@@ -371,7 +352,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -380,13 +361,13 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io 2.2.2",
+ "async-io 2.3.1",
  "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
  "futures-core",
  "futures-io",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -394,9 +375,9 @@ dependencies = [
 
 [[package]]
 name = "async-task"
-version = "4.6.0"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1d90cd0b264dfdd8eb5bad0a2c217c1f88fa96a8573f40e7b12de23fb468f46"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
@@ -406,7 +387,19 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "atk-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
 ]
 
 [[package]]
@@ -420,36 +413,57 @@ name = "atomicwrites"
 version = "0.4.2"
 source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768"
 dependencies = [
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "tempfile",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "atspi"
-version = "0.10.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "674e7a3376837b2e7d12d34d58ac47073c491dc3bf6f71a7adaf687d4d817faa"
+checksum = "6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca"
+dependencies = [
+ "atspi-common",
+ "atspi-connection",
+ "atspi-proxies",
+]
+
+[[package]]
+name = "atspi-common"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5"
 dependencies = [
- "async-recursion",
- "async-trait",
- "atspi-macros",
  "enumflags2",
- "futures-lite 1.13.0",
  "serde",
- "tracing",
+ "static_assertions",
  "zbus",
  "zbus_names",
+ "zvariant",
 ]
 
 [[package]]
-name = "atspi-macros"
-version = "0.2.0"
+name = "atspi-connection"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fb4870a32c0eaa17e35bca0e6b16020635157121fb7d45593d242c295bc768"
+checksum = "a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939"
 dependencies = [
- "quote",
- "syn 1.0.109",
+ "atspi-common",
+ "atspi-proxies",
+ "futures-lite 1.13.0",
+ "zbus",
+]
+
+[[package]]
+name = "atspi-proxies"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52"
+dependencies = [
+ "atspi-common",
+ "serde",
+ "zbus",
 ]
 
 [[package]]
@@ -475,9 +489,9 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "bit-set"
@@ -508,9 +522,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 dependencies = [
  "serde",
 ]
@@ -536,12 +550,12 @@ version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
- "async-channel 2.1.1",
- "async-lock 3.2.0",
+ "async-channel",
+ "async-lock 3.3.0",
  "async-task",
  "fastrand 2.0.1",
  "futures-io",
- "futures-lite 2.1.0",
+ "futures-lite 2.2.0",
  "piper",
  "tracing",
 ]
@@ -554,9 +568,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 dependencies = [
  "bytemuck_derive",
 ]
@@ -569,7 +583,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -585,15 +599,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
+name = "cairo-sys-rs"
+version = "0.18.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+dependencies = [
+ "libc",
+ "system-deps",
+]
+
+[[package]]
 name = "calloop"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b50b5a44d59a98c55a9eeb518f39bf7499ba19fd98ee7d22618687f3f10adbf"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "log",
- "polling 3.3.1",
- "rustix 0.38.28",
+ "polling 3.4.0",
+ "rustix 0.38.31",
  "slab",
  "thiserror",
 ]
@@ -605,9 +629,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
 dependencies = [
  "calloop",
- "rustix 0.38.28",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "rustix 0.38.31",
+ "wayland-backend 0.3.3",
+ "wayland-client 0.31.2",
 ]
 
 [[package]]
@@ -620,6 +644,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "cfg-expr"
+version = "0.15.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
+dependencies = [
+ "smallvec",
+ "target-lexicon",
+]
+
+[[package]]
 name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -632,10 +666,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
+name = "cfg_aliases"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
+
+[[package]]
 name = "clap"
-version = "4.4.12"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d"
+checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -643,33 +683,33 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.12"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9"
+checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
 dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim",
+ "strsim 0.11.0",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.4.7"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "cocoa"
@@ -724,10 +764,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
-name = "com-rs"
-version = "0.2.1"
+name = "com"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6"
+dependencies = [
+ "com_macros",
+]
+
+[[package]]
+name = "com_macros"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642"
+checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5"
+dependencies = [
+ "com_macros_support",
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "com_macros_support"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
 
 [[package]]
 name = "concurrent-queue"
@@ -739,6 +804,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "const-random"
+version = "0.1.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a"
+dependencies = [
+ "const-random-macro",
+]
+
+[[package]]
+name = "const-random-macro"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "tiny-keccak",
+]
+
+[[package]]
 name = "core-foundation"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -802,6 +887,7 @@ dependencies = [
  "rust-embed",
  "serde",
  "shlex",
+ "switcheroo-control",
  "tokio",
  "url",
  "xdg",
@@ -811,17 +897,17 @@ dependencies = [
 [[package]]
 name = "cosmic-client-toolkit"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/cosmic-protocols?rev=c1b6516#c1b651630c2b71cd8dfd2eb4ab47ede9dbd63840"
+source = "git+https://github.com/pop-os/cosmic-protocols?rev=e65fa5e#e65fa5e2bb47e51656221657049bd3f88ae9dae5"
 dependencies = [
  "cosmic-protocols",
  "smithay-client-toolkit 0.18.0",
- "wayland-client 0.31.1",
+ "wayland-client 0.31.2",
 ]
 
 [[package]]
 name = "cosmic-config"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "atomicwrites",
  "cosmic-config-derive",
@@ -829,17 +915,19 @@ dependencies = [
  "dirs 5.0.1",
  "futures-util",
  "iced_futures",
+ "known-folders",
  "notify",
  "once_cell",
  "ron",
  "serde",
+ "xdg",
  "zbus",
 ]
 
 [[package]]
 name = "cosmic-config-derive"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "quote",
  "syn 1.0.109",
@@ -848,13 +936,13 @@ dependencies = [
 [[package]]
 name = "cosmic-protocols"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/cosmic-protocols?rev=c1b6516#c1b651630c2b71cd8dfd2eb4ab47ede9dbd63840"
+source = "git+https://github.com/pop-os/cosmic-protocols?rev=e65fa5e#e65fa5e2bb47e51656221657049bd3f88ae9dae5"
 dependencies = [
- "bitflags 2.4.1",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
- "wayland-protocols 0.31.0",
- "wayland-scanner 0.31.0",
+ "bitflags 2.4.2",
+ "wayland-backend 0.3.3",
+ "wayland-client 0.31.2",
+ "wayland-protocols 0.31.2",
+ "wayland-scanner 0.31.1",
  "wayland-server",
 ]
 
@@ -868,10 +956,10 @@ dependencies = [
 
 [[package]]
 name = "cosmic-text"
-version = "0.10.0"
-source = "git+https://github.com/pop-os/cosmic-text.git?branch=refactor#6abf336e6df08771d80232b2d6853269be34ee28"
+version = "0.11.1"
+source = "git+https://github.com/pop-os/cosmic-text.git#cb447ea8c6717d558994575b93a00baa549d01f8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "fontdb",
  "libm",
  "log",
@@ -881,6 +969,7 @@ dependencies = [
  "self_cell 1.0.3",
  "swash",
  "sys-locale",
+ "ttf-parser",
  "unicode-bidi",
  "unicode-linebreak",
  "unicode-script",
@@ -890,7 +979,7 @@ dependencies = [
 [[package]]
 name = "cosmic-theme"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "almost",
  "cosmic-config",
@@ -903,9 +992,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -921,44 +1010,37 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.10"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2"
+checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.17"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.18"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -999,7 +1081,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
 dependencies = [
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1022,20 +1104,19 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
 
 [[package]]
 name = "d3d12"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20"
+version = "0.19.0"
+source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libloading 0.8.1",
  "winapi",
 ]
 
 [[package]]
 name = "darling"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -1043,27 +1124,27 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.46",
+ "strsim 0.10.0",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1073,7 +1154,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if",
- "hashbrown 0.14.3",
+ "hashbrown",
  "lock_api",
  "once_cell",
  "parking_lot_core 0.9.9",
@@ -1105,7 +1186,7 @@ dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1129,15 +1210,6 @@ dependencies = [
 
 [[package]]
 name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys 0.3.7",
-]
-
-[[package]]
-name = "dirs"
 version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
@@ -1169,6 +1241,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "dispatch"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
+
+[[package]]
 name = "displaydoc"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1176,7 +1254,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1190,9 +1268,12 @@ dependencies = [
 
 [[package]]
 name = "dlv-list"
-version = "0.3.0"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257"
+checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f"
+dependencies = [
+ "const-random",
+]
 
 [[package]]
 name = "downcast-rs"
@@ -1202,25 +1283,25 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
 name = "drm"
-version = "0.10.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fb1b703ffbc7ebd216eba7900008049a56ace55580ecb2ee7fa801e8d8be87"
+checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "bytemuck",
  "drm-ffi",
  "drm-fourcc",
- "nix 0.27.1",
+ "rustix 0.38.31",
 ]
 
 [[package]]
 name = "drm-ffi"
-version = "0.6.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba7d1c19c4b6270e89d59fb27dc6d02a317c658a8a54e54781e1db9b5947595d"
+checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
 dependencies = [
  "drm-sys",
- "nix 0.27.1",
+ "rustix 0.38.31",
 ]
 
 [[package]]
@@ -1231,9 +1312,13 @@ checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
 
 [[package]]
 name = "drm-sys"
-version = "0.5.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a4f1c0468062a56cd5705f1e3b5409eb286d5596a2028ec8e947595d7e715ae"
+checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
+dependencies = [
+ "libc",
+ "linux-raw-sys 0.6.4",
+]
 
 [[package]]
 name = "either"
@@ -1270,14 +1355,14 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -1340,9 +1425,20 @@ dependencies = [
 
 [[package]]
 name = "event-listener"
-version = "4.0.2"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "218a870470cce1469024e9fb66b901aa983929d81304a1cdb299f28118e550d5"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1355,18 +1451,28 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "event-listener 4.0.2",
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+dependencies = [
+ "event-listener 5.0.0",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "exr"
-version = "1.6.4"
+version = "1.72.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "279d3efcc55e19917fff7ab3ddd6c14afb6a90881a0078465196fe2f99d08c56"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
 dependencies = [
  "bit_field",
- "flume 0.10.14",
+ "flume",
  "half",
  "lebe",
  "miniz_oxide",
@@ -1398,9 +1504,9 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
@@ -1497,26 +1603,10 @@ dependencies = [
 
 [[package]]
 name = "flume"
-version = "0.10.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
-dependencies = [
- "futures-core",
- "futures-sink",
- "nanorand",
- "pin-project",
- "spin",
-]
-
-[[package]]
-name = "flume"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
- "futures-core",
- "futures-sink",
- "nanorand",
  "spin",
 ]
 
@@ -1527,23 +1617,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
+name = "font-types"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bd7f3ea17572640b606b35df42cfb6ecdf003704b062580e59918692190b73d"
+
+[[package]]
 name = "fontconfig-parser"
-version = "0.5.3"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4"
+checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d"
 dependencies = [
- "roxmltree 0.18.1",
+ "roxmltree",
 ]
 
 [[package]]
 name = "fontdb"
-version = "0.16.0"
+version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98b88c54a38407f7352dd2c4238830115a6377741098ffd1f997c813d0e088a6"
+checksum = "3890d0893c8253d3eb98337af18b3e1a10a9b2958f2a164b53a93fb3a3049e72"
 dependencies = [
  "fontconfig-parser",
  "log",
- "memmap2 0.9.3",
+ "memmap2 0.9.4",
  "slotmap",
  "tinyvec",
  "ttf-parser",
@@ -1567,7 +1663,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1610,11 +1706,11 @@ dependencies = [
 
 [[package]]
 name = "freedesktop-icons"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9d46a9ae065c46efb83854bb10315de6d333bb6f4526ebe320c004dab7857e"
+checksum = "b5339cbd60b2ff6b95ef212ab96bc80bf1a9dff2821b9966c417cdfae2808796"
 dependencies = [
- "dirs 4.0.0",
+ "dirs 5.0.1",
  "once_cell",
  "rust-ini",
  "thiserror",
@@ -1696,9 +1792,9 @@ dependencies = [
 
 [[package]]
 name = "futures-lite"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
 dependencies = [
  "fastrand 2.0.1",
  "futures-core",
@@ -1715,7 +1811,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1749,6 +1845,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "gdk-pixbuf-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
+dependencies = [
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "gdk-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "pango-sys",
+ "pkg-config",
+ "system-deps",
+]
+
+[[package]]
 name = "generic-array"
 version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1760,25 +1886,23 @@ dependencies = [
 
 [[package]]
 name = "gethostname"
-version = "0.3.0"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
 dependencies = [
  "libc",
- "winapi",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
- "js-sys",
  "libc",
  "wasi",
- "wasm-bindgen",
 ]
 
 [[package]]
@@ -1818,6 +1942,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
+name = "gio-sys"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+ "winapi",
+]
+
+[[package]]
 name = "gl_generator"
 version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1835,6 +1972,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945"
 
 [[package]]
+name = "glib-sys"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+dependencies = [
+ "libc",
+ "system-deps",
+]
+
+[[package]]
 name = "glob"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1842,9 +1989,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "glow"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "886c2a30b160c4c6fec8f987430c26b526b7988ca71f664e6a699ddf6f9601e4"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -1863,8 +2010,8 @@ dependencies = [
 
 [[package]]
 name = "glyphon"
-version = "0.3.0"
-source = "git+https://github.com/jackpot51/glyphon.git?branch=refactor#c28dc99c86b6b598633e6623096b21632f266976"
+version = "0.5.0"
+source = "git+https://github.com/pop-os/glyphon.git?tag=v0.5.0#1b0646ff8f74da92d3be704dfc2257d7f4d7eed8"
 dependencies = [
  "cosmic-text",
  "etagere",
@@ -1873,12 +2020,23 @@ dependencies = [
 ]
 
 [[package]]
+name = "gobject-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
 name = "gpu-alloc"
 version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "gpu-alloc-types",
 ]
 
@@ -1888,16 +2046,15 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
 name = "gpu-allocator"
-version = "0.23.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40fe17c8a05d60c38c0a4e5a3c802f2f1ceb66b76c67d96ffb34bef0475a7fad"
+checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884"
 dependencies = [
- "backtrace",
  "log",
  "presser",
  "thiserror",
@@ -1911,9 +2068,9 @@ version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "gpu-descriptor-types",
- "hashbrown 0.14.3",
+ "hashbrown",
 ]
 
 [[package]]
@@ -1922,7 +2079,7 @@ version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
@@ -1932,6 +2089,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1df00eed8d1f0db937f6be10e46e8072b0671accb504cf0f959c5c52c679f5b9"
 
 [[package]]
+name = "gtk-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722"
+dependencies = [
+ "atk-sys",
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gdk-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
 name = "guillotiere"
 version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1953,33 +2128,24 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.7",
-]
-
-[[package]]
-name = "hashbrown"
 version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash 0.8.7",
+ "ahash",
  "allocator-api2",
 ]
 
 [[package]]
 name = "hassle-rs"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0"
+checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890"
 dependencies = [
- "bitflags 1.3.2",
- "com-rs",
+ "bitflags 2.4.2",
+ "com",
  "libc",
- "libloading 0.7.4",
+ "libloading 0.8.1",
  "thiserror",
  "widestring",
  "winapi",
@@ -1993,9 +2159,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
 
 [[package]]
 name = "hex"
@@ -2025,7 +2191,7 @@ dependencies = [
  "serde",
  "serde_derive",
  "thiserror",
- "toml 0.8.8",
+ "toml 0.8.10",
  "unic-langid",
 ]
 
@@ -2067,8 +2233,8 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.46",
+ "strsim 0.10.0",
+ "syn 2.0.48",
  "unic-langid",
 ]
 
@@ -2082,13 +2248,13 @@ dependencies = [
  "i18n-config",
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "iced"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "iced_accessibility",
  "iced_core",
@@ -2103,7 +2269,7 @@ dependencies = [
 [[package]]
 name = "iced_accessibility"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "accesskit",
  "accesskit_unix",
@@ -2112,25 +2278,26 @@ dependencies = [
 [[package]]
 name = "iced_core"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "bitflags 1.3.2",
  "iced_accessibility",
- "instant",
  "log",
  "num-traits",
  "palette",
- "raw-window-handle",
+ "raw-window-handle 0.6.0",
  "serde",
  "smithay-client-toolkit 0.18.0",
+ "smol_str",
  "thiserror",
+ "web-time",
  "xxhash-rust",
 ]
 
 [[package]]
 name = "iced_futures"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "futures",
  "iced_core",
@@ -2143,7 +2310,7 @@ dependencies = [
 [[package]]
 name = "iced_graphics"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
@@ -2151,12 +2318,13 @@ dependencies = [
  "glam",
  "half",
  "iced_core",
+ "iced_futures",
  "image",
  "kamadak-exif",
  "log",
  "lyon_path",
  "once_cell",
- "raw-window-handle",
+ "raw-window-handle 0.6.0",
  "rustc-hash",
  "thiserror",
  "unicode-segmentation",
@@ -2166,20 +2334,19 @@ dependencies = [
 [[package]]
 name = "iced_renderer"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "iced_graphics",
  "iced_tiny_skia",
  "iced_wgpu",
  "log",
- "raw-window-handle",
  "thiserror",
 ]
 
 [[package]]
 name = "iced_runtime"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "iced_accessibility",
  "iced_core",
@@ -2191,7 +2358,7 @@ dependencies = [
 [[package]]
 name = "iced_sctk"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "enum-repr",
  "float-cmp",
@@ -2200,22 +2367,24 @@ dependencies = [
  "iced_graphics",
  "iced_runtime",
  "iced_style",
- "itertools 0.10.5",
+ "itertools 0.12.1",
  "lazy_static",
- "raw-window-handle",
+ "raw-window-handle 0.6.0",
  "smithay-client-toolkit 0.18.0",
  "smithay-clipboard",
  "thiserror",
  "tracing",
- "wayland-backend 0.3.2",
- "wayland-protocols 0.31.0",
+ "wayland-backend 0.3.3",
+ "wayland-protocols 0.31.2",
+ "xkbcommon",
+ "xkbcommon-dl",
  "xkeysym",
 ]
 
 [[package]]
 name = "iced_style"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "iced_core",
  "once_cell",
@@ -2225,14 +2394,13 @@ dependencies = [
 [[package]]
 name = "iced_tiny_skia"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "bytemuck",
  "cosmic-text",
  "iced_graphics",
  "kurbo",
  "log",
- "raw-window-handle",
  "resvg",
  "rustc-hash",
  "softbuffer",
@@ -2243,7 +2411,7 @@ dependencies = [
 [[package]]
 name = "iced_wgpu"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
@@ -2255,7 +2423,6 @@ dependencies = [
  "log",
  "lyon",
  "once_cell",
- "raw-window-handle",
  "resvg",
  "wgpu",
 ]
@@ -2263,7 +2430,7 @@ dependencies = [
 [[package]]
 name = "iced_widget"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "iced_renderer",
  "iced_runtime",
@@ -2293,9 +2460,9 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
  "bytemuck",
  "byteorder",
@@ -2303,7 +2470,6 @@ dependencies = [
  "exr",
  "gif",
  "jpeg-decoder",
- "num-rational",
  "num-traits",
  "png",
  "qoi",
@@ -2318,12 +2484,12 @@ checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284"
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.3",
+ "hashbrown",
 ]
 
 [[package]]
@@ -2393,47 +2559,47 @@ checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c"
 
 [[package]]
 name = "is-terminal"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
+checksum = "fe8f25ce1159c7740ff0b9b2f5cdf4a8428742ba7c112b9f20f22cd5219c7dab"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.28",
+ "libc",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "itertools"
-version = "0.10.5"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itertools"
-version = "0.11.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 dependencies = [
  "rayon",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.66"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2465,6 +2631,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
 
 [[package]]
+name = "known-folders"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4397c789f2709d23cfcb703b316e0766a8d4b17db2d47b0ab096ef6047cae1d8"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "kqueue"
 version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2507,14 +2682,14 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 
 [[package]]
 name = "libc"
-version = "0.2.151"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libcosmic"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic/#481cd5a0cdb86661417918bebe8ca2029bc752ab"
+source = "git+https://github.com/pop-os/libcosmic/#5738ac20559ff3c327fd9bcf3bcf323281a4c504"
 dependencies = [
  "apply",
  "ashpd",
@@ -2525,6 +2700,7 @@ dependencies = [
  "css-color",
  "derive_setters",
  "fraction",
+ "freedesktop-desktop-entry",
  "freedesktop-icons",
  "iced",
  "iced_core",
@@ -2534,11 +2710,15 @@ dependencies = [
  "iced_sctk",
  "iced_style",
  "iced_tiny_skia",
+ "iced_wgpu",
  "iced_widget",
  "lazy_static",
+ "nix 0.27.1",
  "palette",
+ "rfd",
  "ron",
  "serde",
+ "shlex",
  "slotmap",
  "taffy",
  "thiserror",
@@ -2581,7 +2761,7 @@ version = "0.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libc",
  "redox_syscall 0.4.1",
 ]
@@ -2594,9 +2774,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
 
 [[package]]
 name = "locale_config"
@@ -2629,11 +2815,11 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "lru"
-version = "0.11.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21"
+checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22"
 dependencies = [
- "hashbrown 0.14.3",
+ "hashbrown",
 ]
 
 [[package]]
@@ -2723,9 +2909,9 @@ dependencies = [
 
 [[package]]
 name = "memmap2"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
  "libc",
 ]
@@ -2763,7 +2949,7 @@ version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "block",
  "core-graphics-types",
  "foreign-types",
@@ -2774,9 +2960,9 @@ dependencies = [
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
  "simd-adler32",
@@ -2802,12 +2988,12 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b"
 
 [[package]]
 name = "naga"
-version = "0.14.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e"
+version = "0.19.0"
+source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109"
 dependencies = [
+ "arrayvec",
  "bit-set",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "codespan-reporting",
  "hexf-parse",
  "indexmap",
@@ -2821,15 +3007,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "nanorand"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
 name = "nix"
 version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2860,7 +3037,7 @@ version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cfg-if",
  "libc",
 ]
@@ -2871,7 +3048,7 @@ version = "6.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "crossbeam-channel",
  "filetime",
  "fsevent-sys",
@@ -2911,28 +3088,27 @@ dependencies = [
 
 [[package]]
 name = "num-complex"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
+checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6"
 dependencies = [
  "num-traits",
 ]
 
 [[package]]
 name = "num-integer"
-version = "0.1.45"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
  "num-traits",
 ]
 
 [[package]]
 name = "num-iter"
-version = "0.1.43"
+version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -2953,9 +3129,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
  "libm",
@@ -3033,12 +3209,12 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
 
 [[package]]
 name = "ordered-multimap"
-version = "0.4.3"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a"
+checksum = "a4d6a8c22fc714f0c2373e6091bf6f5e9b37b1bc0b1184874b7e0a4e303d318f"
 dependencies = [
  "dlv-list",
- "hashbrown 0.12.3",
+ "hashbrown",
 ]
 
 [[package]]
@@ -3072,14 +3248,14 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "palette"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2e2f34147767aa758aa649415b50a69eeb46a67f9dc7db8011eeb3d84b351dc"
+checksum = "3d38e6e5ca1612e2081cc31188f08c3cba630ce4ba44709a153f1a0f38d678f2"
 dependencies = [
  "approx",
  "fast-srgb8",
@@ -3090,13 +3266,25 @@ dependencies = [
 
 [[package]]
 name = "palette_derive"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a"
+checksum = "e05d1c929301fee6830dafa764341118829b2535c216b0571e3821ecac5c885b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "pango-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
 ]
 
 [[package]]
@@ -3195,7 +3383,7 @@ dependencies = [
  "phf_shared",
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3214,26 +3402,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
 
 [[package]]
-name = "pin-project"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.46",
-]
-
-[[package]]
 name = "pin-project-lite"
 version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3258,15 +3426,15 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "png"
-version = "0.17.10"
+version = "0.17.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -3293,14 +3461,14 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.3.1"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e"
+checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
  "pin-project-lite",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "tracing",
  "windows-sys 0.52.0",
 ]
@@ -3363,18 +3531,18 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.74"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "profiling"
-version = "1.0.13"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d135ede8821cf6376eb7a64148901e1690b788c11ae94dc297ae917dbc91dc0e"
+checksum = "0f0f7f43585c34e4fdd7497d746bc32e14458cf11c69341cc0587b1d825dde42"
 
 [[package]]
 name = "qoi"
@@ -3396,9 +3564,9 @@ dependencies = [
 
 [[package]]
 name = "quick-xml"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "memchr",
 ]
@@ -3450,9 +3618,9 @@ checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab"
 
 [[package]]
 name = "rangemap"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "977b1e897f9d764566891689e642653e5ed90c6895106acd005eb4c1d0203991"
+checksum = "795915a3930a5d6bafd9053d37602fea3e61be2e5d4d788983a8ba9654c1c6f2"
 
 [[package]]
 name = "raw-window-handle"
@@ -3461,10 +3629,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
+name = "raw-window-handle"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
+
+[[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -3472,9 +3646,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -3487,6 +3661,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
 
 [[package]]
+name = "read-fonts"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d70252c718fb23d41771a4f927e924700edefc2a91ecd52a2ee6f2461d4e6b64"
+dependencies = [
+ "font-types",
+]
+
+[[package]]
 name = "redox_syscall"
 version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3517,9 +3700,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3529,9 +3712,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3568,6 +3751,30 @@ dependencies = [
 ]
 
 [[package]]
+name = "rfd"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0d8ab342bcc5436e04d3a4c1e09e17d74958bfaddf8d5fad6f85607df0f994f"
+dependencies = [
+ "ashpd",
+ "block",
+ "dispatch",
+ "glib-sys",
+ "gobject-sys",
+ "gtk-sys",
+ "js-sys",
+ "log",
+ "objc",
+ "objc-foundation",
+ "objc_id",
+ "raw-window-handle 0.5.2",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "rgb"
 version = "0.8.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3583,22 +3790,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
 dependencies = [
  "base64",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "serde",
  "serde_derive",
 ]
 
 [[package]]
 name = "roxmltree"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302"
-dependencies = [
- "xmlparser",
-]
-
-[[package]]
-name = "roxmltree"
 version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
@@ -3623,7 +3821,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rust-embed-utils",
- "syn 2.0.46",
+ "syn 2.0.48",
  "walkdir",
 ]
 
@@ -3639,9 +3837,9 @@ dependencies = [
 
 [[package]]
 name = "rust-ini"
-version = "0.18.0"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df"
+checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a"
 dependencies = [
  "cfg-if",
  "ordered-multimap",
@@ -3675,14 +3873,14 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.28"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "errno",
  "libc",
- "linux-raw-sys 0.4.12",
+ "linux-raw-sys 0.4.13",
  "windows-sys 0.52.0",
 ]
 
@@ -3692,7 +3890,7 @@ version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "bytemuck",
  "libm",
  "smallvec",
@@ -3741,22 +3939,22 @@ checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
 
 [[package]]
 name = "serde"
-version = "1.0.194"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.194"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3767,7 +3965,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3803,9 +4001,9 @@ dependencies = [
 
 [[package]]
 name = "shlex"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
 name = "signal-hook-registry"
@@ -3857,9 +4055,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "smithay-client-toolkit"
@@ -3884,24 +4082,24 @@ name = "smithay-client-toolkit"
 version = "0.18.0"
 source = "git+https://github.com/smithay/client-toolkit?rev=2e9bf9f#2e9bf9f31698851ca373e5f1e7ba3e6e804e4db1"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "bytemuck",
  "calloop",
  "calloop-wayland-source",
  "cursor-icon",
  "libc",
  "log",
- "memmap2 0.9.3",
+ "memmap2 0.9.4",
  "pkg-config",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "thiserror",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "wayland-backend 0.3.3",
+ "wayland-client 0.31.2",
  "wayland-csd-frame",
- "wayland-cursor 0.31.0",
- "wayland-protocols 0.31.0",
+ "wayland-cursor 0.31.1",
+ "wayland-protocols 0.31.2",
  "wayland-protocols-wlr",
- "wayland-scanner 0.31.0",
+ "wayland-scanner 0.31.1",
  "xkbcommon",
  "xkeysym",
 ]
@@ -3917,6 +4115,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "smol_str"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "socket2"
 version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3938,12 +4145,12 @@ dependencies = [
 
 [[package]]
 name = "softbuffer"
-version = "0.3.3"
-source = "git+https://github.com/pop-os/softbuffer?tag=v0.3-cosmic#6f0371ccece51d124c6c5d37082189df0dc5f9ba"
+version = "0.4.1"
+source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#0bb85989353f0d17deb593dedb00ee4392a871e7"
 dependencies = [
  "as-raw-xcb-connection",
  "bytemuck",
- "cfg_aliases",
+ "cfg_aliases 0.2.0",
  "cocoa",
  "core-graphics",
  "drm",
@@ -3951,18 +4158,18 @@ dependencies = [
  "foreign-types",
  "js-sys",
  "log",
- "memmap2 0.9.3",
+ "memmap2 0.9.4",
  "objc",
- "raw-window-handle",
+ "raw-window-handle 0.6.0",
  "redox_syscall 0.4.1",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "tiny-xlib",
  "wasm-bindgen",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
+ "wayland-backend 0.3.3",
+ "wayland-client 0.31.2",
  "wayland-sys 0.31.1",
  "web-sys",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
  "x11rb",
 ]
 
@@ -3977,12 +4184,11 @@ dependencies = [
 
 [[package]]
 name = "spirv"
-version = "0.2.0+1.5.4"
+version = "0.3.0+sdk-1.3.268.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830"
+checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
 dependencies = [
- "bitflags 1.3.2",
- "num-traits",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
@@ -4007,6 +4213,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
 name = "svg_fmt"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4024,15 +4236,24 @@ dependencies = [
 
 [[package]]
 name = "swash"
-version = "0.1.8"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b7c73c813353c347272919aa1af2885068b05e625e5532b43049e4f641ae77f"
+checksum = "d06ff4664af8923625604261c645f5c4cc610cc83c84bec74b50d76237089de7"
 dependencies = [
+ "read-fonts",
  "yazi",
  "zeno",
 ]
 
 [[package]]
+name = "switcheroo-control"
+version = "0.1.0"
+source = "git+https://github.com/pop-os/dbus-settings-bindings#5dea929b730460f883935357a1a8fb9736f36f95"
+dependencies = [
+ "zbus",
+]
+
+[[package]]
 name = "syn"
 version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4045,9 +4266,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.46"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4064,6 +4285,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "system-deps"
+version = "6.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+dependencies = [
+ "cfg-expr",
+ "heck",
+ "pkg-config",
+ "toml 0.8.10",
+ "version-compare",
+]
+
+[[package]]
 name = "taffy"
 version = "0.3.11"
 source = "git+https://github.com/DioxusLabs/taffy?rev=7781c70#7781c70241f7f572130c13106f2a869a9cf80885"
@@ -4075,6 +4309,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "target-lexicon"
+version = "0.12.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+
+[[package]]
 name = "temp-dir"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4082,22 +4322,21 @@ checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
 
 [[package]]
 name = "tempfile"
-version = "3.9.0"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
- "redox_syscall 0.4.1",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
@@ -4119,14 +4358,14 @@ checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tiff"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
  "flate2",
  "jpeg-decoder",
@@ -4134,10 +4373,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "tiny-keccak"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
+
+[[package]]
 name = "tiny-skia"
-version = "0.11.3"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
 dependencies = [
  "arrayref",
  "arrayvec",
@@ -4150,9 +4398,9 @@ dependencies = [
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.11.3"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
 dependencies = [
  "arrayref",
  "bytemuck",
@@ -4197,9 +4445,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.35.1"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes",
@@ -4224,14 +4472,14 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.8"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.21.0",
+ "toml_edit 0.22.4",
 ]
 
 [[package]]
@@ -4256,9 +4504,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.21.0"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
 dependencies = [
  "indexmap",
  "serde",
@@ -4286,7 +4534,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -4351,9 +4599,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-bidi-mirroring"
@@ -4390,9 +4638,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-properties"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7f91c8b21fbbaa18853c3d0801c78f4fc94cdb976699bb03e832e75f7fd22f0"
+checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
 
 [[package]]
 name = "unicode-script"
@@ -4402,9 +4650,9 @@ checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-vo"
@@ -4462,7 +4710,7 @@ dependencies = [
  "imagesize",
  "kurbo",
  "log",
- "roxmltree 0.19.0",
+ "roxmltree",
  "simplecss",
  "siphasher",
  "svgtypes",
@@ -4504,6 +4752,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
 name = "version_check"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4533,9 +4787,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4543,24 +4797,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.39"
+version = "0.4.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -4570,9 +4824,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4580,22 +4834,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "wasm-timer"
@@ -4629,13 +4883,13 @@ dependencies = [
 
 [[package]]
 name = "wayland-backend"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4"
+checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
 dependencies = [
  "cc",
  "downcast-rs",
- "nix 0.26.4",
+ "rustix 0.38.31",
  "scoped-tls",
  "smallvec",
  "wayland-sys 0.31.1",
@@ -4671,14 +4925,14 @@ dependencies = [
 
 [[package]]
 name = "wayland-client"
-version = "0.31.1"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3"
+checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
 dependencies = [
- "bitflags 2.4.1",
- "nix 0.26.4",
- "wayland-backend 0.3.2",
- "wayland-scanner 0.31.0",
+ "bitflags 2.4.2",
+ "rustix 0.38.31",
+ "wayland-backend 0.3.3",
+ "wayland-scanner 0.31.1",
 ]
 
 [[package]]
@@ -4699,9 +4953,9 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cursor-icon",
- "wayland-backend 0.3.2",
+ "wayland-backend 0.3.3",
 ]
 
 [[package]]
@@ -4717,12 +4971,12 @@ dependencies = [
 
 [[package]]
 name = "wayland-cursor"
-version = "0.31.0"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b"
+checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
 dependencies = [
- "nix 0.26.4",
- "wayland-client 0.31.1",
+ "rustix 0.38.31",
+ "wayland-client 0.31.2",
  "xcursor",
 ]
 
@@ -4752,14 +5006,14 @@ dependencies = [
 
 [[package]]
 name = "wayland-protocols"
-version = "0.31.0"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c"
+checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
 dependencies = [
- "bitflags 2.4.1",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
- "wayland-scanner 0.31.0",
+ "bitflags 2.4.2",
+ "wayland-backend 0.3.3",
+ "wayland-client 0.31.2",
+ "wayland-scanner 0.31.1",
  "wayland-server",
 ]
 
@@ -4769,11 +5023,11 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
 dependencies = [
- "bitflags 2.4.1",
- "wayland-backend 0.3.2",
- "wayland-client 0.31.1",
- "wayland-protocols 0.31.0",
- "wayland-scanner 0.31.0",
+ "bitflags 2.4.2",
+ "wayland-backend 0.3.3",
+ "wayland-client 0.31.2",
+ "wayland-protocols 0.31.2",
+ "wayland-scanner 0.31.1",
 ]
 
 [[package]]
@@ -4800,27 +5054,27 @@ dependencies = [
 
 [[package]]
 name = "wayland-scanner"
-version = "0.31.0"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
 dependencies = [
  "proc-macro2",
- "quick-xml 0.30.0",
+ "quick-xml 0.31.0",
  "quote",
 ]
 
 [[package]]
 name = "wayland-server"
-version = "0.31.0"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f3f0c52a445936ca1184c98f1a69cf4ad9c9130788884531ef04428468cb1ce"
+checksum = "00e6e4d5c285bc24ba4ed2d5a4bd4febd5fd904451f465973225c8e99772fdb7"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "downcast-rs",
  "io-lifetimes 2.0.3",
- "nix 0.26.4",
- "wayland-backend 0.3.2",
- "wayland-scanner 0.31.0",
+ "rustix 0.38.31",
+ "wayland-backend 0.3.3",
+ "wayland-scanner 0.31.1",
 ]
 
 [[package]]
@@ -4859,9 +5113,19 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4869,25 +5133,24 @@ dependencies = [
 
 [[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "wgpu"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e7d227c9f961f2061c26f4cb0fbd4df0ef37e056edd0931783599d6c94ef24"
+version = "0.19.0"
+source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109"
 dependencies = [
  "arrayvec",
  "cfg-if",
- "flume 0.11.0",
+ "cfg_aliases 0.1.1",
  "js-sys",
  "log",
  "naga",
  "parking_lot 0.12.1",
  "profiling",
- "raw-window-handle",
+ "raw-window-handle 0.6.0",
  "smallvec",
  "static_assertions",
  "wasm-bindgen",
@@ -4900,19 +5163,21 @@ dependencies = [
 
 [[package]]
 name = "wgpu-core"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef91c1d62d1e9e81c79e600131a258edf75c9531cbdbde09c44a011a47312726"
+version = "0.19.0"
+source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109"
 dependencies = [
  "arrayvec",
  "bit-vec",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
+ "cfg_aliases 0.1.1",
  "codespan-reporting",
+ "indexmap",
  "log",
  "naga",
+ "once_cell",
  "parking_lot 0.12.1",
  "profiling",
- "raw-window-handle",
+ "raw-window-handle 0.6.0",
  "rustc-hash",
  "smallvec",
  "thiserror",
@@ -4923,16 +5188,16 @@ dependencies = [
 
 [[package]]
 name = "wgpu-hal"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b84ecc802da3eb67b4cf3dd9ea6fe45bbb47ef13e6c49c5c3240868a9cc6cdd9"
+version = "0.19.0"
+source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109"
 dependencies = [
  "android_system_properties",
  "arrayvec",
  "ash",
  "bit-set",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "block",
+ "cfg_aliases 0.1.1",
  "core-graphics-types",
  "d3d12",
  "glow",
@@ -4953,7 +5218,7 @@ dependencies = [
  "parking_lot 0.12.1",
  "profiling",
  "range-alloc",
- "raw-window-handle",
+ "raw-window-handle 0.6.0",
  "renderdoc-sys",
  "rustc-hash",
  "smallvec",
@@ -4966,11 +5231,10 @@ dependencies = [
 
 [[package]]
 name = "wgpu-types"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd"
+version = "0.19.0"
+source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "js-sys",
  "web-sys",
 ]
@@ -5007,15 +5271,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "winapi-wsapoll"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5023,21 +5278,21 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
+checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
 dependencies = [
  "windows-core",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -5174,38 +5429,33 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "winnow"
-version = "0.5.32"
+version = "0.5.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8434aeec7b290e8da5c3f0d628cb0eac6cabcb31d14bb74f779a08109a5914d6"
+checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "x11rb"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
 dependencies = [
  "as-raw-xcb-connection",
  "gethostname",
  "libc",
- "libloading 0.7.4",
- "nix 0.26.4",
+ "libloading 0.8.1",
  "once_cell",
- "winapi",
- "winapi-wsapoll",
+ "rustix 0.38.31",
  "x11rb-protocol",
 ]
 
 [[package]]
 name = "x11rb-protocol"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc"
-dependencies = [
- "nix 0.26.4",
-]
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
 
 [[package]]
 name = "xcursor"
@@ -5221,11 +5471,11 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
 
 [[package]]
 name = "xdg-home"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
 dependencies = [
- "nix 0.26.4",
+ "libc",
  "winapi",
 ]
 
@@ -5241,6 +5491,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "xkbcommon-dl"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
+dependencies = [
+ "bitflags 2.4.2",
+ "dlib",
+ "log",
+ "once_cell",
+ "xkeysym",
+]
+
+[[package]]
 name = "xkeysym"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5256,12 +5519,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
 
 [[package]]
-name = "xmlparser"
-version = "0.13.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
-
-[[package]]
 name = "xmlwriter"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5281,9 +5538,9 @@ checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1"
 
 [[package]]
 name = "zbus"
-version = "3.14.1"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
+checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8"
 dependencies = [
  "async-broadcast",
  "async-executor",
@@ -5323,9 +5580,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.14.1"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
+checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -5369,7 +5626,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
diff --git a/pkgs/by-name/co/cosmic-applibrary/package.nix b/pkgs/by-name/co/cosmic-applibrary/package.nix
index 94b263ed2bd76..6402cd1d30bc6 100644
--- a/pkgs/by-name/co/cosmic-applibrary/package.nix
+++ b/pkgs/by-name/co/cosmic-applibrary/package.nix
@@ -8,36 +8,44 @@
 , libxkbcommon
 , wayland
 }:
-
 rustPlatform.buildRustPackage rec {
   pname = "cosmic-applibrary";
-  version = "unstable-2024-01-03";
+  version = "0-unstable-2024-02-09";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = pname;
-    rev = "889cb6078c05cdf3eb94f19f64db552fa2be32dc";
-    hash = "sha256-qLAFSHA7YdOWr7ZmLCkQ+aGWb2schANfgdD2BxsrvaE=";
+    rev = "e214e9867876c96b24568d8a45aaca2936269d9b";
+    hash = "sha256-fZxDRktiHHmj7X3e5VyJJMO081auOpSMSsBnJdhhtR8=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "accesskit-0.11.0" = "sha256-xVhe6adUb8VmwIKKjHxwCwOo5Y1p3Or3ylcJJdLDrrE=";
+      "accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
       "atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
-      "cosmic-config-0.1.0" = "sha256-WM08/jnB2kAf77FE+0xpBJcVGOHOCcUorifQ/5LXav0=";
-      "cosmic-client-toolkit-0.1.0" = "sha256-AEgvF7i/OWPdEMi8WUaAg99igBwE/AexhAXHxyeJMdc=";
-      "glyphon-0.3.0" = "sha256-JGkNIfj1HjOF8kGxqJPNq/JO+NhZD6XrZ4KmkXEP6Xc=";
+      "cosmic-config-0.1.0" = "sha256-ETNVJ4y7EraAlU9XEZGNNPdyWt1WIURr1dSH6hQ0Pos=";
+      "cosmic-client-toolkit-0.1.0" = "sha256-vj7Wm1uJ5ULvGNEwKznNhujCZQiuntsWMyKQbIVaO/Q=";
+      "cosmic-settings-daemon-0.1.0" = "sha256-z/dvRyc3Zc1fAQh2HKk6NI6QSDpNqarqslwszjU+0nc=";
+      "glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
       "smithay-client-toolkit-0.18.0" = "sha256-2WbDKlSGiyVmi7blNBr2Aih9FfF2dq/bny57hoA4BrE=";
-      "softbuffer-0.3.3" = "sha256-eKYFVr6C1+X6ulidHIu9SP591rJxStxwL9uMiqnXx4k=";
+      "softbuffer-0.4.1" = "sha256-CACVCnyFgefkpDlll6IeaPWB8a3gbF6BW8MnlkytV8o=";
+      "switcheroo-control-0.1.0" = "sha256-ztZ5HD1hEOvsUSn94ZbbJ6SY9Jbsm8iGHR70GuAnEaQ=";
       "taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
-      "cosmic-settings-daemon-0.1.0" = "sha256-z/dvRyc3Zc1fAQh2HKk6NI6QSDpNqarqslwszjU+0nc=";
-      "cosmic-text-0.10.0" = "sha256-C2FHJBESbiyL2BhLb6T+wI9EX+xCyp02Kk6cI46EfDs=";
+      "cosmic-text-0.11.1" = "sha256-lyBl0VAzcKBqLeCPrA28VW6O0MWXazJg1b11YuBR65U=";
+      "d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
     };
   };
 
-  nativeBuildInputs = [ just pkg-config makeBinaryWrapper ];
-  buildInputs = [ libxkbcommon wayland ];
+  nativeBuildInputs = [
+    just
+    pkg-config
+    makeBinaryWrapper
+  ];
+  buildInputs = [
+    libxkbcommon
+    wayland
+  ];
 
   dontUseJustBuild = true;
 
@@ -56,7 +64,7 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     wrapProgram $out/bin/cosmic-app-library \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [wayland]}"
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/dd/ddsmt/package.nix b/pkgs/by-name/dd/ddsmt/package.nix
new file mode 100644
index 0000000000000..4178246731426
--- /dev/null
+++ b/pkgs/by-name/dd/ddsmt/package.nix
@@ -0,0 +1,35 @@
+{ lib
+, python3Packages
+, fetchPypi
+}:
+
+let
+  version = "2.0.3";
+in
+python3Packages.buildPythonApplication {
+  pname = "ddsmt";
+  inherit version;
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit version;
+    pname = "ddSMT";
+    hash = "sha256-nmhEG4sUmgpgRUduVTtwDLGPJVKx+dEaPb+KjFRwV2Q=";
+  };
+
+  nativeBuildInputs = with python3Packages; [
+    setuptools
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    gprof2dot
+    progressbar
+  ];
+
+  meta = {
+    description = "A delta debugger for SMT benchmarks in SMT-LIB v2";
+    homepage = "https://ddsmt.readthedocs.io/";
+    license = with lib.licenses; [ gpl3Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/by-name/de/dep-scan/package.nix b/pkgs/by-name/de/dep-scan/package.nix
index 48ba5c4c51ae6..c68c7cf78dc43 100644
--- a/pkgs/by-name/de/dep-scan/package.nix
+++ b/pkgs/by-name/de/dep-scan/package.nix
@@ -5,19 +5,21 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dep-scan";
-  version = "5.0.2";
+  version = "5.2.11";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "owasp-dep-scan";
     repo = "dep-scan";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qiJyGBGxznNF4LNG9fbmjG7wX0odhrUO2LxOWABtLQA=";
+    hash = "sha256-BEvuCdQcr35jWe9r9KR4Uov1zNVxfPSnENNPgy4N+nc=";
   };
 
   postPatch = ''
     substituteInPlace pytest.ini \
       --replace " --cov-append --cov-report term --cov depscan" ""
+    substituteInPlace pyproject.toml \
+      --replace "oras==0.1.26" "oras~=0.1.26"
   '';
 
   nativeBuildInputs = with python3.pkgs; [
@@ -26,9 +28,11 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     appthreat-vulnerability-db
+    cvss
     defusedxml
     jinja2
     oras
+    packageurl-python
     pdfkit
     pygithub
     pyyaml
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/by-name/di/digikam/package.nix
index 8bc94f9c2b233..01659a65173e2 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/by-name/di/digikam/package.nix
@@ -1,25 +1,9 @@
-{ mkDerivation, config, lib, fetchpatch, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
+{ stdenv, config, lib, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
 
 # For `digitaglinktree`
 , perl, sqlite
 
-, qtbase
-, qtxmlpatterns
-, qtsvg
-, qtwebengine
-, qtnetworkauth
-
-, akonadi-contacts
-, kcalendarcore
-, kconfigwidgets
-, kcoreaddons
-, kdoctools
-, kfilemetadata
-, knotifications
-, knotifyconfig
-, ktextwidgets
-, kwidgetsaddons
-, kxmlgui
+, libsForQt5
 
 , bison
 , boost
@@ -32,17 +16,13 @@
 , lcms2
 , lensfun
 , libgphoto2
-, libkipi
-, libksane
 , liblqr1
-, libqtav
 , libusb1
-, marble
+, libheif
 , libGL
 , libGLU
 , opencv
 , pcre
-, threadweaver
 , x265
 , jasper
 
@@ -51,35 +31,29 @@
 , hugin
 , gnumake
 
-, breeze-icons
-, oxygen
-
 , cudaSupport ? config.cudaSupport
 , cudaPackages ? {}
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname   = "digikam";
-  version = "8.1.0";
+  version = "8.2.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/digiKam-${version}.tar.xz";
-    hash = "sha256-BQPANORF/0JPGKZxXAp6eb5KXgyCs+vEYaIc7DdFpbM=";
+    hash = "sha256-L3/LVZsSPtnsrlpa729FYO7l9JIG2dF0beyatsj7OL8=";
   };
 
-  # Fix build against exiv2 0.28.1
-  patches = [
-    (fetchpatch {
-      url = "https://invent.kde.org/graphics/digikam/-/commit/f5ea91a7f6c1926815ec68f3e0176d6c15b83051.patch";
-      hash = "sha256-5g2NaKKNKVfgW3dTO/IP/H/nZ0YAIOmdPAumy3NEaNg=";
-    })
-  ];
+  strictDeps = true;
+
+  depsBuildBuild = [ cmake ];
 
   nativeBuildInputs = [
     cmake
     doxygen
     extra-cmake-modules
-    kdoctools
+    libsForQt5.kdoctools
+    libsForQt5.wrapQtAppsHook
     wrapGAppsHook
   ] ++ lib.optionals cudaSupport (with cudaPackages; [
     cuda_nvcc
@@ -97,10 +71,8 @@ mkDerivation rec {
     lcms2
     lensfun
     libgphoto2
-    libkipi
-    libksane
+    libheif
     liblqr1
-    libqtav
     libusb1
     libGL
     libGLU
@@ -108,6 +80,10 @@ mkDerivation rec {
     pcre
     x265
     jasper
+  ] ++ (with libsForQt5; [
+    libkipi
+    libksane
+    libqtav
 
     qtbase
     qtxmlpatterns
@@ -130,7 +106,7 @@ mkDerivation rec {
     marble
     oxygen
     threadweaver
-  ] ++ lib.optionals cudaSupport (with cudaPackages; [
+  ]) ++ lib.optionals cudaSupport (with cudaPackages; [
     cuda_cudart
   ]);
 
@@ -140,7 +116,7 @@ mkDerivation rec {
     "-DENABLE_MEDIAPLAYER=1"
     "-DENABLE_QWEBENGINE=on"
     "-DENABLE_APPSTYLES=on"
-    "-DCMAKE_CXX_FLAGS=-I${libksane}/include/KF5" # fix `#include <ksane_version.h>`
+    "-DCMAKE_CXX_FLAGS=-I${libsForQt5.libksane}/include/KF5" # fix `#include <ksane_version.h>`
   ];
 
   dontWrapGApps = true;
@@ -148,7 +124,7 @@ mkDerivation rec {
   preFixup = ''
     qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
     qtWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]})
-    qtWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${qtbase.qtPluginPrefix}/${pname})
+    qtWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${libsForQt5.qtbase.qtPluginPrefix}/${pname})
     substituteInPlace $out/bin/digitaglinktree \
       --replace "/usr/bin/perl" "${perl}/bin/perl" \
       --replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"
diff --git a/pkgs/games/etlegacy/default.nix b/pkgs/by-name/et/etlegacy/package.nix
index befbbc5ed2914..5dcdc3765a444 100644
--- a/pkgs/games/etlegacy/default.nix
+++ b/pkgs/by-name/et/etlegacy/package.nix
@@ -15,7 +15,7 @@
 , libogg
 , libpng
 , libtheora
-, lua
+, lua5_4
 , minizip
 , openal
 , SDL2
@@ -23,7 +23,7 @@
 , zlib
 }:
 let
-  version = "2.81.1";
+  version = "2.82.0";
 
   fetchAsset = { asset, hash }: fetchurl {
     url = "https://mirror.etlegacy.com/etmain/${asset}";
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
     owner = "etlegacy";
     repo = "etlegacy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CGXtc51vaId/SHbD34ZeT0gPsrl7p2DEw/Kp+GBZIaA="; # 2.81.1
+    hash = "sha256-yNVVEa+3+Swm3hgwm9cSLV0K88E37TgVVjh1uUl8O2o=";
   };
 
   nativeBuildInputs = [
@@ -83,7 +83,7 @@ stdenv.mkDerivation {
     libogg
     libpng
     libtheora
-    lua
+    lua5_4
     minizip
     openal
     SDL2
diff --git a/pkgs/by-name/fa/fangfrisch/package.nix b/pkgs/by-name/fa/fangfrisch/package.nix
index 500794ff4c164..9ee1161338734 100644
--- a/pkgs/by-name/fa/fangfrisch/package.nix
+++ b/pkgs/by-name/fa/fangfrisch/package.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 }:
 let
-  version = "1.8.1";
+  version = "1.9.0";
 in
 python3.pkgs.buildPythonApplication {
   pname = "fangfrisch";
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication {
     owner = "rseichter";
     repo = "fangfrisch";
     rev = "refs/tags/${version}";
-    hash = "sha256-j5IUAMDXndLttQZQV3SZXdDka8bKDcwbotY2Nop3izc=";
+    hash = "sha256-B2fVXVYzrtWMh/WjgFBOqrq8Jt+jqudbtpY/w4rJG08=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/fi/files-cli/package.nix b/pkgs/by-name/fi/files-cli/package.nix
index 67919148083f0..22f5ed5fe60b4 100644
--- a/pkgs/by-name/fi/files-cli/package.nix
+++ b/pkgs/by-name/fi/files-cli/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "files-cli";
-  version = "2.12.40";
+  version = "2.12.41";
 
   src = fetchFromGitHub {
     repo = "files-cli";
     owner = "files-com";
     rev = "v${version}";
-    hash = "sha256-dtHmBpszacoKHOg5PXrIQ2oPPCk1zzhvxAWULzxm3C4=";
+    hash = "sha256-Z/lkVZln5MBh5ETtAK9ohkDQE2leObHeVlskvsvicPc=";
   };
 
-  vendorHash = "sha256-yaDc2o0vzgb0KDn3dGiXxPjEXyPNcCCQ+bEu/X1Cs3Q=";
+  vendorHash = "sha256-ZySp/JKFEIhWNjqSYpSvCQyJRqVmsXL8du/77XQcFMM=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/fl/flatter/package.nix b/pkgs/by-name/fl/flatter/package.nix
index 8f7cd7e657915..bd8d5605edaad 100644
--- a/pkgs/by-name/fl/flatter/package.nix
+++ b/pkgs/by-name/fl/flatter/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation {
   pname = "flatter";
-  version = "0-unstable-2023-08-10";
+  version = "0-unstable-2024-03-04";
 
   src = fetchFromGitHub {
     owner = "keeganryan";
     repo = "flatter";
-    rev = "500e31df6b7308e8101b2a4a9cc816bf8f483417";
-    hash = "sha256-STYx7cXvkcF+KqrG32pN16HWfEScc0zxkmOmfv43zIw=";
+    rev = "c2ed0ee94b6d281df7bcbce31ca275197ef9a562";
+    hash = "sha256-1Pjn0lANXaMOqlwwdOx6X/7jtAvfa2ZWa0nDfS3T5XU=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/graphics/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch b/pkgs/by-name/fr/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch
index 27e5fb81b8d07..27e5fb81b8d07 100644
--- a/pkgs/applications/graphics/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch
+++ b/pkgs/by-name/fr/freecad/0001-NIXOS-don-t-ignore-PYTHONPATH.patch
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/by-name/fr/freecad/package.nix
index 1ef114c9c4964..436d94bd0f985 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/by-name/fr/freecad/package.nix
@@ -1,14 +1,10 @@
 { lib
-, fmt
-, stdenv
-, fetchFromGitHub
 , cmake
-, doxygen
-, ninja
-, gitpython
-, boost
 , coin3d
+, doxygen
 , eigen
+, fetchFromGitHub
+, fmt
 , freecad  # for passthru.tests
 , gfortran
 , gts
@@ -17,38 +13,48 @@
 , libXmu
 , libf2c
 , libredwg
+, libsForQt5
 , libspnav
-, matplotlib
 , medfile
 , mpi
+, ninja
 , ode
 , opencascade-occt
-, pivy
 , pkg-config
-, ply
-, pycollada
-, pyside2
-, pyside2-tools
-, python
-, pyyaml
-, qtbase
-, qttools
-, qtwebengine
-, qtx11extras
-, qtxmlpatterns
+, python3Packages
 , runCommand  # for passthru.tests
-, scipy
-, shiboken2
-, soqt
 , spaceNavSupport ? stdenv.isLinux
+, stdenv
 , swig
 , vtk
-, wrapQtAppsHook
 , wrapGAppsHook
 , xercesc
 , zlib
 }:
 
+let
+  boost = python3Packages.boost;
+  inherit (libsForQt5)
+    qtbase
+    qttools
+    qtwebengine
+    qtx11extras
+    qtxmlpatterns
+    soqt
+    wrapQtAppsHook;
+  inherit (python3Packages)
+    gitpython
+    matplotlib
+    pivy
+    ply
+    pycollada
+    pyside2
+    pyside2-tools
+    python
+    pyyaml
+    scipy
+    shiboken2;
+in
 stdenv.mkDerivation (finalAttrs: {
   pname = "freecad";
   version = "0.21.2";
diff --git a/pkgs/by-name/fr/frequest/package.nix b/pkgs/by-name/fr/frequest/package.nix
new file mode 100644
index 0000000000000..cd157115ecfab
--- /dev/null
+++ b/pkgs/by-name/fr/frequest/package.nix
@@ -0,0 +1,60 @@
+{ lib, stdenv, fetchFromGitHub, qt5 }:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "frequest";
+  version = "1.2a";
+
+  srcs = [
+    (fetchFromGitHub {
+      owner = "fabiobento512";
+      name = "frequest";
+      repo = "FRequest";
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-fdn3MK5GWBOhJjpMtRaytO9EsVzz6KJknDhqWtAyXCc=";
+    })
+    # The application depends on hard-coded relative paths to ../CommonLibs and ../CommonUtils.
+    # See https://github.com/fabiobento512/FRequest/wiki/Building-FRequest for more info.
+    # Upstream provides no tags for these dependencies, use latest commit on their `master` branch.
+    # Changing the name of these srcs will break the build.
+    (fetchFromGitHub {
+      owner = "fabiobento512";
+      name = "CommonLibs";
+      repo = "CommonLibs";
+      rev = "d3906931bb06ddf4194ff711a59e1dcff80fa82f";
+      hash = "sha256-iLJJ95yJ+VjNPuk8fNEDvYBI0db0rcfJF12a9azGv1Y=";
+    })
+    (fetchFromGitHub {
+      owner = "fabiobento512";
+      name = "CommonUtils";
+      repo = "CommonUtils";
+      rev = "53970984f6538d78350be1b9426032bcb5bcf818";
+      hash = "sha256-nRv9DriSOuAiWhy+KkOVNEz5oSgNNNJZqk8sNwgbx8U=";
+    })
+  ];
+  sourceRoot = "frequest";
+
+  buildInputs = [
+    qt5.qtbase
+  ];
+
+  nativeBuildInputs = [
+    qt5.wrapQtAppsHook
+    qt5.qmake
+  ];
+
+  # Without this, nothing gets installed in $out.
+  postInstall = ''
+    install -D FRequest $out/bin/FRequest
+    install -D LinuxAppImageDeployment/frequest.desktop $out/share/applications/frequest.desktop
+    install -D LinuxAppImageDeployment/frequest_icon.png $out/share/icons/hicolor/128x128/apps/frequest_icon.png
+  '';
+
+  meta = {
+    description = "A fast, lightweight and opensource desktop application to make HTTP(s) requests";
+    homepage = "https://fabiobento512.github.io/FRequest";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ eliandoran ];
+    platforms = lib.platforms.linux;
+    mainProgram = "frequest";
+  };
+})
diff --git a/pkgs/by-name/fr/fritz-exporter/console-script.patch b/pkgs/by-name/fr/fritz-exporter/console-script.patch
deleted file mode 100644
index e13e78f2d184a..0000000000000
--- a/pkgs/by-name/fr/fritz-exporter/console-script.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index ffad1a4..e7551da 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -44,6 +44,9 @@ coverage = ">=6.4.4,<8.0.0"
- pytest-cov = ">=3,<5"
- ruff = "^0.1.7"
- 
-+[tool.poetry.scripts]
-+fritzexporter = "fritzexporter.__main__:main"
-+
- [build-system]
- requires = ["poetry-core"]
- build-backend = "poetry.core.masonry.api"
diff --git a/pkgs/by-name/fr/fritz-exporter/package.nix b/pkgs/by-name/fr/fritz-exporter/package.nix
index 3306802b840f5..f9b779f0eec55 100644
--- a/pkgs/by-name/fr/fritz-exporter/package.nix
+++ b/pkgs/by-name/fr/fritz-exporter/package.nix
@@ -5,21 +5,16 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fritz-exporter";
-  version = "2.3.1";
+  version = "2.4.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "pdreker";
     repo = "fritz_exporter";
     rev = "fritzexporter-v${version}";
-    hash = "sha256-Dv/2Og1OJV7canZ8Y5Pai5gPRUvcRDYmSGoD2pnAkSs=";
+    hash = "sha256-2A8hw2XkdxkauG+lMlKfObEvLHUQk79xWmlp0hlrXYM=";
   };
 
-  patches = [
-    # https://github.com/pdreker/fritz_exporter/pull/282
-    ./console-script.patch
-  ];
-
   postPatch = ''
     # don't test coverage
     sed -i "/^addopts/d" pyproject.toml
@@ -31,6 +26,7 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     attrs
+    defusedxml
     fritzconnection
     prometheus-client
     pyyaml
diff --git a/pkgs/by-name/ga/gamja/package.nix b/pkgs/by-name/ga/gamja/package.nix
new file mode 100644
index 0000000000000..d72934038a8a8
--- /dev/null
+++ b/pkgs/by-name/ga/gamja/package.nix
@@ -0,0 +1,37 @@
+{
+  lib,
+  fetchFromSourcehut,
+  buildNpmPackage,
+  writeText,
+  # https://git.sr.ht/~emersion/gamja/tree/master/doc/config-file.md
+  gamjaConfig ? null,
+}:
+buildNpmPackage rec {
+  pname = "gamja";
+  version = "1.0.0-beta.9";
+
+  src = fetchFromSourcehut {
+    owner = "~emersion";
+    repo = "gamja";
+    rev = "v${version}";
+    hash = "sha256-09rCj9oMzldRrxMGH4rUnQ6wugfhfmJP3rHET5b+NC8=";
+  };
+
+  npmDepsHash = "sha256-LxShwZacCctKAfMNCUMyrSaI1hIVN80Wseq/d8WITkc=";
+
+  installPhase = ''
+    runHook preInstall
+
+    cp -r dist $out
+    ${lib.optionalString (gamjaConfig != null) "cp ${writeText "gamja-config" (builtins.toJSON gamjaConfig)} $out/config.json"}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A simple IRC web client";
+    homepage = "https://git.sr.ht/~emersion/gamja";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [motiejus apfelkuchen6];
+  };
+}
diff --git a/pkgs/by-name/gi/git-releaser/package.nix b/pkgs/by-name/gi/git-releaser/package.nix
index 8e88862bf02ec..d615430bc935e 100644
--- a/pkgs/by-name/gi/git-releaser/package.nix
+++ b/pkgs/by-name/gi/git-releaser/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "git-releaser";
-  version = "0.1.3";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "git-releaser";
     repo = "git-releaser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-27xUsqFuAu02jYLi3LiTnVjifqZIr39lPwMfJea7a4A=";
+    hash = "sha256-nKmHTqnpWoWMyXxsD/+pk+uSeqZSG18h2T6sJ/wEr/w=";
   };
 
-  vendorHash = "sha256-uKS7MwCak/CjnMjzFKqYypBVZFl+3hD1xVaOPvQV9E0=";
+  vendorHash = "sha256-RROA+nvdZnGfkUuB+ksUWGG16E8tqdyMQss2z/XWGd8=";
 
   ldflags = [ "-X main.version=${version}" ];
 
diff --git a/pkgs/by-name/gl/glide-media-player/package.nix b/pkgs/by-name/gl/glide-media-player/package.nix
index 62839033383c7..4ccb8197eca5d 100644
--- a/pkgs/by-name/gl/glide-media-player/package.nix
+++ b/pkgs/by-name/gl/glide-media-player/package.nix
@@ -14,7 +14,6 @@
 , gst_all_1
 , glib-networking
 , darwin
-, libsoup_3
 }:
 
 stdenv.mkDerivation rec {
@@ -69,12 +68,6 @@ stdenv.mkDerivation rec {
     darwin.apple_sdk_11_0.frameworks.IOKit
   ];
 
-  # FIXME: gst-plugins-good missing libsoup breaks streaming
-  # (https://github.com/nixos/nixpkgs/issues/271960)
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsoup_3 ]}")
-  '';
-
   meta = with lib; {
     description = "Linux/macOS media player based on GStreamer and GTK";
     homepage = "https://philn.github.io/glide";
diff --git a/pkgs/by-name/gm/gmetronome/package.nix b/pkgs/by-name/gm/gmetronome/package.nix
new file mode 100644
index 0000000000000..64d0c19a966c4
--- /dev/null
+++ b/pkgs/by-name/gm/gmetronome/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, pkg-config
+, autoreconfHook
+, wrapGAppsHook
+, gtkmm3
+, libpulseaudio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gmetronome";
+  version = "0.3.3";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "dqpb";
+    repo = "gmetronome";
+    rev = version;
+    hash = "sha256-ilFO1HwleWIQ51Bkzck1sm1Yu3ugqkvZrpxPOYzXydM=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    autoreconfHook
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtkmm3
+    libpulseaudio
+  ];
+
+  meta = with lib; {
+    description = "A free software metronome and tempo measurement tool";
+    homepage = "https://gitlab.gnome.org/dqpb/gmetronome";
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ aleksana ];
+    mainProgram = "gmetronome";
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/by-name/gm/gmic-qt/package.nix
index a67479e4ffd5f..abc2c4d0f037f 100644
--- a/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/pkgs/by-name/gm/gmic-qt/package.nix
@@ -1,10 +1,9 @@
 { lib
-, stdenv
-, fetchzip
 , cimg
 , cmake
 , coreutils
 , curl
+, fetchzip
 , fftw
 , gimp
 , gimpPlugins
@@ -14,14 +13,13 @@
 , graphicsmagick
 , libjpeg
 , libpng
+, libsForQt5
 , libtiff
 , ninja
 , nix-update
 , openexr
 , pkg-config
-, qtbase
-, qttools
-, wrapQtAppsHook
+, stdenv
 , writeShellScript
 , zlib
 , variant ? "standalone"
@@ -38,6 +36,7 @@ let
     };
 
     standalone = {
+      extraDeps = []; # Just to keep uniformity and avoid test-for-null
       description = "Versatile front-end to the image processing framework G'MIC";
     };
   };
@@ -49,42 +48,41 @@ assert lib.assertMsg
   "gmic-qt variant \"${variant}\" is not supported. Please use one of ${lib.concatStringsSep ", " (builtins.attrNames variants)}.";
 
 assert lib.assertMsg
-  (builtins.all (d: d != null) variants.${variant}.extraDeps or [])
+  (builtins.all (d: d != null) variants.${variant}.extraDeps)
   "gmic-qt variant \"${variant}\" is missing one of its dependencies.";
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}";
-  version = "3.3.3";
+  version = "3.3.4";
 
   src = fetchzip {
     url = "https://gmic.eu/files/source/gmic_${finalAttrs.version}.tar.gz";
-    hash = "sha256-LkWQ3fSHJSaXztX+soGZ+pl3MnXNgw6tV09356bAfYY=";
+    hash = "sha256-/Hh5yzH//i01kyeoqETokvsKUOcY2iZsiYJBEmgw1rU=";
   };
 
+  sourceRoot = "${finalAttrs.src.name}/gmic-qt";
+
   nativeBuildInputs = [
     cmake
-    pkg-config
+    libsForQt5.wrapQtAppsHook
     ninja
-    wrapQtAppsHook
+    pkg-config
   ];
 
   buildInputs = [
-    gmic
-    qtbase
-    qttools
+    curl
     fftw
-    zlib
+    gmic
+    graphicsmagick
     libjpeg
-    libtiff
     libpng
+    libtiff
     openexr
-    graphicsmagick
-    curl
-  ] ++ variants.${variant}.extraDeps or [];
-
-  preConfigure = ''
-    cd gmic-qt
-  '';
+    zlib
+  ] ++ (with libsForQt5; [
+    qtbase
+    qttools
+  ]) ++ variants.${variant}.extraDeps;
 
   postPatch = ''
     patchShebangs \
@@ -93,9 +91,9 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   cmakeFlags = [
-    (lib.cmakeFeature "GMIC_QT_HOST" (if variant == "standalone" then "none" else variant))
-    (lib.cmakeBool "ENABLE_SYSTEM_GMIC" true)
     (lib.cmakeBool "ENABLE_DYNAMIC_LINKING" true)
+    (lib.cmakeBool "ENABLE_SYSTEM_GMIC" true)
+    (lib.cmakeFeature "GMIC_QT_HOST" (if variant == "standalone" then "none" else variant))
   ];
 
   postFixup = lib.optionalString (variant == "gimp") ''
@@ -105,8 +103,8 @@ stdenv.mkDerivation (finalAttrs: {
 
   passthru = {
     tests = {
+      # They need to be update in lockstep.
       gimp-plugin = gimpPlugins.gmic;
-      # Needs to update them all in lockstep.
       inherit cimg gmic;
     };
 
@@ -134,10 +132,7 @@ stdenv.mkDerivation (finalAttrs: {
     inherit (variants.${variant}) description;
     license = lib.licenses.gpl3Plus;
     mainProgram = "gmic_qt";
-    maintainers = [
-      lib.maintainers.AndersonTorres
-      lib.maintainers.lilyinstarlight
-    ];
+    maintainers = with lib.maintainers; [ AndersonTorres lilyinstarlight ];
     platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/by-name/go/goldwarden/package.nix b/pkgs/by-name/go/goldwarden/package.nix
index b972ebe1bcc8d..35b18ab1e51c4 100644
--- a/pkgs/by-name/go/goldwarden/package.nix
+++ b/pkgs/by-name/go/goldwarden/package.nix
@@ -4,7 +4,7 @@
 , makeBinaryWrapper
 , libfido2
 , dbus
-, pinentry
+, pinentry-gnome3
 , nix-update-script
 }:
 
@@ -29,7 +29,7 @@ buildGoModule rec {
 
   postInstall = ''
     wrapProgram $out/bin/goldwarden \
-      --suffix PATH : ${lib.makeBinPath [dbus pinentry]}
+      --suffix PATH : ${lib.makeBinPath [dbus pinentry-gnome3]}
 
     install -Dm644 $src/resources/com.quexten.goldwarden.policy -t $out/share/polkit-1/actions
   '';
diff --git a/pkgs/by-name/ho/home-manager/package.nix b/pkgs/by-name/ho/home-manager/package.nix
index dce820175938d..8a534f72bf63a 100644
--- a/pkgs/by-name/ho/home-manager/package.nix
+++ b/pkgs/by-name/ho/home-manager/package.nix
@@ -16,14 +16,14 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "home-manager";
-  version = "0-unstable-2024-02-24";
+  version = "0-unstable-2024-03-06";
 
   src = fetchFromGitHub {
     name = "home-manager-source";
     owner = "nix-community";
     repo = "home-manager";
-    rev = "4ee704cb13a5a7645436f400b9acc89a67b9c08a";
-    hash = "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=";
+    rev = "cf111d1a849ddfc38e9155be029519b0e2329615";
+    hash = "sha256-+lM4J4JoJeiN8V+3WSWndPHj1pJ9Jc1UMikGbXLqCTk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/hu/hugo/package.nix b/pkgs/by-name/hu/hugo/package.nix
index 9033ad5c5bf5c..072f36a297599 100644
--- a/pkgs/by-name/hu/hugo/package.nix
+++ b/pkgs/by-name/hu/hugo/package.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.123.7";
+  version = "0.123.8";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = "hugo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uUE694xbu508vny/sbxndGlsFXnBz45fLhieuK4sX/c=";
+    hash = "sha256-sL/LiQwbn3nD2eDFNuAbDHRGemTiBhTfb5IaugYL9dM=";
   };
 
   vendorHash = "sha256-V7YRrC+6fOIjXOu7E0kIOZZt++4oFLPhmHeWmOVU3Xw=";
diff --git a/pkgs/by-name/hy/hyprlang/package.nix b/pkgs/by-name/hy/hyprlang/package.nix
index 6dc2c4fecbcc1..9a4c26583bde0 100644
--- a/pkgs/by-name/hy/hyprlang/package.nix
+++ b/pkgs/by-name/hy/hyprlang/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hyprlang";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "hyprwm";
     repo = "hyprlang";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-upV2PWOoQ5hKbeuMwiJ4RJUa1JDVqzxdr5LL7YJJ/f4=";
+    hash = "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=";
   };
 
   nativeBuildInputs = [
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     homepage = "https://github.com/hyprwm/hyprlang";
     description = "The official implementation library for the hypr config language";
-    license = licenses.gpl3Plus;
+    license = licenses.lgpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ iogamaster fufexan ];
   };
diff --git a/pkgs/by-name/ic/icewm/package.nix b/pkgs/by-name/ic/icewm/package.nix
index 9f64d08ca7710..66759cebed51f 100644
--- a/pkgs/by-name/ic/icewm/package.nix
+++ b/pkgs/by-name/ic/icewm/package.nix
@@ -41,13 +41,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "icewm";
-  version = "3.4.5";
+  version = "3.4.6";
 
   src = fetchFromGitHub {
     owner = "ice-wm";
     repo = "icewm";
     rev = finalAttrs.version;
-    hash = "sha256-Auuu+hRYVziAF3hXH7XSOyNlDehEKg6QmSJicY+XQLk=";
+    hash = "sha256-j4o4/Q+WWuVPZM/rij2miC7ApWrBNhzve2TAPEXIU20=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/in/incus/ui.nix b/pkgs/by-name/in/incus/ui.nix
index 2aefb2c640f9e..ebf052ed8782e 100644
--- a/pkgs/by-name/in/incus/ui.nix
+++ b/pkgs/by-name/in/incus/ui.nix
@@ -22,5 +22,11 @@ lxd.ui.overrideAttrs(prev: rec {
       echo "applying patch $p"
       git apply -p1 "$p"
     done
+    sed -i "s/LXD/Incus/g" src/*/*.ts* src/*/*/*.ts* src/*/*/*/*.ts*
+    sed -i "s/devlxd/guestapi/g" src/*/*.ts* src/*/*/*.ts* src/*/*/*/*.ts*
+    sed -i "s/dev\/lxd/dev\/incus/g" src/*/*.ts* src/*/*/*.ts* src/*/*/*/*.ts*
+    sed -i "s/lxd_/incus_/g" src/*/*.ts* src/*/*/*.ts* src/*/*/*/*.ts*
+    sed -i "s/\"lxd\"/\"incus\"/g" src/*/*.ts* src/*/*/*.ts* src/*/*/*/*.ts*
+
   '';
 })
diff --git a/pkgs/by-name/in/invidtui/package.nix b/pkgs/by-name/in/invidtui/package.nix
index 378280bf95f30..d141398a2f9d1 100644
--- a/pkgs/by-name/in/invidtui/package.nix
+++ b/pkgs/by-name/in/invidtui/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "invidtui";
-  version = "0.4.2";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "darkhz";
     repo = "invidtui";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/HsoV8HdMffD7dzRblSSBMv7kBPRpxUarM5WZoYVxvQ=";
+    hash = "sha256-nNJ2bjrHRIzcPs+jbZpgaHBxSWRzSRIsT6xx9EsbISg=";
   };
 
-  vendorHash = "sha256-T/muFaQQp/joOCehNZQc5CWmyGakoRaGAsO2mTOODJA=";
+  vendorHash = "sha256-C7O2GJuEdO8geRPfHx1Sq6ZveDE/u65JBx/Egh3cnK4=";
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/by-name/ju/just/package.nix
index 991da42784999..c613853ef3d91 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/by-name/ju/just/package.nix
@@ -11,17 +11,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "1.24.0";
+  version = "1.25.2";
   outputs = [ "out" "man" "doc" ];
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-S5L8efxYpsZn51JvNVeBmA1+KtzpdYcHj7OVaG4Sckc=";
+    hash = "sha256-w7tHLjIFnlvyuTw5yG6zxJtQ7oDNdKRXHIRKY638vTo=";
   };
 
-  cargoHash = "sha256-wlCG3evv5VxtlfznCZSTtorZYLMiH3Wr+t6ZMq+VqFk=";
+  cargoHash = "sha256-VL2uNbEtqOv3xmLukhdCmo3lrfx5yFwOAMGwgBlgAVw=";
 
   nativeBuildInputs = [ installShellFiles mdbook ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/tools/just/setup-hook.sh b/pkgs/by-name/ju/just/setup-hook.sh
index 0ffcfc187ebfa..0ffcfc187ebfa 100644
--- a/pkgs/development/tools/just/setup-hook.sh
+++ b/pkgs/by-name/ju/just/setup-hook.sh
diff --git a/pkgs/by-name/ka/kana/package.nix b/pkgs/by-name/ka/kana/package.nix
new file mode 100644
index 0000000000000..3fc7e8d3c2577
--- /dev/null
+++ b/pkgs/by-name/ka/kana/package.nix
@@ -0,0 +1,74 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, rustPlatform
+, meson
+, ninja
+, pkg-config
+, rustc
+, cargo
+, wrapGAppsHook4
+, desktop-file-utils
+, libadwaita
+, gst_all_1
+, darwin
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kana";
+  version = "1.4";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "fkinoshita";
+    repo = "Kana";
+    rev = "v${version}";
+    hash = "sha256-/Ri723ub8LMlhbPObC83bay63JuWIQpgxAT5UUYuwZI=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "kana-${version}";
+    hash = "sha256-Z7DpPe8/Tt8AcLjCwKbwzQTsLe6YvWBCG7DlDkkklew=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    rustPlatform.cargoSetupHook
+    rustc
+    cargo
+    wrapGAppsHook4
+    desktop-file-utils
+  ];
+
+  buildInputs = [
+    libadwaita
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+    gst-plugins-good
+  ]) ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Foundation
+  ];
+
+  # Workaround for the gettext-sys issue
+  # https://github.com/Koka/gettext-rs/issues/114
+  env.NIX_CFLAGS_COMPILE = lib.optionalString
+    (
+      stdenv.cc.isClang &&
+      lib.versionAtLeast stdenv.cc.version "16"
+    )
+    "-Wno-error=incompatible-function-pointer-types";
+
+  meta = with lib; {
+    description = "Learn Japanese hiragana and katakana characters";
+    homepage = "https://gitlab.gnome.org/fkinoshita/kana";
+    license = licenses.gpl3Plus;
+    mainProgram = "kana";
+    maintainers = with maintainers; [ aleksana ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/ka/kanagawa-gtk-theme/package.nix b/pkgs/by-name/ka/kanagawa-gtk-theme/package.nix
new file mode 100644
index 0000000000000..bf714e0f301f8
--- /dev/null
+++ b/pkgs/by-name/ka/kanagawa-gtk-theme/package.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, gtk3
+, gtk-engine-murrine
+}:
+stdenvNoCC.mkDerivation {
+  pname = "kanagawa-gtk-theme";
+  version = "0-unstable-2023-07-03";
+
+  src = fetchFromGitHub {
+    owner = "Fausto-Korpsvart";
+    repo = "Kanagawa-GKT-Theme";
+    rev = "35936a1e3bbd329339991b29725fc1f67f192c1e";
+    hash = "sha256-BZRmjVas8q6zsYbXFk4bCk5Ec/3liy9PQ8fqFGHAXe0=";
+  };
+
+  nativeBuildInputs = [
+    gtk3
+  ];
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/themes
+    cp -a themes/* $out/share/themes
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A GTK theme with the Kanagawa colour palette";
+    homepage = "https://github.com/Fausto-Korpsvart/Kanagawa-GKT-Theme";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ iynaix ];
+    platforms = gtk3.meta.platforms;
+  };
+}
diff --git a/pkgs/by-name/ka/kanagawa-icon-theme/package.nix b/pkgs/by-name/ka/kanagawa-icon-theme/package.nix
new file mode 100644
index 0000000000000..b2d2517ae6308
--- /dev/null
+++ b/pkgs/by-name/ka/kanagawa-icon-theme/package.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, gtk3
+, hicolor-icon-theme
+}:
+stdenvNoCC.mkDerivation {
+  pname = "kanagawa-icon-theme";
+  version = "0-unstable-2023-07-03";
+
+  src = fetchFromGitHub {
+    owner = "Fausto-Korpsvart";
+    repo = "Kanagawa-GKT-Theme";
+    rev = "35936a1e3bbd329339991b29725fc1f67f192c1e";
+    hash = "sha256-BZRmjVas8q6zsYbXFk4bCk5Ec/3liy9PQ8fqFGHAXe0=";
+  };
+
+  nativeBuildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/icons
+    cp -a icons/* $out/share/icons
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache -f $theme
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "An icon theme for the Kanagawa colour palette";
+    homepage = "https://github.com/Fausto-Korpsvart/Kanagawa-GKT-Theme";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ iynaix ];
+    platforms = gtk3.meta.platforms;
+  };
+}
diff --git a/pkgs/by-name/ke/kernel-hardening-checker/package.nix b/pkgs/by-name/ke/kernel-hardening-checker/package.nix
new file mode 100644
index 0000000000000..ef202db574dd0
--- /dev/null
+++ b/pkgs/by-name/ke/kernel-hardening-checker/package.nix
@@ -0,0 +1,25 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "kernel-hardening-checker";
+  version = "0.6.6";
+
+  src = fetchFromGitHub {
+    owner = "a13xp0p0v";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-xpVazB9G0cdc0GglGpna80EWHZXfTd5mc5mTvvvoPfE=";
+  };
+
+  meta = with lib; {
+    description = "A tool for checking the security hardening options of the Linux kernel";
+    homepage = "https://github.com/a13xp0p0v/kernel-hardening-checker";
+    license = licenses.gpl3Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ erdnaxe ];
+    mainProgram = "kernel-hardening-checker";
+  };
+}
diff --git a/pkgs/applications/video/kooha/default.nix b/pkgs/by-name/ko/kooha/package.nix
index bda712cac113a..bc9fdf70d9e54 100644
--- a/pkgs/applications/video/kooha/default.nix
+++ b/pkgs/by-name/ko/kooha/package.nix
@@ -22,19 +22,19 @@
 
 stdenv.mkDerivation rec {
   pname = "kooha";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "SeaDve";
     repo = "Kooha";
     rev = "v${version}";
-    hash = "sha256-vLgBuP0DncBIb05R3484WozS+Nl+S7YBJUYek2CkJkQ=";
+    hash = "sha256-D/+tsIfcXrlwwL6vSLRsiAp7wMVtIgzjNNd2uk+9bco=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-NPh603/5yZDUdTegAzFvjRn5tuzyrcNzbbKQr6NxXso=";
+    hash = "sha256-iDyhK2k2RB7CvtW+91isVzIFOl2/Loh+Bvneu4TGfn0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/lb/lbreakout2/package.nix b/pkgs/by-name/lb/lbreakout2/package.nix
new file mode 100644
index 0000000000000..bd88ac2a21f25
--- /dev/null
+++ b/pkgs/by-name/lb/lbreakout2/package.nix
@@ -0,0 +1,49 @@
+{ lib
+, SDL
+, SDL_mixer
+, fetchpatch
+, fetchurl
+, libintl
+, libpng
+, stdenv
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lbreakout2";
+  version = "2.6.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/lgames/lbreakout2-${finalAttrs.version}.tar.gz";
+    hash = "sha256-kQTWF1VT2jRC3GpfxAemaeL1r/Pu3F0wQJ6wA7enjW8=";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/l/lbreakout2/2.6.5-2/debian/patches/sdl_fix_pauses.patch";
+      hash = "sha256-ycsuxfokpOblLky42MwtJowdEp7v5dZRMFIR4id4ZBI=";
+    })
+  ];
+
+  buildInputs = [
+    SDL
+    SDL_mixer
+    libintl
+    libpng
+    zlib
+  ];
+
+  # With fortify it crashes at runtime:
+  #   *** buffer overflow detected ***: terminated
+  #   Aborted (core dumped)
+  hardeningDisable = [ "fortify" ];
+
+  meta = {
+    homepage = "http://lgames.sourceforge.net/LBreakout2/";
+    description = "Breakout clone from the LGames series";
+    license = with lib.licenses; [ gpl2Plus ];
+    mainProgram = "lbreakout2";
+    maintainers = with lib.maintainers; [ AndersonTorres ciil ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/games/lgames/lbreakouthd/default.nix b/pkgs/by-name/lb/lbreakouthd/package.nix
index 64be757c35ad3..0160d7e2033bb 100644
--- a/pkgs/games/lgames/lbreakouthd/default.nix
+++ b/pkgs/by-name/lb/lbreakouthd/package.nix
@@ -1,11 +1,11 @@
 { lib
-, stdenv
-, fetchurl
-, directoryListingUpdater
 , SDL2
 , SDL2_image
 , SDL2_mixer
 , SDL2_ttf
+, directoryListingUpdater
+, fetchurl
+, stdenv
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -36,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://lgames.sourceforge.io/LBreakoutHD/";
     description = "A widescreen Breakout clone";
     license = lib.licenses.gpl2Plus;
+    mainProgram = "lbreakouthd";
     maintainers = with lib.maintainers; [ AndersonTorres ];
     inherit (SDL2.meta) platforms;
     broken = stdenv.isDarwin;
diff --git a/pkgs/development/libraries/libedit/01-cygwin.patch b/pkgs/by-name/li/libedit/01-cygwin.patch
index 33bd39ed61e5e..33bd39ed61e5e 100644
--- a/pkgs/development/libraries/libedit/01-cygwin.patch
+++ b/pkgs/by-name/li/libedit/01-cygwin.patch
diff --git a/pkgs/by-name/li/libedit/package.nix b/pkgs/by-name/li/libedit/package.nix
new file mode 100644
index 0000000000000..aeb79811d6e78
--- /dev/null
+++ b/pkgs/by-name/li/libedit/package.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libedit";
+  version = "20230828-3.1";
+
+  src = fetchurl {
+    url = "https://thrysoee.dk/editline/libedit-${finalAttrs.version}.tar.gz";
+    hash = "sha256-TugYK25WkpDn0fRPD3jayHFrNfZWt2Uo9pnGnJiBTa0=";
+  };
+
+  outputs = [ "out" "dev" "man" ];
+
+  patches = [
+    ./01-cygwin.patch
+  ];
+
+  propagatedBuildInputs = [
+    ncurses
+  ];
+
+  # GCC automatically include `stdc-predefs.h` while Clang does not do this by
+  # default. While Musl is ISO 10646 compliant, it does not define
+  # __STDC_ISO_10646__.
+  # This definition is in `stdc-predefs.h` -- that's why libedit builds just
+  # fine with GCC and Musl.
+  # There is a DR to fix this issue with Clang which is not merged yet.
+  # https://reviews.llvm.org/D137043
+  env.NIX_CFLAGS_COMPILE =
+    lib.optionalString (stdenv.targetPlatform.isMusl && stdenv.cc.isClang)
+      "-D__STDC_ISO_10646__=201103L";
+
+  postFixup = ''
+    find $out/lib -type f | \
+      grep '\.\(la\|pc\)''$' | \
+      xargs sed -i -e 's,-lncurses[a-z]*,-L${ncurses.out}/lib -lncursesw,g'
+  '';
+
+  meta = {
+    homepage = "http://www.thrysoee.dk/editline/";
+    description = "A port of the NetBSD Editline library (libedit)";
+    longDescription = ''
+       This is an autotool- and libtoolized port of the NetBSD Editline library
+       (libedit). This Berkeley-style licensed command line editor library
+       provides generic line editing, history, and tokenization functions,
+       similar to those found in GNU Readline.
+    '';
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/li/librum/package.nix b/pkgs/by-name/li/librum/package.nix
new file mode 100644
index 0000000000000..81cd81d68019d
--- /dev/null
+++ b/pkgs/by-name/li/librum/package.nix
@@ -0,0 +1,68 @@
+{ lib
+, mupdf
+, stdenv
+, fetchFromGitHub
+, substituteAll
+, cmake
+, qt6
+, desktopToDarwinBundle
+}:
+
+let
+  mupdf-cxx = mupdf.override { enableCxx = true; };
+in
+stdenv.mkDerivation rec {
+  pname = "librum";
+  version = "0.12.1";
+
+  src = fetchFromGitHub {
+    owner = "Librum-Reader";
+    repo = "Librum";
+    rev = "v.${version}";
+    fetchSubmodules = true;
+    hash = "sha256-/QxTWlTMoXykPe3z+mmn6eaGRJDu2IX8BJPcXi1gUqQ=";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./use_mupdf_in_nixpkgs.patch;
+      nixMupdfLibPath = "${mupdf-cxx.out}/lib";
+      nixMupdfIncludePath = "${mupdf-cxx.dev}/include";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    qt6.qttools
+    qt6.wrapQtAppsHook
+  ] ++ lib.optionals stdenv.isDarwin [
+    desktopToDarwinBundle
+  ];
+
+  buildInputs = [
+    qt6.qtbase
+    qt6.qtsvg
+  ] ++ lib.optionals stdenv.isLinux [
+    qt6.qtwayland
+  ];
+
+  meta = with lib; {
+    description = "An application designed to make reading enjoyable and straightforward";
+    longDescription = ''
+      Librum is an application designed to make reading enjoyable
+      and straightforward for everyone. It's not just an e-book
+      reader. With Librum, you can manage your own online library
+      and access it from any device anytime, anywhere. It has
+      features like note-taking, AI tooling, and highlighting,
+      while offering customization to make it as personal as you
+      want! Librum also provides free access to over 70,000 books
+      and personal reading statistics while being free and
+      completely open source.
+    '';
+    homepage = "https://librumreader.com";
+    license = licenses.gpl3Plus;
+    mainProgram = "librum";
+    maintainers = with maintainers; [ aleksana oluceps ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/li/librum/use_mupdf_in_nixpkgs.patch b/pkgs/by-name/li/librum/use_mupdf_in_nixpkgs.patch
new file mode 100644
index 0000000000000..0458279b7d681
--- /dev/null
+++ b/pkgs/by-name/li/librum/use_mupdf_in_nixpkgs.patch
@@ -0,0 +1,109 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 191ff732..de46f35b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -71,7 +71,7 @@ endif()
+ 
+ # Dependencies
+ add_subdirectory(libs/rapidfuzz-cpp)
+-
++include_directories(@nixMupdfIncludePath@)
+ 
+ # Build
+ add_subdirectory(src/)
+diff --git a/src/application/CMakeLists.txt b/src/application/CMakeLists.txt
+index bf122a66..64415be3 100644
+--- a/src/application/CMakeLists.txt
++++ b/src/application/CMakeLists.txt
+@@ -102,10 +102,9 @@ if(ANDROID)
+ endif()
+ 
+ if(UNIX)
+-    set(MUPDF_OUTPUT_DIR "${PROJECT_SOURCE_DIR}/libs/mupdf/build/$<IF:$<CONFIG:Debug>,shared-debug,shared-release>")
++    set(MUPDF_OUTPUT_DIR "@nixMupdfLibPath@")
+     set(MUPDF_OUTPUT "${MUPDF_OUTPUT_DIR}/libmupdfcpp.so")
+     set(MUPDF_OUTPUT "${MUPDF_OUTPUT_DIR}/libmupdfcpp.so" PARENT_SCOPE)
+-    set(MUPDF_BUILD_COMMAND ./scripts/mupdfwrap.py ${VENV_OPTION} -d build/$<IF:$<CONFIG:Debug>,shared-debug,shared-release> -b --m-target libs ${EXTRA_MAKE_AGRS} -j 0 m01)
+ elseif(WIN32)
+     set(MUPDF_OUTPUT_DIR "${PROJECT_SOURCE_DIR}/libs/mupdf/platform/win32/x64/$<IF:$<CONFIG:Debug>,Debug,Release>")
+     set(MUPDF_OUTPUT "${MUPDF_OUTPUT_DIR}/mupdfcpp64.lib" PARENT_SCOPE)
+@@ -113,8 +112,6 @@ elseif(WIN32)
+     set(MUPDF_BUILD_COMMAND python scripts/mupdfwrap.py ${VENV_OPTION} -d build/$<IF:$<CONFIG:Debug>,shared-debug,shared-release> -b -j 0 m01)
+ endif()
+ 
+-message("MuPdf build command: " ${MUPDF_BUILD_COMMAND})
+-
+ 
+ set(CC_COMMAND "${CMAKE_C_COMPILER}")
+ set(CXX_COMMAND "${CMAKE_CXX_COMPILER}")
+@@ -135,18 +132,6 @@ else()
+ endif()
+ 
+ 
+-add_custom_target(mupdf
+-   COMMAND ${CMAKE_COMMAND} -E env
+-        ${ANDROID_COMPILERS}
+-        "USE_SYSTEM_LIBJPEG=${USE_SYSTEM_LIBJPEG_VALUE}"
+-        "USE_SONAME=no"
+-        ${MUPDF_BUILD_COMMAND}
+-   BYPRODUCTS ${MUPDF_OUTPUT}
+-   WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/libs/mupdf
+-   COMMENT "Building mupdf (This takes a while) ..."
+-)
+-
+-
+ #Copy the mupdf dlls to the build directory for windows
+ if(WIN32)
+     add_custom_command(
+@@ -168,8 +153,6 @@ add_library(application
+                     interfaces/utility/i_book_getter.hpp
+ )
+ 
+-add_dependencies(application mupdf) # Ensure the mupdf target is built before the application target
+-
+ target_compile_definitions(application PRIVATE APPLICATION_LIBRARY)
+ 
+ target_include_directories(application
+@@ -188,12 +171,6 @@ target_include_directories(application
+                     ${CMAKE_CURRENT_SOURCE_DIR}/core/utils
+ )
+ 
+-# Make sure to ignore warnings from mupdf by adding it as a system include directory
+-target_include_directories(application SYSTEM PUBLIC
+-                    ${PROJECT_SOURCE_DIR}/libs/mupdf/platform/c++/include
+-                    ${PROJECT_SOURCE_DIR}/libs/mupdf/include
+-)
+-
+ target_compile_definitions(application
+                 PRIVATE
+                     $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>
+@@ -236,29 +213,10 @@ if(LINUX)
+     install(TARGETS application
+             DESTINATION lib
+             )
+-    
+-    # Install mupdf's shared libraries
+-    install(FILES ${MUPDF_OUTPUT_DIR}/libmupdfcpp.so
+-                  ${MUPDF_OUTPUT_DIR}/libmupdf.so
+-            DESTINATION lib)
+-
+-    # Install links with correct permissions
+-    if(EXISTS "${MUPDF_OUTPUT_DIR}/libmupdfcpp.so.24.0")
+-        install(FILES ${MUPDF_OUTPUT_DIR}/libmupdfcpp.so.24.0
+-                      ${MUPDF_OUTPUT_DIR}/libmupdf.so.24.0
+-                PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
+-                            GROUP_READ GROUP_EXECUTE
+-                            WORLD_READ WORLD_EXECUTE
+-                DESTINATION lib)
+-    endif()
+ 
+ elseif(APPLE)
+     install(TARGETS application
+             DESTINATION lib
+             )
+     
+-    # Install mupdf's shared libraries
+-    install(FILES ${MUPDF_OUTPUT_DIR}/libmupdfcpp.so
+-                  ${MUPDF_OUTPUT_DIR}/libmupdf.dylib
+-            DESTINATION lib)
+ endif()
diff --git a/pkgs/development/libraries/libyang/default.nix b/pkgs/by-name/li/libyang/package.nix
index d220bcee1e6e3..6e3e3d841e64f 100644
--- a/pkgs/development/libraries/libyang/default.nix
+++ b/pkgs/by-name/li/libyang/package.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libyang";
-  version = "2.1.128";
+  version = "2.1.148";
 
   src = fetchFromGitHub {
     owner = "CESNET";
     repo = "libyang";
     rev = "v${version}";
-    sha256 = "sha256-qwEHGUizjsWQZSwQkh7Clevd1OQfj1mse7Q8YiRCMyQ=";
+    hash = "sha256-uYZJo8lUv6tq0MRRJvbTS/8t1eZNGqcMb5k5sVCwMJM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/li/littlefs-fuse/package.nix b/pkgs/by-name/li/littlefs-fuse/package.nix
index feb566a822a26..00eba357e04e2 100644
--- a/pkgs/by-name/li/littlefs-fuse/package.nix
+++ b/pkgs/by-name/li/littlefs-fuse/package.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "littlefs-fuse";
-  version = "2.7.5";
+  version = "2.7.6";
   src = fetchFromGitHub {
     owner = "littlefs-project";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-sSnk1iQV5aHcOPqVKbigWqojrZKlJK5CcrVlwilT2mE=";
+    hash = "sha256-iN6Ny1H7CyBzBRJyYKbXuzkap7+u+6tVkXo7Vnp1WV8=";
   };
   buildInputs = [ fuse ];
   installPhase = ''
diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix
index 7da6c5c305a19..b5b0997503199 100644
--- a/pkgs/by-name/ll/llama-cpp/package.nix
+++ b/pkgs/by-name/ll/llama-cpp/package.nix
@@ -69,13 +69,13 @@ let
 in
 effectiveStdenv.mkDerivation (finalAttrs: {
   pname = "llama-cpp";
-  version = "2346";
+  version = "2382";
 
   src = fetchFromGitHub {
     owner = "ggerganov";
     repo = "llama.cpp";
     rev = "refs/tags/b${finalAttrs.version}";
-    hash = "sha256-s937fAOUjid2H+6OQEMicdkFQVqPJ37GR+DMrCV1ky4=";
+    hash = "sha256-VIh9StxfZrweOh6IU2MDJRFVu7TelngHGw7enSx5tL4=";
   };
 
   postPatch = ''
diff --git a/pkgs/games/lgames/lpairs2/default.nix b/pkgs/by-name/lp/lpairs2/package.nix
index 7993fd0657dac..a7ecd6c0f3c9d 100644
--- a/pkgs/games/lgames/lpairs2/default.nix
+++ b/pkgs/by-name/lp/lpairs2/package.nix
@@ -1,19 +1,19 @@
 { lib
-, stdenv
-, fetchurl
 , SDL2
 , SDL2_image
 , SDL2_mixer
 , SDL2_ttf
 , directoryListingUpdater
+, fetchurl
+, stdenv
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "lpairs2";
   version = "2.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
+    url = "mirror://sourceforge/lgames/lpairs2-${finalAttrs.version}.tar.gz";
     hash = "sha256-gw1BNkcztyTuoXRdx5+TBZNJEJNrLCfEUCQ1JzROogA=";
   };
 
@@ -25,17 +25,18 @@ stdenv.mkDerivation rec {
   ];
 
   passthru.updateScript = directoryListingUpdater {
-    inherit pname version;
+    inherit (finalAttrs) pname version;
     url = "https://lgames.sourceforge.io/LPairs/";
     extraRegex = "(?!.*-win(32|64)).*";
   };
 
-  meta = with lib; {
-    broken = stdenv.isDarwin;
+  meta = {
     homepage = "http://lgames.sourceforge.net/LPairs/";
     description = "Matching the pairs - a typical Memory Game";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    license = with lib.licenses; [ gpl2Plus ];
+    mainProgram = "lpairs2";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
+    broken = stdenv.isDarwin;
   };
-}
+})
diff --git a/pkgs/by-name/lu/lubelogger/package.nix b/pkgs/by-name/lu/lubelogger/package.nix
index f398f8268eb57..4b1af375edb11 100644
--- a/pkgs/by-name/lu/lubelogger/package.nix
+++ b/pkgs/by-name/lu/lubelogger/package.nix
@@ -6,13 +6,13 @@
 
 buildDotnetModule rec {
   pname = "lubelogger";
-  version = "1.2.4";
+  version = "1.2.5";
 
   src = fetchFromGitHub {
     owner = "hargata";
     repo = "lubelog";
     rev = "v${version}";
-    hash = "sha256-1U4dCjm3tRb4GANovIR+Ov4B7+o4DS9lVGjwJnXyR/8=";
+    hash = "sha256-wMsIcmHNNpgfYtQNQX8D7umdAGnlv0v5PIcI4Q5mRos=";
   };
 
   projectFile = "CarCareTracker.sln";
diff --git a/pkgs/by-name/lu/lunacy/package.nix b/pkgs/by-name/lu/lunacy/package.nix
new file mode 100644
index 0000000000000..30b7090aded11
--- /dev/null
+++ b/pkgs/by-name/lu/lunacy/package.nix
@@ -0,0 +1,114 @@
+{ stdenv
+, lib
+, fetchurl
+, dpkg
+, autoPatchelfHook
+, zlib
+, libgcc
+, fontconfig
+, libX11
+, lttng-ust
+, icu
+, libICE
+, libSM
+, libXcursor
+, openssl
+, imagemagick
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lunacy";
+  version = "9.4.2.5022";
+
+  src = fetchurl {
+    url = "https://lcdn.icons8.com/setup/Lunacy_${finalAttrs.version}.deb";
+    hash = "sha256-69CO1SPdO+JhAH/G/DihyHDueQOLaaJCf32MjBc77j4=";
+  };
+
+  unpackCmd = ''
+    mkdir -p root
+    dpkg-deb -x $src root
+  '';
+
+  buildInputs = [
+    zlib
+    libgcc
+    stdenv.cc.cc
+    lttng-ust
+    fontconfig.lib
+
+    # Runtime deps
+    libICE
+    libSM
+    libX11
+    libXcursor
+  ];
+
+  nativeBuildInputs = [
+    dpkg
+    autoPatchelfHook
+  ];
+
+  # adds to the RPATHS of all shared objects (exe and libs)
+  appendRunpaths = map (pkg: (lib.getLib pkg) + "/lib") [
+    icu
+    openssl
+    stdenv.cc.libc
+    stdenv.cc.cc
+  ] ++ [
+    # technically, this should be in runtimeDependencies but will not work as
+    # "lib" is appended to all elements in the array
+    "${placeholder "out"}/lib/lunacy"
+  ];
+
+  # will add to the RPATH of executable only
+  runtimeDependencies = [
+    libICE
+    libSM
+    libX11
+    libXcursor
+  ];
+
+  dontBuild = true;
+  dontStrip = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/lib";
+    cp -R "opt/icons8/lunacy" "$out/lib"
+    cp -R "usr/share" "$out/share"
+
+    # Prepare the desktop icon, the upstream icon is 200x200 but the hicolor theme does not
+    # support this resolution. Nearest sizes are 192x192 and 256x256.
+    ${imagemagick}/bin/convert "opt/icons8/lunacy/Assets/LunacyLogo.png" -resize 192x192 lunacy.png
+    install -D lunacy.png "$out/share/icons/hicolor/192x192/apps/${finalAttrs.pname}.png"
+
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    substituteInPlace $out/share/applications/lunacy.desktop \
+      --replace "Exec=/opt/icons8/lunacy/Lunacy" "Exec=${finalAttrs.pname}" \
+      --replace "Icon=/opt/icons8/lunacy/Assets/LunacyLogo.png" "Icon=${finalAttrs.pname}"
+  '';
+
+  postFixup = ''
+    mkdir $out/bin
+
+    # Fixes runtime error regarding missing libSkiaSharp.so (which is in the same directory as the binary).
+    ln -s "$out/lib/lunacy/Lunacy" "$out/bin/${finalAttrs.pname}"
+  '';
+
+  meta = with lib; {
+    description = "Free design software that keeps your flow with AI tools and built-in graphics";
+    homepage = "https://icons8.com/lunacy";
+    changelog = "https://lunacy.docs.icons8.com/release-notes/";
+    license = licenses.unfree;
+    maintainers = [ maintainers.eliandoran ];
+    platforms = platforms.linux;
+    sourceProvenance = [ sourceTypes.binaryBytecode ];
+    mainProgram = "lunacy";
+  };
+
+})
diff --git a/pkgs/by-name/me/metronome/package.nix b/pkgs/by-name/me/metronome/package.nix
new file mode 100644
index 0000000000000..f21a941a9e378
--- /dev/null
+++ b/pkgs/by-name/me/metronome/package.nix
@@ -0,0 +1,78 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, rustPlatform
+, rustc
+, cargo
+, wrapGAppsHook4
+, desktop-file-utils
+, libadwaita
+, gst_all_1
+, darwin
+}:
+
+stdenv.mkDerivation rec {
+  pname = "metronome";
+  version = "1.3.0";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = "metronome";
+    rev = version;
+    hash = "sha256-Sn2Ua/XxPnJjcQvWeOPkphl+BE7/BdOrUIpf+tLt20U=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "metronome-${version}";
+    hash = "sha256-HYO/IY5yGW8JLBxD/SZz16GFnwvv77kFl/x+QXhV+V0=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    rustPlatform.cargoSetupHook
+    rustc
+    cargo
+    wrapGAppsHook4
+    desktop-file-utils
+  ];
+
+  buildInputs = [
+    libadwaita
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-bad
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Foundation
+  ];
+
+  # Workaround for the gettext-sys issue
+  # https://github.com/Koka/gettext-rs/issues/114
+  env.NIX_CFLAGS_COMPILE = lib.optionalString
+    (
+      stdenv.cc.isClang &&
+      lib.versionAtLeast stdenv.cc.version "16"
+    )
+    "-Wno-error=incompatible-function-pointer-types";
+
+  meta = with lib; {
+    description = "Keep the tempo";
+    longDescription = ''
+      Metronome beats the rhythm for you, you simply
+      need to tell it the required time signature and
+      beats per minutes. You can also tap to let the
+      application guess the required beats per minute.
+    '';
+    homepage = "https://gitlab.gnome.org/World/metronome";
+    license = licenses.gpl3Plus;
+    mainProgram = "metronome";
+    maintainers = with maintainers; [ aleksana ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/me/mev-boost/package.nix b/pkgs/by-name/me/mev-boost/package.nix
index a68b9f1c85ab7..842c6b3b2a544 100644
--- a/pkgs/by-name/me/mev-boost/package.nix
+++ b/pkgs/by-name/me/mev-boost/package.nix
@@ -6,12 +6,12 @@
 
 buildGoModule rec {
   pname = "mev-boost";
-  version = "1.7";
+  version = "1.7.1";
   src = fetchFromGitHub {
       owner = "flashbots";
       repo = "mev-boost";
       rev = "v${version}";
-      hash = "sha256-Z5B+PRYb6eWssgyaXpXoHOVRoMZoSAwun7s6Fh1DrfM=";
+      hash = "sha256-4Vxs1Jo7rkw9l0pXfi+J7YmzQawt7tc19I1MdHQgjBA=";
   };
 
   vendorHash = "sha256-yfWDGVfgCfsmzI5oxEmhHXKCUAHe6wWTkaMkBN5kQMw=";
diff --git a/pkgs/by-name/mi/mihomo/package.nix b/pkgs/by-name/mi/mihomo/package.nix
new file mode 100644
index 0000000000000..ed3f521b63280
--- /dev/null
+++ b/pkgs/by-name/mi/mihomo/package.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+  pname = "mihomo";
+  version = "1.18.1";
+
+  src = fetchFromGitHub {
+    owner = "MetaCubeX";
+    repo = "mihomo";
+    rev = "v${version}";
+    hash = "sha256-ezOkDrpytZQdc+Txe4eUyuWY6oipn9jIrmu7aO8lNlQ=";
+  };
+
+  vendorHash = "sha256-tvPR5kAta4MlMTwjfxwVOacRr2nVpfalbN08mfxml64=";
+
+  excludedPackages = [ "./test" ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/metacubex/mihomo/constant.Version=${version}"
+  ];
+
+  tags = [
+    "with_gvisor"
+  ];
+
+  # network required
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A rule-based tunnel in Go";
+    homepage = "https://github.com/MetaCubeX/mihomo";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ oluceps ];
+    mainProgram = "mihomo";
+  };
+}
diff --git a/pkgs/by-name/mo/monophony/package.nix b/pkgs/by-name/mo/monophony/package.nix
index 7589c172af0e7..3a1705cd3b7ba 100644
--- a/pkgs/by-name/mo/monophony/package.nix
+++ b/pkgs/by-name/mo/monophony/package.nix
@@ -6,13 +6,12 @@
 , gobject-introspection
 , yt-dlp
 , libadwaita
-, libsoup_3
 , glib-networking
 , nix-update-script
 }:
 python3Packages.buildPythonApplication rec {
   pname = "monophony";
-  version = "2.6.1";
+  version = "2.7.0";
   format = "other";
 
   sourceRoot = "source/source";
@@ -20,7 +19,7 @@ python3Packages.buildPythonApplication rec {
     owner = "zehkira";
     repo = "monophony";
     rev = "v${version}";
-    hash = "sha256-op6XUfP0EM9P5vT2nM4o+NOHxBcASIl1+6Mp/u9ub3U=";
+    hash = "sha256-uOmaTkjlfrct8CPqKcTTTqmURVncPZm4fXZYW+yZUf8=";
   };
 
   pythonPath = with python3Packages; [
@@ -38,7 +37,6 @@ python3Packages.buildPythonApplication rec {
   buildInputs = [
     libadwaita
     # needed for gstreamer https
-    libsoup_3
     glib-networking
   ] ++ (with gst_all_1; [
     gst-plugins-base
@@ -53,8 +51,6 @@ python3Packages.buildPythonApplication rec {
     gappsWrapperArgs+=(
       --prefix PYTHONPATH : "$program_PYTHONPATH"
       --prefix PATH : "${lib.makeBinPath [yt-dlp]}"
-      # needed for gstreamer https
-      --prefix LD_LIBRARY_PATH : "${lib.getLib libsoup_3}/lib"
     )
   '';
 
diff --git a/pkgs/by-name/mo/movim/package.nix b/pkgs/by-name/mo/movim/package.nix
index 985a7808b644a..9b6cb00e7ef60 100644
--- a/pkgs/by-name/mo/movim/package.nix
+++ b/pkgs/by-name/mo/movim/package.nix
@@ -1,6 +1,7 @@
 { lib
 , fetchFromGitHub
 , php
+, phpCfg ? null
 , withPgsql ? true # “strongly recommended” according to docs
 , withMysql ? false
 }:
@@ -16,14 +17,16 @@ php.buildComposerProject (finalAttrs: {
     hash = "sha256-9MBe2IRYxvUuCc5m7ajvIlBU7YVm4A3RABlOOIjpKoM=";
   };
 
-  php = php.buildEnv {
+  php = php.buildEnv ({
     extensions = ({ all, enabled }:
       enabled
-      ++ (with all; [ curl dom gd imagick mbstring ])
-      ++ lib.optional withPgsql all.pgsql
-      ++ lib.optional withMysql all.mysqli
+        ++ (with all; [ curl dom gd imagick mbstring pdo simplexml ])
+        ++ lib.optionals withPgsql (with all; [ pdo_pgsql pgsql ])
+        ++ lib.optionals withMysql (with all; [ mysqli mysqlnd pdo_mysql ])
     );
-  };
+  } // lib.optionalAttrs (phpCfg != null) {
+    extraConfig = phpCfg;
+  });
 
   # no listed license
   # pinned commonmark
diff --git a/pkgs/by-name/my/mystmd/package.nix b/pkgs/by-name/my/mystmd/package.nix
index b37fb95b5f14b..287a84875e66f 100644
--- a/pkgs/by-name/my/mystmd/package.nix
+++ b/pkgs/by-name/my/mystmd/package.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "mystmd";
-  version = "1.1.45";
+  version = "1.1.46";
 
   src = fetchFromGitHub {
     owner = "executablebooks";
     repo = "mystmd";
     rev = "mystmd@${version}";
-    hash = "sha256-qHlgAc1ddSVevH/82QCVXjIlht/RMcypTUcY+A/gRRg=";
+    hash = "sha256-rMmq2xArkbVIZRFGCYSl9D65LxUdyiZMR6CbYJbKNSw=";
   };
 
-  npmDepsHash = "sha256-yEeATMpSEr20MJdzq8HWSSjRBd+rHEq2oMVOnKymWhY=";
+  npmDepsHash = "sha256-cwuKexK0S3pW0rJpjfbAHu7/MLSs8axbyX6BWJq2Ieo=";
 
   dontNpmInstall = true;
 
diff --git a/pkgs/by-name/ne/netease-cloud-music-gtk/Cargo.lock b/pkgs/by-name/ne/netease-cloud-music-gtk/Cargo.lock
index 4049079e10a98..8bf8172424599 100644
--- a/pkgs/by-name/ne/netease-cloud-music-gtk/Cargo.lock
+++ b/pkgs/by-name/ne/netease-cloud-music-gtk/Cargo.lock
@@ -33,10 +33,58 @@ dependencies = [
 ]
 
 [[package]]
+name = "anstream"
+version = "0.6.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "anyhow"
-version = "1.0.79"
+version = "1.0.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
 
 [[package]]
 name = "async-broadcast"
@@ -61,13 +109,13 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.1.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 4.0.3",
- "event-listener-strategy",
+ "event-listener 5.2.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
  "pin-project-lite",
 ]
@@ -114,15 +162,15 @@ dependencies = [
  "polling 2.8.0",
  "rustix 0.37.27",
  "slab",
- "socket2",
+ "socket2 0.4.10",
  "waker-fn",
 ]
 
 [[package]]
 name = "async-io"
-version = "2.3.1"
+version = "2.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
+checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
 dependencies = [
  "async-lock 3.3.0",
  "cfg-if",
@@ -130,7 +178,7 @@ dependencies = [
  "futures-io",
  "futures-lite 2.2.0",
  "parking",
- "polling 3.4.0",
+ "polling 3.5.0",
  "rustix 0.38.31",
  "slab",
  "tracing",
@@ -153,7 +201,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
  "event-listener 4.0.3",
- "event-listener-strategy",
+ "event-listener-strategy 0.4.0",
  "pin-project-lite",
 ]
 
@@ -182,7 +230,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -191,7 +239,7 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io 2.3.1",
+ "async-io 2.3.2",
  "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
@@ -217,7 +265,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -240,9 +288,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "base64"
-version = "0.21.7"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
 
 [[package]]
 name = "bitflags"
@@ -277,7 +325,7 @@ version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
- "async-channel 2.1.1",
+ "async-channel 2.2.0",
  "async-lock 3.3.0",
  "async-task",
  "fastrand 2.0.1",
@@ -289,15 +337,15 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.2"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea31d69bda4949c1c1562c1e6f042a1caefac98cdc8a298260a2ff41c1e2d42b"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 
 [[package]]
 name = "byteorder"
@@ -313,23 +361,22 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cairo-rs"
-version = "0.18.5"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
+checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c"
 dependencies = [
  "bitflags 2.4.2",
  "cairo-sys-rs",
  "glib",
  "libc",
- "once_cell",
  "thiserror",
 ]
 
 [[package]]
 name = "cairo-sys-rs"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64"
 dependencies = [
  "glib-sys",
  "libc",
@@ -344,18 +391,15 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
-dependencies = [
- "libc",
-]
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.6"
+version = "0.15.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a"
+checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -369,16 +413,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.33"
+version = "0.4.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb"
+checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "js-sys",
  "num-traits",
  "wasm-bindgen",
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -388,6 +432,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
 name = "concurrent-queue"
 version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -398,9 +448,9 @@ dependencies = [
 
 [[package]]
 name = "cookie"
-version = "0.17.0"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24"
+checksum = "3cd91cf61412820176e137621345ee43b3f4423e589e7ae4e50d601d93e35ef8"
 dependencies = [
  "percent-encoding",
  "time",
@@ -409,12 +459,12 @@ dependencies = [
 
 [[package]]
 name = "cookie_store"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6"
+checksum = "4934e6b7e8419148b6ef56950d277af8561060b56afd59e2aadf98b59fce6baa"
 dependencies = [
  "cookie",
- "idna 0.3.0",
+ "idna 0.5.0",
  "log",
  "publicsuffix",
  "serde",
@@ -441,9 +491,9 @@ dependencies = [
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
@@ -466,24 +516,24 @@ dependencies = [
 
 [[package]]
 name = "curl"
-version = "0.4.44"
+version = "0.4.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
+checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6"
 dependencies = [
  "curl-sys",
  "libc",
  "openssl-probe",
  "openssl-sys",
  "schannel",
- "socket2",
- "winapi",
+ "socket2 0.5.6",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "curl-sys"
-version = "0.4.71+curl-8.6.0"
+version = "0.4.72+curl-8.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7b12a7ab780395666cb576203dc3ed6e01513754939a600b85196ccf5356bc5"
+checksum = "29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea"
 dependencies = [
  "cc",
  "libc",
@@ -492,7 +542,7 @@ dependencies = [
  "openssl-sys",
  "pkg-config",
  "vcpkg",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -527,9 +577,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "encoding_rs"
@@ -542,9 +592,9 @@ dependencies = [
 
 [[package]]
 name = "enumflags2"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
 dependencies = [
  "enumflags2_derive",
  "serde",
@@ -552,26 +602,36 @@ dependencies = [
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "env_filter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+dependencies = [
+ "log",
+ "regex",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.2"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
+checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
 dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
  "humantime",
- "is-terminal",
  "log",
- "regex",
- "termcolor",
 ]
 
 [[package]]
@@ -619,6 +679,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener"
+version = "5.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "event-listener-strategy"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -629,6 +700,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener-strategy"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+dependencies = [
+ "event-listener 5.2.0",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "fastrand"
 version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -770,7 +851,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -804,22 +885,21 @@ dependencies = [
 
 [[package]]
 name = "gdk-pixbuf"
-version = "0.18.5"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec"
+checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92"
 dependencies = [
  "gdk-pixbuf-sys",
  "gio",
  "glib",
  "libc",
- "once_cell",
 ]
 
 [[package]]
 name = "gdk-pixbuf-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
+checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96"
 dependencies = [
  "gio-sys",
  "glib-sys",
@@ -830,9 +910,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6"
+checksum = "9100b25604183f2fd97f55ef087fae96ab4934d7215118a35303e422688e6e4b"
 dependencies = [
  "cairo-rs",
  "gdk-pixbuf",
@@ -845,9 +925,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-sys"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0"
+checksum = "d0b76874c40bb8d1c7d03a7231e23ac75fa577a456cd53af32ec17ec8f121626"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -903,9 +983,9 @@ dependencies = [
 
 [[package]]
 name = "gio"
-version = "0.18.4"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
+checksum = "2eae10b27b6dd27e22ed0d812c6387deba295e6fc004a8b379e459b663b05a02"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -914,7 +994,6 @@ dependencies = [
  "gio-sys",
  "glib",
  "libc",
- "once_cell",
  "pin-project-lite",
  "smallvec",
  "thiserror",
@@ -922,22 +1001,22 @@ dependencies = [
 
 [[package]]
 name = "gio-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4"
 dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
  "system-deps",
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "glib"
-version = "0.18.5"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
+checksum = "ab9e86540b5d8402e905ad4ce7d6aa544092131ab564f3102175af176b90a053"
 dependencies = [
  "bitflags 2.4.2",
  "futures-channel",
@@ -951,30 +1030,28 @@ dependencies = [
  "gobject-sys",
  "libc",
  "memchr",
- "once_cell",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "glib-macros"
-version = "0.18.5"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
+checksum = "0f5897ca27a83e4cdc7b4666850bade0a2e73e17689aabafcc9acddad9d823b8"
 dependencies = [
  "heck",
- "proc-macro-crate 2.0.2",
- "proc-macro-error",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "glib-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4"
 dependencies = [
  "libc",
  "system-deps",
@@ -982,9 +1059,9 @@ dependencies = [
 
 [[package]]
 name = "gobject-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979"
 dependencies = [
  "glib-sys",
  "libc",
@@ -993,9 +1070,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-rs"
-version = "0.18.1"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401"
+checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91"
 dependencies = [
  "glib",
  "graphene-sys",
@@ -1004,9 +1081,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59"
+checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0"
 dependencies = [
  "glib-sys",
  "libc",
@@ -1016,9 +1093,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e"
+checksum = "c65036fc8f99579e8cb37b12487969b707ab23ec8ab953682ff347cbd15d396e"
 dependencies = [
  "cairo-rs",
  "gdk4",
@@ -1031,9 +1108,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4-sys"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55"
+checksum = "bd24c814379f9c3199dc53e52253ee8d0f657eae389ab282c330505289d24738"
 dependencies = [
  "cairo-sys-rs",
  "gdk4-sys",
@@ -1047,9 +1124,9 @@ dependencies = [
 
 [[package]]
 name = "gstreamer"
-version = "0.21.3"
+version = "0.22.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de95703f4c8e79f4f4e42279cf1ab0e5a46b7ece4a9dfcd16424164af7be9055"
+checksum = "48a5e10c539f8b594c50f6cd1bd1cd07785e06d701a077bff397ad211bc92e88"
 dependencies = [
  "cfg-if",
  "futures-channel",
@@ -1062,19 +1139,19 @@ dependencies = [
  "muldiv",
  "num-integer",
  "num-rational",
+ "once_cell",
  "option-operations",
  "paste",
  "pin-project-lite",
- "pretty-hex",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "gstreamer-base"
-version = "0.21.2"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb150b6904a49052237fede7cc2e6479df6ced5043d95e6af8134bc141a3167f"
+checksum = "514c71195b53c7eced4842b66ca9149833e41cf6a1d949e45e2ca4a4fa929850"
 dependencies = [
  "atomic_refcell",
  "cfg-if",
@@ -1086,9 +1163,9 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-base-sys"
-version = "0.21.1"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4ca701f9078fe115b29b24c80910b577f9cb5b039182f050dbadf5933594b64"
+checksum = "286591e0f85bbda1adf9bab6f21d015acd9ca0a4d4acb61da65e3d0487e23c4e"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -1099,9 +1176,9 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-play"
-version = "0.21.2"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad2efa4c3f92fa5d5e51e95c83f3b847c9ad16e3498a65beaf721d324187f04a"
+checksum = "04cd4315d97f8f38a6a6fdaad27d51cc67fd132785816091ad9985e197d2c052"
 dependencies = [
  "glib",
  "gstreamer",
@@ -1112,9 +1189,9 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-play-sys"
-version = "0.21.0"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cc41f9524b98e49da474696abd8fc026b0accfea7fd754e5be09107cb96038f"
+checksum = "19def7b12d3a53c520ad661b8f4501ae04158627e4a9fc49cc30c4ea04522cbf"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -1126,9 +1203,9 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-sys"
-version = "0.21.2"
+version = "0.22.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "564cda782b3e6eed1b81cb4798a06794db56440fb05b422505be689f34ce3bc4"
+checksum = "d5ddf526b3bf90ea627224c804f00b8bcb0452e3b447978b4d5092f8e8ff5918"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -1138,9 +1215,9 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-video"
-version = "0.21.2"
+version = "0.22.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e85b2a4d1d3b7a98ae03806c3ed5c2db89d6b37a5f138780b48de015d68715e5"
+checksum = "5ab3f4045ddb92bf2b469f5db8825d4f5eb46e4beff661fc97f50bb4e2b2c626"
 dependencies = [
  "cfg-if",
  "futures-channel",
@@ -1149,14 +1226,15 @@ dependencies = [
  "gstreamer-base",
  "gstreamer-video-sys",
  "libc",
+ "once_cell",
  "thiserror",
 ]
 
 [[package]]
 name = "gstreamer-video-sys"
-version = "0.21.2"
+version = "0.22.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0302318d98e6b054501e485b6bb4ee20225823218f4a8660c182f115a33b16ee"
+checksum = "c1ea7996ba44fbbf563aeeda96e24259efc9f06b407854d837ee58e260d7ba78"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -1168,9 +1246,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842"
+checksum = "aa82753b8c26277e4af1446c70e35b19aad4fb794a7b143859e7eeb9a4025d83"
 dependencies = [
  "cairo-rs",
  "field-offset",
@@ -1189,12 +1267,12 @@ dependencies = [
 
 [[package]]
 name = "gtk4-macros"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f"
+checksum = "40300bf071d2fcd4c94eacc09e84ec6fe73129d2ceb635cf7e55b026b5443567"
 dependencies = [
  "anyhow",
- "proc-macro-crate 1.3.1",
+ "proc-macro-crate 3.1.0",
  "proc-macro-error",
  "proc-macro2",
  "quote",
@@ -1203,9 +1281,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4-sys"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8"
+checksum = "0db1b104138f087ccdc81d2c332de5dd049b89de3d384437cc1093b17cd2da18"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1234,9 +1312,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.5"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -1255,9 +1333,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
@@ -1321,9 +1399,9 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.24.8"
+version = "0.24.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
+checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
 dependencies = [
  "bytemuck",
  "byteorder",
@@ -1334,9 +1412,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.2.2"
+version = "2.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
+checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -1363,17 +1441,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "is-terminal"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
-dependencies = [
- "hermit-abi",
- "rustix 0.38.31",
- "windows-sys 0.52.0",
-]
-
-[[package]]
 name = "isahc"
 version = "1.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1418,9 +1485,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "js-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1433,9 +1500,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libadwaita"
-version = "0.5.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c"
+checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9"
 dependencies = [
  "gdk-pixbuf",
  "gdk4",
@@ -1449,9 +1516,9 @@ dependencies = [
 
 [[package]]
 name = "libadwaita-sys"
-version = "0.5.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a"
+checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8"
 dependencies = [
  "gdk4-sys",
  "gio-sys",
@@ -1518,9 +1585,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "malloc_buf"
@@ -1573,9 +1640,9 @@ dependencies = [
 
 [[package]]
 name = "mpris-server"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf2cdb2dfbe7063acc7fccb9e28d6dc0bc87fec7b343b6d09771a37970e98233"
+checksum = "ca665e9b0f892e42d7ad9ee6076adaf5de762497640816c67fb6406aca946d40"
 dependencies = [
  "async-trait",
  "futures-channel",
@@ -1592,8 +1659,8 @@ checksum = "956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0"
 
 [[package]]
 name = "netease-cloud-music-api"
-version = "1.3.0"
-source = "git+https://github.com/gmg137/netease-cloud-music-api.git?tag=1.3.0#ac6b43d8dcdf2454b4538ac508ecf1df043896ad"
+version = "1.3.1"
+source = "git+https://gitee.com/gmg137/netease-cloud-music-api.git?tag=1.3.1#fa13ca1fb89a97fff0bab58493ec353e4200ecd2"
 dependencies = [
  "anyhow",
  "base64",
@@ -1610,9 +1677,10 @@ dependencies = [
 
 [[package]]
 name = "netease-cloud-music-gtk4"
-version = "2.3.0"
+version = "2.3.1"
 dependencies = [
  "anyhow",
+ "async-channel 2.2.0",
  "chrono",
  "cookie_store",
  "env_logger",
@@ -1708,15 +1776,15 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "openssl"
-version = "0.10.63"
+version = "0.10.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
+checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
 dependencies = [
  "bitflags 2.4.2",
  "cfg-if",
@@ -1735,7 +1803,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1746,9 +1814,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.99"
+version = "0.9.101"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
+checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff"
 dependencies = [
  "cc",
  "libc",
@@ -1777,22 +1845,21 @@ dependencies = [
 
 [[package]]
 name = "pango"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
+checksum = "7809e8af4df8d024a066106b72ca6bc7253a484ae3867041a96103ef8a13188d"
 dependencies = [
  "gio",
  "glib",
  "libc",
- "once_cell",
  "pango-sys",
 ]
 
 [[package]]
 name = "pango-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -1820,22 +1887,22 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pin-project"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1863,15 +1930,15 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "png"
-version = "0.17.11"
+version = "0.17.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -1898,9 +1965,9 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.4.0"
+version = "3.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
+checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
@@ -1923,12 +1990,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
-name = "pretty-hex"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbc83ee4a840062f368f9096d80077a9841ec117e17e7f700df81958f1451254"
-
-[[package]]
 name = "proc-macro-crate"
 version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1940,12 +2001,11 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "2.0.2"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
 dependencies = [
- "toml_datetime",
- "toml_edit 0.20.2",
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
@@ -2067,9 +2127,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2120,9 +2180,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.16"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "schannel"
@@ -2135,35 +2195,35 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.21"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 
 [[package]]
 name = "serde"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.113"
+version = "1.0.114"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
 dependencies = [
  "itoa",
  "ryu",
@@ -2178,7 +2238,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2253,6 +2313,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "socket2"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "static_assertions"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2271,9 +2341,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.48"
+version = "2.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2295,9 +2365,9 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.13"
+version = "0.12.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
 
 [[package]]
 name = "temp-dir"
@@ -2307,9 +2377,9 @@ checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
 
 [[package]]
 name = "tempfile"
-version = "3.10.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
@@ -2318,32 +2388,23 @@ dependencies = [
 ]
 
 [[package]]
-name = "termcolor"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
 name = "thiserror"
-version = "1.0.56"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.56"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2394,21 +2455,21 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "toml"
-version = "0.8.2"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.20.2",
+ "toml_edit 0.22.6",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
@@ -2421,20 +2482,31 @@ checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
  "indexmap",
  "toml_datetime",
- "winnow",
+ "winnow 0.5.40",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.20.2"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.5",
 ]
 
 [[package]]
@@ -2457,7 +2529,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2510,9 +2582,9 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
@@ -2541,6 +2613,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
 
 [[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"
@@ -2572,9 +2650,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2582,24 +2660,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2607,22 +2685,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "winapi"
@@ -2641,15 +2719,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
-name = "winapi-util"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2661,7 +2730,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -2679,7 +2748,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -2699,17 +2768,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -2720,9 +2789,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -2732,9 +2801,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -2744,9 +2813,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -2756,9 +2825,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -2768,9 +2837,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -2780,9 +2849,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -2792,15 +2861,24 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+
+[[package]]
+name = "winnow"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+dependencies = [
+ "memchr",
+]
 
 [[package]]
 name = "winnow"
-version = "0.5.39"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
 dependencies = [
  "memchr",
 ]
@@ -2817,9 +2895,9 @@ dependencies = [
 
 [[package]]
 name = "zbus"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8"
+checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6"
 dependencies = [
  "async-broadcast",
  "async-executor",
@@ -2858,9 +2936,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d"
+checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5"
 dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
@@ -2872,9 +2950,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_names"
-version = "2.6.0"
+version = "2.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9"
+checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d"
 dependencies = [
  "serde",
  "static_assertions",
@@ -2883,9 +2961,9 @@ dependencies = [
 
 [[package]]
 name = "zvariant"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c"
+checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db"
 dependencies = [
  "byteorder",
  "enumflags2",
@@ -2897,9 +2975,9 @@ dependencies = [
 
 [[package]]
 name = "zvariant_derive"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
+checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9"
 dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
diff --git a/pkgs/by-name/ne/netease-cloud-music-gtk/package.nix b/pkgs/by-name/ne/netease-cloud-music-gtk/package.nix
index 966e13600eca9..c8dc77a6c2749 100644
--- a/pkgs/by-name/ne/netease-cloud-music-gtk/package.nix
+++ b/pkgs/by-name/ne/netease-cloud-music-gtk/package.nix
@@ -18,24 +18,23 @@
 , libadwaita
 , glib-networking
 , gst_all_1
-, libsoup_3
 }:
 
 stdenv.mkDerivation rec {
   pname = "netease-cloud-music-gtk";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "gmg137";
-    repo = pname;
+    repo = "netease-cloud-music-gtk";
     rev = version;
-    hash = "sha256-/HvP82QqN+dWb5XJelsayeo4sz/pVvCKQ9RKQJv7PAI=";
+    hash = "sha256-75zovq7Q370L+bRczTCCC34G2w8xeMMUK5EUTfKAc+w=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "netease-cloud-music-api-1.3.0" = "sha256-SzMu+klhcLi+jDYc9RZUWrBph5TjfddV0STHaijuQ8Q=";
+      "netease-cloud-music-api-1.3.1" = "sha256-ZIc5zj9ZtLBYlZqBR7iUW+KmD71M+OYDiv0dkZrpFos=";
     };
   };
 
@@ -71,12 +70,6 @@ stdenv.mkDerivation rec {
     gst-plugins-ugly
   ]);
 
-  # FIXME: gst-plugins-good missing libsoup breaks streaming
-  # (https://github.com/nixos/nixpkgs/issues/271960)
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsoup_3 ]}")
-  '';
-
   meta = with lib; {
     description = "A Rust + GTK based netease cloud music player";
     homepage = "https://github.com/gmg137/netease-cloud-music-gtk";
diff --git a/pkgs/by-name/nh/nh/package.nix b/pkgs/by-name/nh/nh/package.nix
index 028f8d057bea7..d8997a6fbcf5a 100644
--- a/pkgs/by-name/nh/nh/package.nix
+++ b/pkgs/by-name/nh/nh/package.nix
@@ -7,15 +7,11 @@
 , fetchFromGitHub
 , nix-update-script
 , nvd
-, use-nom ? true
-, nix-output-monitor ? null
+, nix-output-monitor
 }:
-
-assert use-nom -> nix-output-monitor != null;
-
 let
-  version = "3.5.3";
-  runtimeDeps = [ nvd ] ++ lib.optionals use-nom [ nix-output-monitor ];
+  version = "3.5.4";
+  runtimeDeps = [ nvd nix-output-monitor ];
 in
 rustPlatform.buildRustPackage {
   inherit version;
@@ -25,7 +21,7 @@ rustPlatform.buildRustPackage {
     owner = "viperML";
     repo = "nh";
     rev = "refs/tags/v${version}";
-    hash = "sha256-37BcFt67NZj4YQ9kqm69O+OJkgt+TXWTu53bvJvOtn8=";
+    hash = "sha256-fnuVQqdK48c66EC4mL8t7uLhwsY6JDyn7H5tjRpx9Sg=";
   };
 
   strictDeps = true;
@@ -48,11 +44,10 @@ rustPlatform.buildRustPackage {
 
   postFixup = ''
     wrapProgram $out/bin/nh \
-      --prefix PATH : ${lib.makeBinPath runtimeDeps} \
-      ${lib.optionalString use-nom "--set-default NH_NOM 1"}
+      --prefix PATH : ${lib.makeBinPath runtimeDeps}
   '';
 
-  cargoHash = "sha256-uRibycYznqzdf8QVX6bHfq3J3Imu8KnWCL0ZS1w4KFk=";
+  cargoHash = "sha256-njJdwaJtLB4S36mS8miwrk7jo5U7BzOIlXqh3qNyA5E=";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/by-name/ni/niri/Cargo.lock b/pkgs/by-name/ni/niri/Cargo.lock
index a44b513cfcbb2..209a91c01f861 100644
--- a/pkgs/by-name/ni/niri/Cargo.lock
+++ b/pkgs/by-name/ni/niri/Cargo.lock
@@ -10,9 +10,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.8.7"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
  "getrandom",
@@ -75,9 +75,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.11"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -123,9 +123,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.79"
+version = "1.0.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
 
 [[package]]
 name = "appendlist"
@@ -171,7 +171,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 5.0.0",
+ "event-listener 5.2.0",
  "event-listener-strategy 0.5.0",
  "futures-core",
  "pin-project-lite",
@@ -235,7 +235,7 @@ dependencies = [
  "futures-io",
  "futures-lite 2.2.0",
  "parking",
- "polling 3.4.0",
+ "polling 3.5.0",
  "rustix 0.38.31",
  "slab",
  "tracing",
@@ -287,7 +287,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -322,7 +322,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -361,7 +361,7 @@ dependencies = [
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -443,9 +443,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "bytemuck"
@@ -464,7 +464,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -481,9 +481,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cairo-rs"
-version = "0.19.1"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc1c415b7088381c53c575420899c34c9e6312df5ac5defd05614210e9fd6e1b"
+checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c"
 dependencies = [
  "bitflags 2.4.2",
  "cairo-sys-rs",
@@ -494,9 +494,9 @@ dependencies = [
 
 [[package]]
 name = "cairo-sys-rs"
-version = "0.19.1"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75b6a5fefce2eadb8333e3c604ac964ba6573ec4f28bdd17f67032c4a2831831"
+checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64"
 dependencies = [
  "glib-sys",
  "libc",
@@ -509,11 +509,25 @@ version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
 dependencies = [
+ "bitflags 2.4.2",
+ "log",
+ "polling 3.5.0",
+ "rustix 0.38.31",
+ "slab",
+ "thiserror",
+]
+
+[[package]]
+name = "calloop"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
+dependencies = [
  "async-task",
  "bitflags 2.4.2",
  "futures-io",
  "log",
- "polling 3.4.0",
+ "polling 3.5.0",
  "rustix 0.38.31",
  "slab",
  "thiserror",
@@ -525,7 +539,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
 dependencies = [
- "calloop",
+ "calloop 0.12.4",
  "rustix 0.38.31",
  "wayland-backend",
  "wayland-client",
@@ -533,9 +547,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
  "jobserver",
  "libc",
@@ -639,7 +653,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -739,9 +753,9 @@ dependencies = [
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
@@ -763,6 +777,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "csscolorparser"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf"
+dependencies = [
+ "phf",
+]
+
+[[package]]
 name = "cursor-icon"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -914,9 +937,9 @@ checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "enumflags2"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
 dependencies = [
  "enumflags2_derive",
  "serde",
@@ -924,13 +947,13 @@ dependencies = [
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -979,9 +1002,9 @@ dependencies = [
 
 [[package]]
 name = "event-listener"
-version = "5.0.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1004,7 +1027,7 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
 dependencies = [
- "event-listener 5.0.0",
+ "event-listener 5.2.0",
  "pin-project-lite",
 ]
 
@@ -1076,7 +1099,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1162,7 +1185,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1196,9 +1219,9 @@ dependencies = [
 
 [[package]]
 name = "gbm"
-version = "0.14.1"
+version = "0.14.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f177420f6650dcd50042121adf7ff7ab265abdaf4862fe2624066e36e3a9ef34"
+checksum = "313702b30cdeb83ddc72bc14dcee67803cd0ae2d12282ea06e368c25a900c844"
 dependencies = [
  "bitflags 1.3.2",
  "drm",
@@ -1220,9 +1243,9 @@ dependencies = [
 
 [[package]]
 name = "gdk-pixbuf"
-version = "0.19.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c311c47800051b87de1335e8792774d7cec551c91a0a3d109ab21d76b36f208f"
+checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92"
 dependencies = [
  "gdk-pixbuf-sys",
  "gio",
@@ -1245,9 +1268,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6771942f85a2beaa220c64739395e4401b9fab4a52aba9b503fa1e6ed4d4d806"
+checksum = "9100b25604183f2fd97f55ef087fae96ab4934d7215118a35303e422688e6e4b"
 dependencies = [
  "cairo-rs",
  "gdk-pixbuf",
@@ -1260,9 +1283,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-sys"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1eb95854fab65072023a7814434f003db571d6e45c287c0b0c540c1c78bdf6ae"
+checksum = "d0b76874c40bb8d1c7d03a7231e23ac75fa577a456cd53af32ec17ec8f121626"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1321,9 +1344,9 @@ dependencies = [
 
 [[package]]
 name = "gio"
-version = "0.19.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3d1aaa2d926710a27f3b35822806b1513b393b71174dd2601c9d02fdab0cb82"
+checksum = "2eae10b27b6dd27e22ed0d812c6387deba295e6fc004a8b379e459b663b05a02"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1367,7 +1390,7 @@ checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1382,10 +1405,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "glam"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3"
+
+[[package]]
 name = "glib"
-version = "0.19.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "170ee82b9b44b3b5fd1cf4971d6cf0eadec38303bb84c7bcc4e6b95a18934e71"
+checksum = "ab9e86540b5d8402e905ad4ce7d6aa544092131ab564f3102175af176b90a053"
 dependencies = [
  "bitflags 2.4.2",
  "futures-channel",
@@ -1405,15 +1434,15 @@ dependencies = [
 
 [[package]]
 name = "glib-macros"
-version = "0.19.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ff52fff7e4d1bb8598ae744e9bb90c8c76271712483c3f0ce931bee9814de85"
+checksum = "0f5897ca27a83e4cdc7b4666850bade0a2e73e17689aabafcc9acddad9d823b8"
 dependencies = [
  "heck",
  "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1445,9 +1474,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-rs"
-version = "0.19.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "147827e4f506f8073ac3ec5b28cc2255bdf3abc30f5b4e101a80506eebe11d2c"
+checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91"
 dependencies = [
  "glib",
  "graphene-sys",
@@ -1468,9 +1497,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e8ce8dee0fd87a11002214b1204ff18c9272fbd530408f0884a0f9b25dc31de"
+checksum = "c65036fc8f99579e8cb37b12487969b707ab23ec8ab953682ff347cbd15d396e"
 dependencies = [
  "cairo-rs",
  "gdk4",
@@ -1483,9 +1512,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4-sys"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2660a652da5b662d43924df19ba40d73f015ed427329ef51d2b1360a4e0dc0e4"
+checksum = "bd24c814379f9c3199dc53e52253ee8d0f657eae389ab282c330505289d24738"
 dependencies = [
  "cairo-sys-rs",
  "gdk4-sys",
@@ -1499,9 +1528,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d26ffa3ec6316ccaa1df62d3e7f5bae1637c0acbb43f250fabef38319f73c64"
+checksum = "aa82753b8c26277e4af1446c70e35b19aad4fb794a7b143859e7eeb9a4025d83"
 dependencies = [
  "cairo-rs",
  "field-offset",
@@ -1520,9 +1549,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4-macros"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8b86439e9896f6f3f47c3d8077c5c8205174078760afdabd9098a8e9e937d97"
+checksum = "40300bf071d2fcd4c94eacc09e84ec6fe73129d2ceb635cf7e55b026b5443567"
 dependencies = [
  "anyhow",
  "proc-macro-crate 3.1.0",
@@ -1534,9 +1563,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4-sys"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2abc0a6d356d59a3806021829ce6ed3e70bba3509b41a535fedcb09fae13fbc0"
+checksum = "0db1b104138f087ccdc81d2c332de5dd049b89de3d384437cc1093b17cd2da18"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1572,9 +1601,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.5"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -1605,9 +1634,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.2.2"
+version = "2.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
+checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -1707,9 +1736,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1808,12 +1837,12 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libloading"
-version = "0.8.1"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
 dependencies = [
  "cfg-if",
- "windows-sys 0.48.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -1922,9 +1951,9 @@ checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "loom"
@@ -2032,7 +2061,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2083,18 +2112,19 @@ dependencies = [
 
 [[package]]
 name = "niri"
-version = "0.1.2"
+version = "0.1.3"
 dependencies = [
  "anyhow",
  "arrayvec",
  "async-channel",
  "async-io 1.13.0",
  "bitflags 2.4.2",
- "calloop",
+ "calloop 0.13.0",
  "clap",
  "directories",
  "futures-util",
  "git-version",
+ "glam",
  "input",
  "keyframe",
  "libc",
@@ -2125,9 +2155,10 @@ dependencies = [
 
 [[package]]
 name = "niri-config"
-version = "0.1.2"
+version = "0.1.3"
 dependencies = [
  "bitflags 2.4.2",
+ "csscolorparser",
  "knuffel",
  "miette",
  "niri-ipc",
@@ -2139,7 +2170,7 @@ dependencies = [
 
 [[package]]
 name = "niri-ipc"
-version = "0.1.2"
+version = "0.1.3"
 dependencies = [
  "clap",
  "serde",
@@ -2147,7 +2178,7 @@ dependencies = [
 
 [[package]]
 name = "niri-visual-tests"
-version = "0.1.2"
+version = "0.1.3"
 dependencies = [
  "anyhow",
  "gtk4",
@@ -2249,7 +2280,7 @@ dependencies = [
  "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2342,9 +2373,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
 name = "pango"
-version = "0.19.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78d7f779b957728c74fd1a060dfa6d89a0bea792ebc50cc2da80e4e87282d69e"
+checksum = "7809e8af4df8d024a066106b72ca6bc7253a484ae3867041a96103ef8a13188d"
 dependencies = [
  "gio",
  "glib",
@@ -2366,9 +2397,9 @@ dependencies = [
 
 [[package]]
 name = "pangocairo"
-version = "0.19.1"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9615c6294903a6ea26fa63984b18e51275354d1fa91bbde68eeb7fa3ab61a72f"
+checksum = "6620c77967c62c7a84c6ca15ab855e8eecb248beb8ee43bc0eeaadd39123f687"
 dependencies = [
  "cairo-rs",
  "glib",
@@ -2409,6 +2440,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_macros",
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_macros"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
 name = "pin-project-lite"
 version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2479,15 +2552,15 @@ checksum = "a1a0483e89e81d7915defe83c51f23f6800594d64f6f4a21253ce87fd8444ada"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "png"
-version = "0.17.11"
+version = "0.17.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -2514,9 +2587,9 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.4.0"
+version = "3.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
+checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
@@ -2598,9 +2671,9 @@ dependencies = [
 
 [[package]]
 name = "profiling"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f0f7f43585c34e4fdd7497d746bc32e14458cf11c69341cc0587b1d825dde42"
+checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58"
 dependencies = [
  "profiling-procmacros",
  "tracy-client",
@@ -2608,12 +2681,12 @@ dependencies = [
 
 [[package]]
 name = "profiling-procmacros"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce97fecd27bc49296e5e20518b5a1bb54a14f7d5fe6228bc9686ee2a74915cc8"
+checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd"
 dependencies = [
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2762,7 +2835,7 @@ checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.5",
+ "regex-automata 0.4.6",
  "regex-syntax 0.8.2",
 ]
 
@@ -2777,9 +2850,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2860,9 +2933,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.16"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "same-file"
@@ -2893,35 +2966,35 @@ checksum = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32"
 
 [[package]]
 name = "semver"
-version = "1.0.21"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 
 [[package]]
 name = "serde"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.196"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.113"
+version = "1.0.114"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
 dependencies = [
  "itoa",
  "ryu",
@@ -2936,7 +3009,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2990,6 +3063,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
 name = "slab"
 version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3007,11 +3086,11 @@ checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 [[package]]
 name = "smithay"
 version = "0.3.0"
-source = "git+https://github.com/Smithay/smithay.git#832dee8586d783d4c60a162ef8aabca2ba7fd499"
+source = "git+https://github.com/Smithay/smithay.git#8287457195cf6a495331f65f5e0119f931ff7e79"
 dependencies = [
  "appendlist",
  "bitflags 2.4.2",
- "calloop",
+ "calloop 0.13.0",
  "cc",
  "cgmath",
  "cursor-icon",
@@ -3058,7 +3137,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a"
 dependencies = [
  "bitflags 2.4.2",
- "calloop",
+ "calloop 0.12.4",
  "calloop-wayland-source",
  "cursor-icon",
  "libc",
@@ -3079,7 +3158,7 @@ dependencies = [
 [[package]]
 name = "smithay-drm-extras"
 version = "0.1.0"
-source = "git+https://github.com/Smithay/smithay.git#832dee8586d783d4c60a162ef8aabca2ba7fd499"
+source = "git+https://github.com/Smithay/smithay.git#8287457195cf6a495331f65f5e0119f931ff7e79"
 dependencies = [
  "drm",
  "edid-rs",
@@ -3129,9 +3208,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.48"
+version = "2.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3153,9 +3232,9 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.13"
+version = "0.12.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
 
 [[package]]
 name = "tauri-winrt-notification"
@@ -3169,9 +3248,9 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.10.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
@@ -3181,29 +3260,29 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.56"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.56"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.1.7"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
 dependencies = [
  "cfg-if",
  "once_cell",
@@ -3252,7 +3331,7 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.22.4",
+ "toml_edit 0.22.6",
 ]
 
 [[package]]
@@ -3272,7 +3351,7 @@ checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
  "indexmap",
  "toml_datetime",
- "winnow",
+ "winnow 0.5.40",
 ]
 
 [[package]]
@@ -3283,20 +3362,20 @@ checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
 dependencies = [
  "indexmap",
  "toml_datetime",
- "winnow",
+ "winnow 0.5.40",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.22.4"
+version = "0.22.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
+checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.5",
 ]
 
 [[package]]
@@ -3318,7 +3397,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -3362,9 +3441,9 @@ dependencies = [
 
 [[package]]
 name = "tracy-client"
-version = "0.16.5"
+version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "307e6b7030112fe9640fdd87988a40795549ba75c355f59485d14e6b444d2987"
+checksum = "59fb931a64ff88984f86d3e9bcd1ae8843aa7fe44dd0f8097527bc172351741d"
 dependencies = [
  "loom",
  "once_cell",
@@ -3429,9 +3508,9 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
@@ -3500,9 +3579,9 @@ checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -3516,9 +3595,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -3526,24 +3605,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.41"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -3553,9 +3632,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3563,22 +3642,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "wayland-backend"
@@ -3732,9 +3811,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -3833,7 +3912,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -3868,17 +3947,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -3895,9 +3974,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -3913,9 +3992,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -3931,9 +4010,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -3949,9 +4028,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -3967,9 +4046,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -3985,9 +4064,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -4003,22 +4082,22 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winit"
-version = "0.29.10"
+version = "0.29.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf"
+checksum = "a7a3db69ffbe53a9babec7804da7a90f21020fcce1f2f5e5291e2311245b993d"
 dependencies = [
  "ahash",
  "android-activity",
  "atomic-waker",
  "bitflags 2.4.2",
  "bytemuck",
- "calloop",
+ "calloop 0.12.4",
  "cfg_aliases",
  "core-foundation",
  "core-graphics",
@@ -4056,9 +4135,18 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.5.39"
+version = "0.5.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winnow"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
 dependencies = [
  "memchr",
 ]
@@ -4124,9 +4212,9 @@ dependencies = [
 
 [[package]]
 name = "xkbcommon-dl"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
+checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5"
 dependencies = [
  "bitflags 2.4.2",
  "dlib",
@@ -4173,9 +4261,9 @@ dependencies = [
 
 [[package]]
 name = "zbus"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8"
+checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6"
 dependencies = [
  "async-broadcast",
  "async-executor",
@@ -4214,9 +4302,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d"
+checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5"
 dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
@@ -4228,9 +4316,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_names"
-version = "2.6.0"
+version = "2.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9"
+checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d"
 dependencies = [
  "serde",
  "static_assertions",
@@ -4254,14 +4342,14 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.48",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "zvariant"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c"
+checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db"
 dependencies = [
  "byteorder",
  "enumflags2",
@@ -4273,9 +4361,9 @@ dependencies = [
 
 [[package]]
 name = "zvariant_derive"
-version = "3.15.0"
+version = "3.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
+checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9"
 dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
diff --git a/pkgs/by-name/ni/niri/package.nix b/pkgs/by-name/ni/niri/package.nix
index f704155fe70d7..e8bf2773b3b3a 100644
--- a/pkgs/by-name/ni/niri/package.nix
+++ b/pkgs/by-name/ni/niri/package.nix
@@ -20,19 +20,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "niri";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "YaLTeR";
     repo = "niri";
     rev = "v${version}";
-    hash = "sha256-vO6ak5rT6ntBC20vYC36zcEcHv7Cki9y8A+c7ThfsUg=";
+    hash = "sha256-VTtXEfxc3OCdtdYiEdtftOQ7gDJNb679Yw8v1Lu3lhY=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "smithay-0.3.0" = "sha256-ZEWamojE5ZRlhPVv/DK2Mj+QIz7zudw9+AxFD7Onr9Q=";
+      "smithay-0.3.0" = "sha256-sXdixfPLAUIIVK+PhqRuMZ7XKNJIGkWNlH8nBzXlxCU=";
     };
   };
 
@@ -66,25 +66,24 @@ rustPlatform.buildRustPackage rec {
 
   passthru.providedSessions = ["niri"];
 
-  postInstall = ''
-    mkdir -p $out/share/{systemd/user,wayland-sessions,xdg-desktop-portal}
-
-    cp ./resources/niri-session $out/bin/niri-session
-    cp ./resources/niri.service $out/share/systemd/user/niri.service
-    cp ./resources/niri-shutdown.target $out/share/systemd/user/niri-shutdown.target
-    cp ./resources/niri.desktop $out/share/wayland-sessions/niri.desktop
-    cp ./resources/niri-portals.conf $out/share/xdg-desktop-portal/niri-portals.conf
+  postPatch = ''
+    patchShebangs ./resources/niri-session
+    substituteInPlace ./resources/niri.service \
+      --replace-fail '/usr/bin' "$out/bin"
   '';
 
-  postFixup = ''
-    sed -i "s#/usr#$out#" $out/share/systemd/user/niri.service
+  postInstall = ''
+    install -Dm0755 ./resources/niri-session -t $out/bin
+    install -Dm0644 resources/niri.desktop -t $out/share/wayland-sessions
+    install -Dm0644 resources/niri-portals.conf -t $out/share/xdg-desktop-portal
+    install -Dm0644 resources/niri{-shutdown.target,.service} -t $out/share/systemd/user
   '';
 
   meta = with lib; {
     description = "A scrollable-tiling Wayland compositor";
     homepage = "https://github.com/YaLTeR/niri";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ iogamaster ];
+    maintainers = with maintainers; [ iogamaster foo-dogsquared ];
     mainProgram = "niri";
     platforms = platforms.linux;
   };
diff --git a/pkgs/by-name/no/nom/package.nix b/pkgs/by-name/no/nom/package.nix
index 2dce6de227a1d..192a231f11d51 100644
--- a/pkgs/by-name/no/nom/package.nix
+++ b/pkgs/by-name/no/nom/package.nix
@@ -4,13 +4,13 @@
 }:
 buildGoModule rec {
   pname = "nom";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "guyfedwards";
     repo = "nom";
     rev = "v${version}";
-    hash = "sha256-PBhwIyGzWbXRTmp+IvFPqae4cbb6l6nIYcFheYkHlFI=";
+    hash = "sha256-W0vfYAEQYixbnOQhA59sj2uSAcbqoS/OMiB3TfXsv/Y=";
   };
 
   vendorHash = "sha256-fP6yxfIQoVaBC9hYcrCyo3YP3ntEVDbDTwKMO9TdyDI=";
diff --git a/pkgs/by-name/no/nomacs/package.nix b/pkgs/by-name/no/nomacs/package.nix
new file mode 100644
index 0000000000000..5f4ee57ed94fc
--- /dev/null
+++ b/pkgs/by-name/no/nomacs/package.nix
@@ -0,0 +1,90 @@
+{ lib
+, cmake
+, exiv2
+, fetchFromGitHub
+, libraw
+, libsForQt5
+, libtiff
+, opencv4
+, pkg-config
+, stdenv
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "nomacs";
+  version = "3.17.2295";
+
+  src = fetchFromGitHub {
+    owner = "nomacs";
+    repo = "nomacs";
+    rev = finalAttrs.version;
+    fetchSubmodules = false; # We'll use our own
+    hash = "sha256-jHr7J0X1v2n/ZK0y3b/XPDISk7e08VWS6nicJU4fKKY=";
+  };
+
+  # Because some unknown reason split outputs is breaking on Darwin
+  outputs = if stdenv.isDarwin
+            then [ "out" ]
+            else [ "out" "man" ];
+
+  sourceRoot = "${finalAttrs.src.name}/ImageLounge";
+
+  nativeBuildInputs = [
+    cmake
+    libsForQt5.wrapQtAppsHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    exiv2
+    libraw
+    libtiff
+    opencv4
+  ] ++ (with libsForQt5; [
+    qtbase
+    qtimageformats
+    qtsvg
+    qttools
+    quazip
+  ]);
+
+  cmakeFlags = [
+    (lib.cmakeBool "ENABLE_OPENCV" true)
+    (lib.cmakeBool "ENABLE_QUAZIP" true)
+    (lib.cmakeBool "ENABLE_RAW" true)
+    (lib.cmakeBool "ENABLE_TIFF" true)
+    (lib.cmakeBool "ENABLE_TRANSLATIONS" true)
+    (lib.cmakeBool "USE_SYSTEM_QUAZIP" true)
+  ];
+
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    mkdir -p $out/lib
+    mv $out/libnomacsCore.dylib $out/lib/libnomacsCore.dylib
+  '';
+
+  meta = {
+    homepage = "https://nomacs.org";
+    description = "Qt-based image viewer";
+    longDescription = ''
+      nomacs is a free, open source image viewer, which supports multiple
+      platforms. You can use it for viewing all common image formats including
+      RAW and psd images.
+
+      nomacs features semi-transparent widgets that display additional
+      information such as thumbnails, metadata or histogram. It is able to
+      browse images in zip or MS Office files which can be extracted to a
+      directory. Metadata stored with the image can be displayed and you can add
+      notes to images. A thumbnail preview of the current folder is included as
+      well as a file explorer panel which allows switching between
+      folders. Within a directory you can apply a file filter, so that only
+      images are displayed whose filenames have a certain string or match a
+      regular expression. Activating the cache allows for instantly switching
+      between images.
+    '';
+    changelog = "https://github.com/nomacs/nomacs/releases/tag/${finalAttrs.src.rev}";
+    license = with lib.licenses; [ gpl3Plus ];
+    mainProgram = "nomacs";
+    maintainers = with lib.maintainers; [ AndersonTorres mindavi ];
+    inherit (libsForQt5.qtbase.meta) platforms;
+  };
+})
diff --git a/pkgs/by-name/nu/numbat/package.nix b/pkgs/by-name/nu/numbat/package.nix
index d07753b3ffe84..26e0c6f61d5cc 100644
--- a/pkgs/by-name/nu/numbat/package.nix
+++ b/pkgs/by-name/nu/numbat/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "numbat";
-  version = "1.10.1";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "numbat";
     rev = "v${version}";
-    hash = "sha256-/jt1+21yem0q/dlc7z89MRaVrnllb9QLSQUo2f/9q8o=";
+    hash = "sha256-/XUDtyOk//J4S9NoRP/s5s6URkdzePhW7UQ4FxDgmhs=";
   };
 
-  cargoHash = "sha256-8AA0LTw/9kd6yDme4N3/ANVkS67eoLrJviNhdqUftXM=";
+  cargoHash = "sha256-uM4LmD78ZHAzx5purTO+MUstaSrR+j2LuSDUBI2tl3s=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/by-name/ob/obs-cmd/package.nix b/pkgs/by-name/ob/obs-cmd/package.nix
new file mode 100644
index 0000000000000..71fe89fb7b3ee
--- /dev/null
+++ b/pkgs/by-name/ob/obs-cmd/package.nix
@@ -0,0 +1,26 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "obs-cmd";
+  version = "0.17.4";
+
+  src = fetchFromGitHub {
+    owner = "grigio";
+    repo = "obs-cmd";
+    rev = "v${version}";
+    hash = "sha256-HCvIMIQZKzIkpYL9F9oM4xiE/gOeI+7dMj9QmhetHm4=";
+  };
+
+  cargoHash = "sha256-AQRjZH3WhZXU6NhDSCv4/HWz5un1nFtuzWPYSJA9XaE=";
+
+  meta = with lib; {
+    description = "Minimal CLI to control OBS Studio via obs-websocket";
+    homepage = "https://github.com/grigio/obs-cmd";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ianmjones ];
+    mainProgram = "obs-cmd";
+  };
+}
diff --git a/pkgs/by-name/op/opengv/package.nix b/pkgs/by-name/op/opengv/package.nix
new file mode 100644
index 0000000000000..ffe10a4d732bb
--- /dev/null
+++ b/pkgs/by-name/op/opengv/package.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, eigen
+, fetchFromGitHub
+, cmake
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "opengv";
+  version = "0-unstable-2020-08-06";
+
+  src = fetchFromGitHub {
+    owner = "laurentkneip";
+    repo = "opengv";
+    rev = "91f4b19c73450833a40e463ad3648aae80b3a7f3";
+    hash = "sha256-LfnylJ9NCHlqjT76Tgku4NwxULJ+WDAcJQ2lDKGWSI4=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    eigen
+  ];
+
+  cmakeFlakes = [
+    (lib.cmakeFeature "CMAKE_BUILD_TYPE" "Release")
+  ];
+
+  meta = {
+    description = "A collection of computer vision methods for solving geometric vision problems";
+    homepage = "https://github.com/laurentkneip/opengv";
+    license = lib.licenses.bsd2;
+    longDescription = ''OpenGV is a collection of computer vision methods for solving
+        geometric vision problems. It contains absolute-pose, relative-pose,
+        triangulation, and point-cloud alignment methods for the calibrated
+        case. All problems can be solved with central or non-central cameras,
+        and embedded into a random sample consensus or nonlinear optimization
+        context. Matlab and Python interfaces are implemented as well. The link
+        to the above pages also shows links to precompiled Matlab mex-libraries.
+        Please consult the documentation for more information.'';
+    maintainers = [ lib.maintainers.locochoco ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/pi/pixi/package.nix b/pkgs/by-name/pi/pixi/package.nix
index 1592ce9849f9d..2c7a1d8f207e2 100644
--- a/pkgs/by-name/pi/pixi/package.nix
+++ b/pkgs/by-name/pi/pixi/package.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pixi";
-  version = "0.13.0";
+  version = "0.15.2";
 
   src = fetchFromGitHub {
     owner = "prefix-dev";
     repo = "pixi";
     rev = "v${version}";
-    hash = "sha256-4EKJwHXNDUGhwlSSZFoPHdG5WBDoHFAQncG+CpD2sik=";
+    hash = "sha256-bh8Uu6Q2AND50Qzivc6k1Z8JWudkHC2i4YW1Hxa69SM=";
   };
 
-  cargoHash = "sha256-s1ODwuYv1x5/iP8yHS5FRk5MacrW81LaXI7/J+qtPNM=";
+  cargoHash = "sha256-yMIcPwnuN7F2ZrOtJw8T+nxeSzLsYn+iC34bYeWpi/w=";
 
   nativeBuildInputs = [
     pkg-config
@@ -35,6 +35,13 @@ rustPlatform.buildRustPackage rec {
     with darwin.apple_sdk_11_0.frameworks; [ CoreFoundation IOKit SystemConfiguration Security ]
   );
 
+  # There are some CI failures with Rattler. Tests on Aarch64 has been skipped.
+  # See https://github.com/prefix-dev/pixi/pull/241.
+  doCheck = !stdenv.isAarch64;
+
+  preCheck = ''
+    export HOME="$(mktemp -d)"
+  '';
 
   checkFlags = [
     # Skip tests requiring network
@@ -49,7 +56,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   postInstall = ''
-    installShellCompletion --cmd pix \
+    installShellCompletion --cmd pixi \
       --bash <($out/bin/pixi completion --shell bash) \
       --fish <($out/bin/pixi completion --shell fish) \
       --zsh <($out/bin/pixi completion --shell zsh)
diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/by-name/pq/pqiv/package.nix
index 0cc568c7e0925..d3bb3efcf6067 100644
--- a/pkgs/applications/graphics/pqiv/default.nix
+++ b/pkgs/by-name/pq/pqiv/package.nix
@@ -1,20 +1,39 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config
-, ffmpeg, gtk3, imagemagick, libarchive, libspectre, libwebp, poppler
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  pkg-config,
+  ffmpeg,
+  gtk3,
+  imagemagick,
+  libarchive,
+  libspectre,
+  libwebp,
+  poppler,
 }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "pqiv";
   version = "2.13";
 
   src = fetchFromGitHub {
     owner = "phillipberndt";
     repo = "pqiv";
-    rev = version;
-    sha256 = "sha256-Jlc6sd9lRWUC1/2GZnJ0EmVRHxCXP8dTZNZEhJBS7oQ=";
+    rev = finalAttrs.version;
+    hash = "sha256-Jlc6sd9lRWUC1/2GZnJ0EmVRHxCXP8dTZNZEhJBS7oQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ ffmpeg gtk3 imagemagick libarchive libspectre libwebp poppler ];
+
+  buildInputs = [
+    ffmpeg
+    gtk3
+    imagemagick
+    libarchive
+    libspectre
+    libwebp
+    poppler
+  ];
 
   prePatch = "patchShebangs .";
 
@@ -22,7 +41,7 @@ stdenv.mkDerivation (rec {
     description = "Powerful image viewer with minimal UI";
     homepage = "https://www.pberndt.com/Programme/Linux/pqiv";
     license = licenses.gpl3Plus;
-    maintainers = [];
+    maintainers = with maintainers; [ donovanglover ];
     platforms = platforms.linux;
     mainProgram = "pqiv";
   };
diff --git a/pkgs/by-name/pr/pretalx/package.nix b/pkgs/by-name/pr/pretalx/package.nix
index a4bf9fc9b5efb..d353fa6462f57 100644
--- a/pkgs/by-name/pr/pretalx/package.nix
+++ b/pkgs/by-name/pr/pretalx/package.nix
@@ -27,18 +27,19 @@ let
     };
   };
 
-  version = "2023.1.3";
+  version = "2024.1.0";
 
   src = fetchFromGitHub {
     owner = "pretalx";
     repo = "pretalx";
     rev = "v${version}";
-    hash = "sha256-YxmkjfftNrInIcSkK21wJXiEU6hbdDa1Od8p+HiLprs=";
+    hash = "sha256-rFOlovybaEZnv5wBx6Dv8bVkP1D+CgYAKRXuNb6hLKQ=";
   };
 
   meta = with lib; {
     description = "Conference planning tool: CfP, scheduling, speaker management";
     homepage = "https://github.com/pretalx/pretalx";
+    changelog = "https://docs.pretalx.org/en/latest/changelog.html";
     license = licenses.asl20;
     maintainers = teams.c3d2.members;
     platforms = platforms.linux;
@@ -50,7 +51,7 @@ let
 
     sourceRoot = "${src.name}/src/pretalx/frontend/schedule-editor";
 
-    npmDepsHash = "sha256-4cnBHZ8WpHgp/bbsYYbdtrhuD6ffUAZq9ZjoLpWGfRg=";
+    npmDepsHash = "sha256-B9R3Nn4tURNxzeyLDHscqHxYOQK9AcmDnyNq3k5WQQs=";
 
     npmBuildScript = "build";
 
@@ -72,22 +73,11 @@ python.pkgs.buildPythonApplication rec {
       --replace 'subprocess.check_call(["npm", "run", "build"], cwd=frontend_dir, env=env)' ""
 
     substituteInPlace src/setup.cfg \
-      --replace "--cov=./" ""
+      --replace "--cov=./ --cov-report=" ""
   '';
 
   nativeBuildInputs = [
     gettext
-    python.pkgs.pythonRelaxDepsHook
-  ];
-
-  pythonRelaxDeps = [
-    "bleach"
-    "cssutils"
-    "django-filter"
-    "django-formtools"
-    "libsass"
-    "markdown"
-    "pillow"
   ];
 
   propagatedBuildInputs = with python.pkgs; [
@@ -174,6 +164,7 @@ python.pkgs.buildPythonApplication rec {
   nativeCheckInputs = with python.pkgs; [
     faker
     freezegun
+    jsonschema
     pytest-django
     pytest-mock
     pytest-xdist
@@ -185,9 +176,16 @@ python.pkgs.buildPythonApplication rec {
     # tries to run npm run i18n:extract
     "test_common_custom_makemessages_does_not_blow_up"
     # Expected to perform X queries or less but Y were done
+    "test_can_see_schedule"
     "test_schedule_export_public"
     "test_schedule_frab_json_export"
+    "test_schedule_frab_xcal_export"
     "test_schedule_frab_xml_export"
+    "test_schedule_frab_xml_export_control_char"
+    "test_schedule_page_text_list"
+    "test_schedule_page_text_table"
+    "test_schedule_page_text_wrong_format"
+    "test_versioned_schedule_page"
   ];
 
   passthru = {
diff --git a/pkgs/by-name/py/pyprland/package.nix b/pkgs/by-name/py/pyprland/package.nix
index efb35780b89bc..4dce7b6cf56c5 100644
--- a/pkgs/by-name/py/pyprland/package.nix
+++ b/pkgs/by-name/py/pyprland/package.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyprland";
-  version = "2.0.5";
+  version = "2.0.8";
   format = "pyproject";
 
   disabled = python3Packages.pythonOlder "3.10";
@@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
     owner = "hyprland-community";
     repo = "pyprland";
     rev = "refs/tags/${version}";
-    hash = "sha256-VaNJ6hSdcH23Vk7JJpmNV6Qxb7gK5xWK6WHdeyfjUvQ=";
+    hash = "sha256-oLatPMTiDGRgci5rWBnB6dGDXQKOUMjoh8a7h/0EHxA=";
   };
 
   nativeBuildInputs = with python3Packages; [ poetry-core ];
diff --git a/pkgs/by-name/qu/quicktype/package.nix b/pkgs/by-name/qu/quicktype/package.nix
index c6dc593d061c0..fb4a801af6bd4 100644
--- a/pkgs/by-name/qu/quicktype/package.nix
+++ b/pkgs/by-name/qu/quicktype/package.nix
@@ -2,13 +2,13 @@
 
 buildNpmPackage rec {
   pname = "quicktype";
-  version = "23.0.104"; # version from https://npm.im/quicktype
+  version = "23.0.105"; # version from https://npm.im/quicktype
 
   src = fetchFromGitHub {
     owner = "glideapps";
     repo = "quicktype";
-    rev = "916cd94a9d4fdeab870b6a12f42ad43ebaedf314"; # version not tagged
-    hash = "sha256-PI9YgFVy7Mlln9+7IAU9vzyvK606PuAJ32st3NDwXIw=";
+    rev = "0b5924db1d3858d6f4abe5923cce53b2f4e581aa"; # version not tagged
+    hash = "sha256-JqpTnIhxLxLECqW8DjG1Oig/HOs9PpwmjdfhwE8sJAA=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/re/renode-unstable/package.nix b/pkgs/by-name/re/renode-unstable/package.nix
index cf31a1208b228..8264a1a35a95a 100644
--- a/pkgs/by-name/re/renode-unstable/package.nix
+++ b/pkgs/by-name/re/renode-unstable/package.nix
@@ -7,10 +7,10 @@
   inherit buildUnstable;
 }).overrideAttrs (finalAttrs: _: {
   pname = "renode-unstable";
-  version = "1.14.0+20240305gitcec51e561";
+  version = "1.14.0+20240308git65e3eb0f5";
 
   src = fetchurl {
     url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz";
-    hash = "sha256-dXT4C/s7Aygqhq0U6MiPsQL8ZvjPfTzKYuhA6aRQKlI=";
+    hash = "sha256-s0SK4Ixl2hTbh6X3nddjKNpnxePjcd/SRXnP/xytInc=";
   };
 })
diff --git a/pkgs/by-name/ry/ryujinx/package.nix b/pkgs/by-name/ry/ryujinx/package.nix
index 9628ab9c6f3a4..2ff0df5f60800 100644
--- a/pkgs/by-name/ry/ryujinx/package.nix
+++ b/pkgs/by-name/ry/ryujinx/package.nix
@@ -94,11 +94,12 @@ buildDotnetModule rec {
     pushd ${src}/distribution/linux
 
     install -D ./Ryujinx.desktop $out/share/applications/Ryujinx.desktop
+    install -D ./Ryujinx.sh $out/bin/Ryujinx.sh
     install -D ./mime/Ryujinx.xml $out/share/mime/packages/Ryujinx.xml
     install -D ../misc/Logo.svg $out/share/icons/hicolor/scalable/apps/Ryujinx.svg
 
     substituteInPlace $out/share/applications/Ryujinx.desktop \
-      --replace "Ryujinx %f" "$out/bin/Ryujinx %f"
+      --replace "Ryujinx.sh %f" "$out/bin/Ryujinx.sh %f"
 
     ln -s $out/bin/Ryujinx $out/bin/ryujinx
 
diff --git a/pkgs/by-name/sa/satty/package.nix b/pkgs/by-name/sa/satty/package.nix
index bcb3e37433df5..67f69ab79cfbc 100644
--- a/pkgs/by-name/sa/satty/package.nix
+++ b/pkgs/by-name/sa/satty/package.nix
@@ -3,12 +3,12 @@
 , fetchFromGitHub
 , pkg-config
 , wrapGAppsHook4
-, cairo
 , gdk-pixbuf
 , glib
 , gtk4
 , libadwaita
-, pango
+, libepoxy
+, libGL
 , copyDesktopItems
 , installShellFiles
 }:
@@ -16,16 +16,16 @@
 rustPlatform.buildRustPackage rec {
 
   pname = "satty";
-  version = "0.10.0";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "gabm";
     repo = "Satty";
     rev = "v${version}";
-    hash = "sha256-aE0hQla/FwUAUSVodfQz3s8hdYF6tQSIHl6p5gEtONU=";
+    hash = "sha256-bUDKRAp3/ByxWRzpoD0qGInxQuEfVIeYJ/pCcAEfH14=";
   };
 
-  cargoHash = "sha256-vARrc49+T813uCzIlB1tSS3eNyNeeCvC+G+LFYAsYx8=";
+  cargoHash = "sha256-aH08BJK4uOEUrpoMfVGwGnuzncHHW6w6jjxnk4Xz5zo=";
 
   nativeBuildInputs = [
     copyDesktopItems
@@ -35,12 +35,12 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [
-    cairo
     gdk-pixbuf
     glib
     gtk4
     libadwaita
-    pango
+    libepoxy
+    libGL
   ];
 
   postInstall = ''
diff --git a/pkgs/by-name/sc/scdoc/package.nix b/pkgs/by-name/sc/scdoc/package.nix
index 3d8d759a769a9..5ad6fb3dbaf4b 100644
--- a/pkgs/by-name/sc/scdoc/package.nix
+++ b/pkgs/by-name/sc/scdoc/package.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "scdoc";
-  version = "1.11.2-unstable-2023-03-08";
+  version = "1.11.3";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "scdoc";
-    rev = "afeda241f3f9b2c27e461f32d9c2a704ab82ef61";
-    hash = "sha256-jIYygjUXP/6o5d9drlZjdr25KjEQx8oy4TaQwQEu8fM=";
+    rev = finalAttrs.version;
+    hash = "sha256-MbLDhLn/JY6OcdOz9/mIPAQRp5TZ6IKuQ/FQ/R3wjGc=";
   };
 
   outputs = [ "out" "man" "dev" ];
diff --git a/pkgs/by-name/se/seabird/package.nix b/pkgs/by-name/se/seabird/package.nix
new file mode 100644
index 0000000000000..2727b040674c3
--- /dev/null
+++ b/pkgs/by-name/se/seabird/package.nix
@@ -0,0 +1,66 @@
+{ lib
+, buildGo122Module
+, copyDesktopItems
+, fetchFromGitHub
+, pkg-config
+, wrapGAppsHook4
+, gobject-introspection
+, gtk4
+, gtksourceview5
+, libadwaita
+, libxml2
+, vte-gtk4
+}:
+
+buildGo122Module rec {
+  pname = "seabird";
+  version = "0.2.2";
+
+  src = fetchFromGitHub {
+    owner = "getseabird";
+    repo = "seabird";
+    rev = "v${version}";
+    hash = "sha256-wrZLWDTgcUS8snCqc5rInqitAkrsStL8zmc8vjl4ApQ=";
+  };
+
+  vendorHash = "sha256-z9l6g5NkAErRQo8oiqwKG9ssm8K2S+eSZBD0w4kO3kc=";
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    libxml2
+    pkg-config
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    gobject-introspection
+    gtk4
+    gtksourceview5
+    libadwaita
+    vte-gtk4
+  ];
+
+  ldflags = [ "-s" "-w" ];
+
+  postPatch = ''
+    substituteInPlace main.go --replace-fail 'version = "dev"' 'version = "${version}"'
+  '';
+
+  preBuild = ''
+    go generate internal/icon/icon.go
+  '';
+
+  postInstall = ''
+    install -Dm644 internal/icon/seabird.svg $out/share/pixmaps/dev.skynomads.Seabird.svg
+  '';
+
+  desktopItems = [ "dev.skynomads.Seabird.desktop" ];
+
+  meta = with lib; {
+    description = "Native Kubernetes desktop client";
+    homepage = "https://getseabird.github.io";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ nicolas-goudry ];
+    mainProgram = "seabird";
+  };
+}
diff --git a/pkgs/by-name/se/searxng/package.nix b/pkgs/by-name/se/searxng/package.nix
index 6f541d8a3b38f..2fdf2e8b92843 100644
--- a/pkgs/by-name/se/searxng/package.nix
+++ b/pkgs/by-name/se/searxng/package.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.toPythonModule (python3.pkgs.buildPythonApplication rec {
   pname = "searxng";
-  version = "0-unstable-2024-02-24";
+  version = "0-unstable-2024-03-08";
 
   src = fetchFromGitHub {
     owner = "searxng";
     repo = "searxng";
-    rev = "d72fa99bd0a4d702a55188b07919ce5a764b1d6c";
-    hash = "sha256-1A7dyWrF63fSSvWP+2HrCS6H8o/4CUlqiP0KANVZHUA=";
+    rev = "9c08a0cdddae7ceafbe5e00ce94cf7f1d36c97e0";
+    hash = "sha256-0qlOpJqpOmseIeIafd0NLd2lF5whu18QxmwOua8dKzg=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/se/segger-jlink/package.nix b/pkgs/by-name/se/segger-jlink/package.nix
index cfec869a04ca7..074f687f35f00 100755
--- a/pkgs/by-name/se/segger-jlink/package.nix
+++ b/pkgs/by-name/se/segger-jlink/package.nix
@@ -15,25 +15,25 @@ let
   supported = {
     x86_64-linux = {
       name = "x86_64";
-      hash = "sha256-WGEDvB6TJ8Y2Xl1VUB1JWVMK54OevvPoVGris3I27t4=";
+      hash = "sha256-CELUteYzy0oMxDonOot+DR5MgGjSRwLgRCbJRAaS/EY=";
     };
     i686-linux = {
       name = "i386";
-      hash = "sha256-BOQ4yExDRGKuUvsPUUswElrps0SpXcDCHxy2tmGbV/I=";
+      hash = "sha256-lw3gqgCjmASkelj5lPDnltRJ1Cb+318QjrbirQ6oRFI=";
     };
     aarch64-linux = {
       name = "arm64";
-      hash = "sha256-ZWzaWCUgV4x5Fbz+jphj771kIyLyeoRZKjgf8rmbFxQ=";
+      hash = "sha256-yq/L9k+22OWhwnAROJlsyYd/AH5SHJD231y6xd83N6g=";
     };
     armv7l-linux = {
       name = "arm";
-      hash = "sha256-Qjb5P1XH/CoiLP9iqWyEX0YHUjDIuSdw5ej1bE61T48=";
+      hash = "sha256-FAnzZzz3tgSxgX5n3CUrCbD5lfub91cDkjdD/lVaf0g=";
     };
   };
 
   platform = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}");
 
-  version = "794a";
+  version = "794l";
 
   url = "https://www.segger.com/downloads/jlink/JLink_Linux_V${version}_${platform.name}.tgz";
 
diff --git a/pkgs/by-name/se/sesh/package.nix b/pkgs/by-name/se/sesh/package.nix
new file mode 100644
index 0000000000000..fb9d4ab2930f0
--- /dev/null
+++ b/pkgs/by-name/se/sesh/package.nix
@@ -0,0 +1,29 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildGoModule,
+}:
+buildGoModule rec {
+  pname = "sesh";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "joshmedeski";
+    repo = "sesh";
+    rev = "v${version}";
+    hash = "sha256-m/EcWh4wfna9PB/NN+MCRUsz5Er0OZ70AAumlKdrm/s=";
+  };
+
+  vendorHash = "sha256-zt1/gE4bVj+3yr9n0kT2FMYMEmiooy3k1lQ77rN6sTk=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = {
+    description = "Smart session manager for the terminal";
+    homepage = "https://github.com/joshmedeski/sesh";
+    changelog = "https://github.com/joshmedeski/sesh/releases/tag/${src.rev}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ gwg313 ];
+    mainProgram = "sesh";
+  };
+}
diff --git a/pkgs/by-name/sh/shopware-cli/package.nix b/pkgs/by-name/sh/shopware-cli/package.nix
index b02a7c0dbda63..1a7f3d826d7ec 100644
--- a/pkgs/by-name/sh/shopware-cli/package.nix
+++ b/pkgs/by-name/sh/shopware-cli/package.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "shopware-cli";
-  version = "0.4.25";
+  version = "0.4.28";
   src = fetchFromGitHub {
     repo = "shopware-cli";
     owner = "FriendsOfShopware";
     rev = version;
-    hash = "sha256-CpE1cITQlPP9JDBKt60WcHP7+nb3VvtAIM1R5poIBe0=";
+    hash = "sha256-zj/PusNQtJsbwKi9USZUL/7Zy5IM5mHOz7fYkBYfD2Q=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
   nativeCheckInputs = [ git dart-sass ];
 
-  vendorHash = "sha256-sacgZPml+9NSH5PylOVhvpF1atIs6/Kumk2kKdGbtDY=";
+  vendorHash = "sha256-h3XYXI9Lnfxrnm9U0u6ixDUGK6QBJU/GKVlODw+swy8=";
 
   postInstall = ''
     export HOME="$(mktemp -d)"
diff --git a/pkgs/by-name/so/sophus/package.nix b/pkgs/by-name/so/sophus/package.nix
new file mode 100644
index 0000000000000..e748e864d0ce0
--- /dev/null
+++ b/pkgs/by-name/so/sophus/package.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, eigen
+, fmt
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "sophus";
+  version = "1.22.10";
+
+  src = fetchFromGitHub {
+    owner = "strasdat";
+    repo = "Sophus";
+    rev = finalAttrs.version;
+    hash = "sha256-TNuUoL9r1s+kGE4tCOGFGTDv1sLaHJDUKa6c9x41Z7w=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    eigen
+    fmt
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeBool "BUILD_SOPHUS_TESTS" false)
+    (lib.cmakeBool "BUILD_SOPHUS_EXAMPLES" false)
+  ];
+
+  meta = {
+    description = "C++ implementation of Lie Groups using Eigen";
+    homepage = "https://github.com/strasdat/Sophus";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ locochoco acowley ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/sp/spotube/package.nix b/pkgs/by-name/sp/spotube/package.nix
index 8b0a057daec82..c5b29a43187e5 100644
--- a/pkgs/by-name/sp/spotube/package.nix
+++ b/pkgs/by-name/sp/spotube/package.nix
@@ -17,7 +17,7 @@
 
 let
   pname = "spotube";
-  version = "3.4.1";
+  version = "3.5.0";
 
   meta = {
     description = "An open source, cross-platform Spotify client compatible across multiple platforms";
@@ -46,7 +46,7 @@ let
 
     src = fetchArtifact {
       filename = "Spotube-macos-universal.dmg";
-      hash = "sha256-VobLCxsmE5kGIlDDa3v5xIHkw2x2YV14fgHHcDb+bLo=";
+      hash = "sha256-omXhiH/hVxFef03GqmpYf65SfdLjLyeMyuAWuvSpYiI=";
     };
 
     sourceRoot = ".";
@@ -67,7 +67,7 @@ let
 
     src = fetchArtifact {
       filename = "Spotube-linux-x86_64.deb";
-      hash = "sha256-NEGhzNz0E8jK2NPmigzoPAvYcU7zN9YHikuXHpzWfx0=";
+      hash = "sha256-Rea4GvxdkUfZF8lCBzI9UrD9Iz9D5vq9oxYBn5bahZE=";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/by-name/sr/srm-cuarzo/package.nix b/pkgs/by-name/sr/srm-cuarzo/package.nix
index 71aeb8e316018..8255ade266583 100644
--- a/pkgs/by-name/sr/srm-cuarzo/package.nix
+++ b/pkgs/by-name/sr/srm-cuarzo/package.nix
@@ -14,9 +14,9 @@
 }:
 stdenv.mkDerivation (self: {
   pname = "srm-cuarzo";
-  version = "0.5.3-1";
+  version = "0.5.4-1";
   rev = "v${self.version}";
-  hash = "sha256-KRp+rTpiUbOmUPE9vASwTF+c8TDveFnAEqptcGO5luc=";
+  hash = "sha256-nmYMhX3XtyIyv6Kxi7s+ahkOHfnuLcjpwSU58HcPNeU=";
 
   src = fetchFromGitHub {
     inherit (self) rev hash;
diff --git a/pkgs/by-name/ss/ssh-openpgp-auth/daemon.nix b/pkgs/by-name/ss/ssh-openpgp-auth/daemon.nix
new file mode 100644
index 0000000000000..d25b12ef6a645
--- /dev/null
+++ b/pkgs/by-name/ss/ssh-openpgp-auth/daemon.nix
@@ -0,0 +1,14 @@
+# Ideally, this file would have been placed in
+# pkgs/by-name/ss/sshd-openpgp-auth/package.nix, but since `./generic.nix` is
+# outside of the directory, the nixpkgs-check-by-name test will fail the CI. So
+# we call this file in all-packages.nix like in the old days.
+{ callPackage }:
+
+callPackage ./generic.nix {
+  pname = "sshd-openpgp-auth";
+  version = "0.3.0";
+  srcHash = "sha256-IV0Nhdqyn12HDOp1jaKz3sKTI3ktFd5b6qybCLWt27I=";
+  cargoHash = "sha256-/+lZkVMeFUMRD7NQ/MHDU5f3rkKDx1kDv5tjA41RExc=";
+  metaDescription =
+    "Command-line tool for creating and managing OpenPGP based trust anchors for SSH host keys";
+}
diff --git a/pkgs/by-name/ss/ssh-openpgp-auth/generic.nix b/pkgs/by-name/ss/ssh-openpgp-auth/generic.nix
new file mode 100644
index 0000000000000..5fadd5798ae88
--- /dev/null
+++ b/pkgs/by-name/ss/ssh-openpgp-auth/generic.nix
@@ -0,0 +1,82 @@
+# This file is based upon upstream's package.nix shared among both
+# "ssh-openpgp-auth" and "sshd-openpgpg-auth"
+{ lib
+, rustPlatform
+, fetchFromGitea
+, pkg-config
+, just
+, rust-script
+, installShellFiles
+, bzip2
+, nettle
+, openssl
+, sqlite
+, stdenv
+, darwin
+, openssh
+# Arguments not supplied by callPackage
+, pname , version , srcHash , cargoHash, metaDescription
+}:
+
+rustPlatform.buildRustPackage {
+  inherit pname version;
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "wiktor";
+    repo = "ssh-openpgp-auth";
+    # See also: https://codeberg.org/wiktor/ssh-openpgp-auth/pulls/92#issuecomment-1635274
+    rev = "${pname}/${version}";
+    hash = srcHash;
+  };
+  buildAndTestSubdir = pname;
+  inherit cargoHash;
+
+  nativeBuildInputs = [
+    pkg-config
+    rustPlatform.bindgenHook
+    just
+    rust-script
+    installShellFiles
+  ];
+  # Otherwise just's build, check and install phases take precedence over
+  # buildRustPackage's phases.
+  dontUseJustBuild = true;
+  dontUseJustCheck = true;
+  dontUseJustInstall = true;
+
+  postInstall = ''
+    export HOME=$(mktemp -d)
+    just generate manpages ${pname} $out/share/man/man1
+    just generate shell_completions ${pname} shell_completions
+    installShellCompletion --cmd ${pname} \
+      --bash shell_completions/${pname}.bash \
+      --fish shell_completions/${pname}.fish \
+      --zsh  shell_completions/_${pname}
+  '';
+
+
+  buildInputs = [
+    nettle
+    openssl
+    sqlite
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk_11_0.frameworks.CoreFoundation
+    darwin.apple_sdk_11_0.frameworks.IOKit
+    darwin.apple_sdk_11_0.frameworks.Security
+    darwin.apple_sdk_11_0.frameworks.SystemConfiguration
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    openssh
+  ];
+
+  meta = with lib; {
+    description = metaDescription;
+    homepage = "https://codeberg.org/wiktor/ssh-openpgp-auth";
+    license = with licenses; [ mit /* or */ asl20 ];
+    maintainers = with maintainers; [ doronbehar ];
+    mainProgram = pname;
+  };
+}
diff --git a/pkgs/by-name/ss/ssh-openpgp-auth/package.nix b/pkgs/by-name/ss/ssh-openpgp-auth/package.nix
new file mode 100644
index 0000000000000..53509cc0d05c2
--- /dev/null
+++ b/pkgs/by-name/ss/ssh-openpgp-auth/package.nix
@@ -0,0 +1,10 @@
+{ callPackage }:
+
+callPackage ./generic.nix {
+  pname = "ssh-openpgp-auth";
+  version = "0.2.2";
+  srcHash = "sha256-5ew6jT6Zr54QYaWFQIGYXd8sqC3yHHZjPfoaCossm8o=";
+  cargoHash = "sha256-/k/XAp7PHIJaJWf4Oa1JC1mMSR5pyeM4SSPCcr77cAg=";
+  metaDescription =
+    "Command-line tool that provides client-side functionality to transparently verify the identity of remote SSH hosts";
+}
diff --git a/pkgs/tools/misc/tgpt/default.nix b/pkgs/by-name/tg/tgpt/package.nix
index cf100e5d33fda..5846639beb077 100644
--- a/pkgs/tools/misc/tgpt/default.nix
+++ b/pkgs/by-name/tg/tgpt/package.nix
@@ -1,26 +1,32 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
+, nix-update-script
 }:
 
 buildGoModule rec {
   pname = "tgpt";
-  version = "2.0.4";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "aandrew-me";
     repo = "tgpt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+5hNcemVVuCX1FCL6U9SoJ/Jsef9exQXQFCdPj8qhCk=";
+    hash = "sha256-XuTDEcs1wIrAe7Oaok4aFP01jDcyWB01R3HNrx6UEpo=";
   };
 
-  vendorHash = "sha256-HXpSoihk0s218DVCHe9VCGLBggWY8I25sw2qSaiUz4I=";
+  vendorHash = "sha256-docq/r6yyMPsuUyFbtCMaYfEVL0gLmyTy4PbrAemR00=";
 
   ldflags = [
     "-s"
     "-w"
   ];
 
+  # test tries to access the network
+  doCheck = false;
+
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "ChatGPT in terminal without needing API keys";
     homepage = "https://github.com/aandrew-me/tgpt";
diff --git a/pkgs/by-name/ti/tippecanoe/package.nix b/pkgs/by-name/ti/tippecanoe/package.nix
index 056391f5119e0..9c1960eb22209 100644
--- a/pkgs/by-name/ti/tippecanoe/package.nix
+++ b/pkgs/by-name/ti/tippecanoe/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tippecanoe";
-  version = "2.49.0";
+  version = "2.51.0";
 
   src = fetchFromGitHub {
     owner = "felt";
     repo = "tippecanoe";
     rev = finalAttrs.version;
-    hash = "sha256-Wu6TSld/mxCb4CFXf2oIZpDvX/j3Ujm7Vli4kp04u7c=";
+    hash = "sha256-5Cu+0Tn+ExxJTO5AjeTnIJtnpBNKR7nxudD77X696H0=";
   };
 
   buildInputs = [ sqlite zlib ];
diff --git a/pkgs/by-name/ty/typos-lsp/package.nix b/pkgs/by-name/ty/typos-lsp/package.nix
index 30aeb9e214935..b8ab8a97aac83 100644
--- a/pkgs/by-name/ty/typos-lsp/package.nix
+++ b/pkgs/by-name/ty/typos-lsp/package.nix
@@ -4,16 +4,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "typos-lsp";
-  version = "0.1.14";
+  version = "0.1.15";
 
   src = fetchFromGitHub {
     owner = "tekumara";
     repo = "typos-lsp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eEBGas7RykUbeJDNEUGzW0i6MpocjgJhrMsCU+UrBVM=";
+    hash = "sha256-8mCK/NKik1zf6hqJN4pflDbtFALckHR/8AQborbOoHs=";
   };
 
-  cargoHash = "sha256-u9PW7HH+VUp1rIxtaOvTB3GYRPEkcbyCdI/HWsCRAU0=";
+  cargoHash = "sha256-aL7arYAiTpz9jy7Kh8u7OJmPMjayX4JiKoa7u8K0UiE=";
 
   # fix for compilation on aarch64
   # see https://github.com/NixOS/nixpkgs/issues/145726
diff --git a/pkgs/by-name/ty/typst/Cargo.lock b/pkgs/by-name/ty/typst/Cargo.lock
index b5a869b62793c..ab5ed2c5c4849 100644
--- a/pkgs/by-name/ty/typst/Cargo.lock
+++ b/pkgs/by-name/ty/typst/Cargo.lock
@@ -9,19 +9,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
-name = "ahash"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
-dependencies = [
- "cfg-if",
- "getrandom",
- "once_cell",
- "version_check",
- "zerocopy",
-]
-
-[[package]]
 name = "aho-corasick"
 version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -47,9 +34,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.4"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -61,36 +48,36 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -103,6 +90,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "arbitrary"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
+
+[[package]]
 name = "arrayref"
 version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -128,15 +121,21 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973"
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64"
+version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
 
 [[package]]
 name = "biblatex"
-version = "0.9.0"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88be3c837773ba281f5fd6674c1c82565c62726abe3d76707da6fb9d434cc392"
+checksum = "27fe7285040d0227cd8b5395e1c4783f44f0b673eca5a657f4432ae401f2b7b8"
 dependencies = [
  "numerals",
  "paste",
@@ -177,9 +176,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 dependencies = [
  "serde",
 ]
@@ -198,15 +197,15 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 
 [[package]]
 name = "byteorder"
@@ -216,10 +215,11 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
+ "jobserver",
  "libc",
 ]
 
@@ -231,9 +231,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chinese-number"
-version = "0.7.3"
+version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9cec9efb10b00914876c7e7b1fdaec572b888443b4046cd11ba91eb8c5a1ccb"
+checksum = "49fccaef6346f6d6a741908d3b79fe97c2debe2fbb5eb3a7d00ff5981b52bb6c"
 dependencies = [
  "chinese-variant",
  "enum-ordinalize",
@@ -243,27 +243,27 @@ dependencies = [
 
 [[package]]
 name = "chinese-variant"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17df2e16b0704fc5413214165d1bfdd619f18b1044d5991d5c5351b05fee852e"
+checksum = "7588475145507237ded760e52bf2f1085495245502033756d28ea72ade0e498b"
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "num-traits",
- "windows-targets",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
 name = "ciborium"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
 dependencies = [
  "ciborium-io",
  "ciborium-ll",
@@ -272,15 +272,15 @@ dependencies = [
 
 [[package]]
 name = "ciborium-io"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
 
 [[package]]
 name = "ciborium-ll"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
 dependencies = [
  "ciborium-io",
  "half",
@@ -288,19 +288,19 @@ dependencies = [
 
 [[package]]
 name = "citationberg"
-version = "0.1.1"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c15a0bf8014b266d11f20451dc9202d8d26180ffd8b094d73ecbe74d821f01fb"
+checksum = "82108f2b676c954076d2e5044f19a6a03887b24bd42804f322e0650d13035899"
 dependencies = [
- "quick-xml 0.28.2",
+ "quick-xml",
  "serde",
 ]
 
 [[package]]
 name = "clap"
-version = "4.4.8"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
+checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -308,9 +308,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.8"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
  "anstream",
  "anstyle",
@@ -320,36 +320,36 @@ dependencies = [
 
 [[package]]
 name = "clap_complete"
-version = "4.4.4"
+version = "4.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bffe91f06a11b4b9420f62103854e90867812cd5d01557f853c5ee8e791b12ae"
+checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c"
 dependencies = [
  "clap",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.4.7"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "clap_mangen"
-version = "0.2.15"
+version = "0.2.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3be86020147691e1d2ef58f75346a3d4d94807bfc473e377d52f09f0f7d77f7"
+checksum = "e1dd95b5ebb5c1c54581dd6346f3ed6a79a3eef95dd372fc2ac13d535535300e"
 dependencies = [
  "clap",
  "roff",
@@ -385,30 +385,42 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "comemo"
-version = "0.3.1"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf5705468fa80602ee6a5f9318306e6c428bffd53e43209a78bc05e6e667c6f4"
+checksum = "df6916408a724339aa77b18214233355f3eb04c42eb895e5f8909215bd8a7a91"
 dependencies = [
  "comemo-macros",
+ "once_cell",
+ "parking_lot",
  "siphasher 1.0.0",
 ]
 
 [[package]]
 name = "comemo-macros"
-version = "0.3.1"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54af6ac68ada2d161fa9cc1ab52676228e340866d094d6542107e74b82acc095"
+checksum = "c8936e42f9b4f5bdfaf23700609ac1f11cb03ad4c1ec128a4ee4fd0903e228db"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
 ]
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "core_maths"
@@ -421,55 +433,52 @@ dependencies = [
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
 name = "csv"
@@ -493,16 +502,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "dashmap"
-version = "5.5.3"
+name = "ctrlc"
+version = "3.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b"
 dependencies = [
- "cfg-if",
- "hashbrown 0.14.3",
- "lock_api",
- "once_cell",
- "parking_lot_core",
+ "nix",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -512,6 +518,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
 
 [[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
 name = "dirs"
 version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -529,7 +544,7 @@ dependencies = [
  "libc",
  "option-ext",
  "redox_users",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -540,7 +555,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
 ]
 
 [[package]]
@@ -551,18 +566,18 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
 name = "ecow"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ea5e3f9cda726431da9d1a8d5a29785d544b31e98e1ca7a210906244002e02"
+checksum = "dba31a30727c42ff5e60468d695c7f21e43a6db2808b7195adcab908fbd9f794"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "embedded-io"
@@ -572,24 +587,22 @@ checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced"
 
 [[package]]
 name = "enum-ordinalize"
-version = "3.1.15"
+version = "4.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee"
+checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5"
 dependencies = [
- "num-bigint",
- "num-traits",
- "proc-macro2",
- "quote",
- "syn 2.0.39",
+ "enum-ordinalize-derive",
 ]
 
 [[package]]
-name = "env_logger"
-version = "0.10.1"
+name = "enum-ordinalize-derive"
+version = "4.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff"
 dependencies = [
- "log",
+ "proc-macro2",
+ "quote",
+ "syn",
 ]
 
 [[package]]
@@ -610,12 +623,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -651,23 +664,23 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.1"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
 
 [[package]]
 name = "filetime"
-version = "0.2.22"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.3.5",
- "windows-sys",
+ "redox_syscall",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -694,18 +707,18 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "fontconfig-parser"
-version = "0.5.3"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4"
+checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d"
 dependencies = [
  "roxmltree",
 ]
 
 [[package]]
 name = "fontdb"
-version = "0.15.0"
+version = "0.16.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "020e203f177c0fb250fb19455a252e838d2bbbce1f80f25ecc42402aafa8cd38"
+checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3"
 dependencies = [
  "fontconfig-parser",
  "log",
@@ -716,6 +729,21 @@ dependencies = [
 ]
 
 [[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.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -725,6 +753,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "fs_extra"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
+
+[[package]]
 name = "fsevent-sys"
 version = "4.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -750,9 +784,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -770,10 +804,24 @@ dependencies = [
 ]
 
 [[package]]
+name = "gif"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
 name = "half"
-version = "1.8.2"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
 
 [[package]]
 name = "hashbrown"
@@ -789,18 +837,18 @@ checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "hayagriva"
-version = "0.5.1"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9f97c07366b7f686741521ca63cc14baf18cea53c39b0c09873cd1d4a1b2b8c"
+checksum = "cc2e670de5191df083ddd112cd253049f8213277ccf0c15e18a8bf10e6c666cc"
 dependencies = [
  "biblatex",
  "ciborium",
  "citationberg",
- "indexmap 2.1.0",
+ "indexmap 2.2.5",
  "numerals",
  "paste",
  "serde",
- "serde_yaml 0.9.27",
+ "serde_yaml 0.9.32",
  "thiserror",
  "unic-langid",
  "unicode-segmentation",
@@ -815,30 +863,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
-name = "hermit-abi"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
-
-[[package]]
 name = "hypher"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94bf16dd62ea2bec617a6f8a3e1ba03107311783069a647787ac689d1f35321e"
-
-[[package]]
-name = "iai"
-version = "0.1.1"
-source = "git+https://github.com/typst/iai?rev=3f0f927#3f0f92736408ebce6545808b98e0cb2aea89b7dd"
-dependencies = [
- "cfg-if",
-]
+checksum = "3b24ad5637230df201ab1034d593f1d09bf7f2a9274f2e8897638078579f4265"
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -979,7 +1013,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
 ]
 
 [[package]]
@@ -1023,16 +1057,15 @@ checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed"
 
 [[package]]
 name = "image"
-version = "0.24.7"
+version = "0.24.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
- "gif",
+ "gif 0.13.1",
  "jpeg-decoder",
- "num-rational",
  "num-traits",
  "png",
 ]
@@ -1044,25 +1077,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284"
 
 [[package]]
-name = "include_dir"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e"
-dependencies = [
- "include_dir_macros",
-]
-
-[[package]]
-name = "include_dir_macros"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f"
-dependencies = [
- "proc-macro2",
- "quote",
-]
-
-[[package]]
 name = "indexmap"
 version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1074,9 +1088,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
 dependencies = [
  "equivalent",
  "hashbrown 0.14.3",
@@ -1091,29 +1105,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590"
 
 [[package]]
-name = "inferno"
-version = "0.11.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "321f0f839cd44a4686e9504b0a62b4d69a50b62072144c71c68f5873c167b8d9"
-dependencies = [
- "ahash",
- "clap",
- "crossbeam-channel",
- "crossbeam-utils",
- "dashmap",
- "env_logger",
- "indexmap 2.1.0",
- "is-terminal",
- "itoa",
- "log",
- "num-format",
- "once_cell",
- "quick-xml 0.26.0",
- "rgb",
- "str_stack",
-]
-
-[[package]]
 name = "inotify"
 version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1152,17 +1143,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "is-terminal"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-dependencies = [
- "hermit-abi",
- "rustix",
- "windows-sys",
-]
-
-[[package]]
 name = "is-wsl"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1174,26 +1154,44 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "jobserver"
+version = "0.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 
 [[package]]
 name = "js-sys"
-version = "0.3.66"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
+name = "kamadak-exif"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef4fc70d0ab7e5b6bafa30216a6b48705ea964cdfc29c050f2412295eba58077"
+dependencies = [
+ "mutate_once",
+]
+
+[[package]]
 name = "kqueue"
 version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1230,29 +1228,40 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.150"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libdeflate-sys"
-version = "1.19.0"
+version = "1.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67921a7f85100c1559efc3d1c7c472091b7da05f304b4bbd5356f075e97f1cc2"
+checksum = "cc9caa76c8cc6ee8c4efcf8f4514a812ebcad3aa7d3b548efe4d26da1203f177"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "libdeflater"
-version = "1.19.0"
+version = "1.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a31b22f662350ec294b13859f935aea772ba7b2bc8776269f4a5627308eab7d"
+checksum = "265a985bd31e5f22e2b2ac107cbed44c6ccf40ae236e46963cd00dd213e4bd03"
 dependencies = [
  "libdeflate-sys",
 ]
 
 [[package]]
+name = "libfuzzer-sys"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
+dependencies = [
+ "arbitrary",
+ "cc",
+ "once_cell",
+]
+
+[[package]]
 name = "libm"
 version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1264,9 +1273,9 @@ version = "0.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libc",
- "redox_syscall 0.4.1",
+ "redox_syscall",
 ]
 
 [[package]]
@@ -1286,9 +1295,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.11"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lipsum"
@@ -1321,9 +1330,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lzma-sys"
@@ -1338,33 +1347,24 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memmap2"
-version = "0.8.0"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
  "libc",
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
  "simd-adler32",
@@ -1372,14 +1372,49 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.9"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "log",
  "wasi",
- "windows-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "mutate_once"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b"
+
+[[package]]
+name = "native-tls"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
+]
+
+[[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "libc",
 ]
 
 [[package]]
@@ -1388,7 +1423,7 @@ version = "6.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "crossbeam-channel",
  "filetime",
  "fsevent-sys",
@@ -1398,17 +1433,7 @@ dependencies = [
  "log",
  "mio",
  "walkdir",
- "windows-sys",
-]
-
-[[package]]
-name = "nu-ansi-term"
-version = "0.46.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
-dependencies = [
- "overload",
- "winapi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -1423,41 +1448,25 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-format"
-version = "0.4.4"
+name = "num-conv"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3"
-dependencies = [
- "arrayvec",
- "itoa",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
 
 [[package]]
 name = "num-integer"
-version = "0.1.45"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-rational"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
-dependencies = [
- "autocfg",
- "num-integer",
  "num-traits",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
 ]
@@ -1470,15 +1479,15 @@ checksum = "e25be21376a772d15f97ae789845340a9651d3c4246ff5ebb6a2b35f9c37bd31"
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "open"
-version = "5.0.1"
+version = "5.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90878fb664448b54c4e592455ad02831e23a3f7e157374a8b95654731aac7349"
+checksum = "68b3fbb0d52bf0cbb5225ba3d2c303aa136031d43abff98284332a9981ecddec"
 dependencies = [
  "is-wsl",
  "libc",
@@ -1486,16 +1495,64 @@ dependencies = [
 ]
 
 [[package]]
-name = "option-ext"
-version = "0.2.0"
+name = "openssl"
+version = "0.10.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
+]
 
 [[package]]
-name = "overload"
+name = "openssl-macros"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[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 = "300.2.3+3.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.101"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff"
+dependencies = [
+ "cc",
+ "libc",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
 
 [[package]]
 name = "oxipng"
@@ -1506,7 +1563,7 @@ dependencies = [
  "bitvec",
  "crossbeam-channel",
  "filetime",
- "indexmap 2.1.0",
+ "indexmap 2.2.5",
  "libdeflater",
  "log",
  "rayon",
@@ -1518,9 +1575,9 @@ dependencies = [
 
 [[package]]
 name = "palette"
-version = "0.7.3"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2e2f34147767aa758aa649415b50a69eeb46a67f9dc7db8011eeb3d84b351dc"
+checksum = "ebfc23a4b76642983d57e4ad00bb4504eb30a8ce3c70f4aee1f725610e36d97a"
 dependencies = [
  "approx",
  "fast-srgb8",
@@ -1530,13 +1587,23 @@ dependencies = [
 
 [[package]]
 name = "palette_derive"
-version = "0.7.3"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a"
+checksum = "e8890702dbec0bad9116041ae586f84805b13eecd1d8b1df27c29998a9969d6d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -1547,9 +1614,9 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.4.1",
+ "redox_syscall",
  "smallvec",
- "windows-targets",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -1588,27 +1655,31 @@ version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
+ "phf_macros",
  "phf_shared",
 ]
 
 [[package]]
-name = "phf_codegen"
+name = "phf_generator"
 version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
 dependencies = [
- "phf_generator",
  "phf_shared",
+ "rand",
 ]
 
 [[package]]
-name = "phf_generator"
+name = "phf_macros"
 version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
 dependencies = [
+ "phf_generator",
  "phf_shared",
- "rand",
+ "proc-macro2",
+ "quote",
+ "syn",
 ]
 
 [[package]]
@@ -1627,45 +1698,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
 
 [[package]]
-name = "pin-project-lite"
-version = "0.2.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
-
-[[package]]
 name = "pixglyph"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f67591f21f6668e63c1cd85adab066ac8a92bc7b962668dd8042197a6e4b8f8f"
+checksum = "e2e0f8ad4c197db38125b880c3c44544788665c7d5f4c42f5a35da44bca1a712"
 dependencies = [
  "ttf-parser",
 ]
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "plist"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a4a0cfc5fb21a09dc6af4bf834cf10d4a32fccd9e2ea468c4b1751a097487aa"
+checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
 dependencies = [
- "base64",
- "indexmap 1.9.3",
+ "base64 0.21.7",
+ "indexmap 2.2.5",
  "line-wrap",
- "quick-xml 0.30.0",
+ "quick-xml",
  "serde",
  "time",
 ]
 
 [[package]]
 name = "png"
-version = "0.17.10"
+version = "0.17.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -1675,6 +1740,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+
+[[package]]
 name = "postcard"
 version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1686,6 +1757,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1693,9 +1770,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.70"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -1711,49 +1788,37 @@ dependencies = [
 
 [[package]]
 name = "pulldown-cmark"
-version = "0.9.3"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998"
+checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "getopts",
  "memchr",
  "unicase",
 ]
 
 [[package]]
-name = "quick-xml"
-version = "0.26.0"
+name = "qcms"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd"
-dependencies = [
- "memchr",
-]
+checksum = "edecfcd5d755a5e5d98e24cf43113e7cdaec5a070edd0f6b250c03a573da30fa"
 
 [[package]]
 name = "quick-xml"
-version = "0.28.2"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "memchr",
  "serde",
 ]
 
 [[package]]
-name = "quick-xml"
-version = "0.30.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
-dependencies = [
- "memchr",
-]
-
-[[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -1770,8 +1835,6 @@ version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
- "libc",
- "rand_chacha",
  "rand_core",
 ]
 
@@ -1790,15 +1853,12 @@ name = "rand_core"
 version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom",
-]
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd"
 dependencies = [
  "either",
  "rayon-core",
@@ -1806,30 +1866,15 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
 ]
 
 [[package]]
-name = "rctree"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
-
-[[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 = "redox_syscall"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1851,46 +1896,40 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
  "regex-automata",
- "regex-syntax 0.8.2",
+ "regex-syntax",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.8.2",
+ "regex-syntax",
 ]
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
-
-[[package]]
-name = "regex-syntax"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "resvg"
-version = "0.36.0"
+version = "0.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc7980f653f9a7db31acff916a262c3b78c562919263edea29bf41a056e20497"
+checksum = "5c34501046959e06470ba62a2dc7f31c15f94ac250d842a45f9e012f4ee40c1e"
 dependencies = [
- "gif",
+ "gif 0.12.0",
  "jpeg-decoder",
  "log",
  "pico-args",
@@ -1911,20 +1950,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "ring"
-version = "0.17.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
-dependencies = [
- "cc",
- "getrandom",
- "libc",
- "spin",
- "untrusted",
- "windows-sys",
-]
-
-[[package]]
 name = "roff"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1932,12 +1957,9 @@ checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
 
 [[package]]
 name = "roxmltree"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302"
-dependencies = [
- "xmlparser",
-]
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
 
 [[package]]
 name = "rustc-hash"
@@ -1956,46 +1978,15 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.25"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "errno",
  "libc",
  "linux-raw-sys",
- "windows-sys",
-]
-
-[[package]]
-name = "rustls"
-version = "0.21.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
-dependencies = [
- "log",
- "ring",
- "rustls-webpki",
- "sct",
-]
-
-[[package]]
-name = "rustls-pemfile"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
-dependencies = [
- "base64",
-]
-
-[[package]]
-name = "rustls-webpki"
-version = "0.101.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
-dependencies = [
- "ring",
- "untrusted",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2006,11 +1997,11 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "rustybuzz"
-version = "0.10.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71cd15fef9112a1f94ac64b58d1e4628192631ad6af4dc69997f995459c874e7"
+checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "bytemuck",
  "smallvec",
  "ttf-parser",
@@ -2022,9 +2013,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "safemem"
@@ -2042,19 +2033,41 @@ dependencies = [
 ]
 
 [[package]]
+name = "schannel"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "scopeguard"
 version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
-name = "sct"
-version = "0.7.1"
+name = "security-framework"
+version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
- "ring",
- "untrusted",
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
 ]
 
 [[package]]
@@ -2065,40 +2078,40 @@ checksum = "525db198616b2bcd0f245daf7bfd8130222f7ee6af9ff9984c19a61bf1160c55"
 dependencies = [
  "fastrand 1.9.0",
  "tempfile",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 
 [[package]]
 name = "serde"
-version = "1.0.193"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.193"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.108"
+version = "1.0.114"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
 dependencies = [
  "itoa",
  "ryu",
@@ -2107,9 +2120,9 @@ dependencies = [
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.4"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
@@ -2128,11 +2141,11 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.9.27"
+version = "0.9.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cc7a1570e38322cfe4154732e5110f887ea57e22b76f4bfd32b5bdd3368666c"
+checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.5",
  "itoa",
  "ryu",
  "serde",
@@ -2140,15 +2153,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "sharded-slab"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
 name = "simd-adler32"
 version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2177,18 +2181,18 @@ checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"
 
 [[package]]
 name = "slotmap"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "spin"
@@ -2216,12 +2220,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "str_stack"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb"
-
-[[package]]
 name = "strict-num"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2232,30 +2230,30 @@ dependencies = [
 
 [[package]]
 name = "strsim"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
 
 [[package]]
 name = "strum"
-version = "0.24.1"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
+checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f"
 dependencies = [
  "strum_macros",
 ]
 
 [[package]]
 name = "strum_macros"
-version = "0.24.3"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
+checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 1.0.109",
+ "syn",
 ]
 
 [[package]]
@@ -2266,22 +2264,24 @@ checksum = "09eab8a83bff89ba2200bd4c59be45c7c787f988431b936099a5a266c957f2f9"
 
 [[package]]
 name = "svg2pdf"
-version = "0.9.1"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a81da66842e426278f20062cd249779565e13f9ab4bfe0ac9e94eb476bc3a0f3"
+checksum = "ba36b330062be8497fd96597227a757b621b86c4d24d164b06e4522b52b3693e"
 dependencies = [
  "image",
  "miniz_oxide",
  "once_cell",
  "pdf-writer",
+ "resvg",
+ "tiny-skia",
  "usvg",
 ]
 
 [[package]]
 name = "svgtypes"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71499ff2d42f59d26edb21369a308ede691421f79ebc0f001e2b1fd3a7c9e52"
+checksum = "6e44e288cd960318917cbd540340968b90becc8bc81f171345d706e7a89d9d70"
 dependencies = [
  "kurbo",
  "siphasher 0.3.11",
@@ -2289,20 +2289,9 @@ dependencies = [
 
 [[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.39"
+version = "2.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
+checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2311,21 +2300,20 @@ dependencies = [
 
 [[package]]
 name = "synstructure"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
- "unicode-xid",
+ "syn",
 ]
 
 [[package]]
 name = "syntect"
-version = "5.1.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e02b4b303bf8d08bfeb0445cba5068a3d306b6baece1d5582171a9bf49188f91"
+checksum = "874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1"
 dependencies = [
  "bincode",
  "bitflags 1.3.2",
@@ -2334,8 +2322,9 @@ dependencies = [
  "fnv",
  "once_cell",
  "plist",
- "regex-syntax 0.7.5",
+ "regex-syntax",
  "serde",
+ "serde_derive",
  "serde_json",
  "thiserror",
  "walkdir",
@@ -2361,63 +2350,55 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.8.1"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
- "redox_syscall 0.4.1",
  "rustix",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.50"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.50"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
-]
-
-[[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",
+ "syn",
 ]
 
 [[package]]
 name = "time"
-version = "0.3.20"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
+ "deranged",
  "itoa",
+ "num-conv",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -2425,24 +2406,25 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.0"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.8"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
 [[package]]
 name = "tiny-skia"
-version = "0.11.2"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b72a92a05db376db09fe6d50b7948d106011761c05a6a45e23e17ee9b556222"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
 dependencies = [
  "arrayref",
  "arrayvec",
@@ -2455,9 +2437,9 @@ dependencies = [
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.11.2"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ac3865b9708fc7e1961a65c3a4fa55e984272f33092d3c859929f887fceb647"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
 dependencies = [
  "arrayref",
  "bytemuck",
@@ -2492,9 +2474,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "toml"
-version = "0.8.8"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
 dependencies = [
  "serde",
  "serde_spanned",
@@ -2513,11 +2495,11 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.21.0"
+version = "0.22.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.5",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -2525,90 +2507,23 @@ dependencies = [
 ]
 
 [[package]]
-name = "tracing"
-version = "0.1.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
-dependencies = [
- "pin-project-lite",
- "tracing-attributes",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-attributes"
-version = "0.1.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.39",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
-dependencies = [
- "once_cell",
- "valuable",
-]
-
-[[package]]
-name = "tracing-error"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e"
-dependencies = [
- "tracing",
- "tracing-subscriber",
-]
-
-[[package]]
-name = "tracing-flame"
-version = "0.2.0"
+name = "ttf-parser"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bae117ee14789185e129aaee5d93750abe67fdc5a9a62650452bfe4e122a3a9"
-dependencies = [
- "lazy_static",
- "tracing",
- "tracing-subscriber",
-]
+checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
 
 [[package]]
-name = "tracing-log"
-version = "0.2.0"
+name = "two-face"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+checksum = "37bed2135b2459c7eefba72c906d374697eb15949c205f2f124e3636a46b5eeb"
 dependencies = [
- "log",
  "once_cell",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-subscriber"
-version = "0.3.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
-dependencies = [
- "nu-ansi-term",
- "sharded-slab",
- "smallvec",
- "thread_local",
- "tracing-core",
- "tracing-log",
+ "serde",
+ "syntect",
 ]
 
 [[package]]
-name = "ttf-parser"
-version = "0.19.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1"
-
-[[package]]
 name = "typed-arena"
 version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2616,10 +2531,10 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
 
 [[package]]
 name = "typst"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
  "az",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "chinese-number",
  "ciborium",
  "comemo",
@@ -2633,31 +2548,40 @@ dependencies = [
  "icu_provider_adapters",
  "icu_provider_blob",
  "icu_segmenter",
+ "if_chain",
  "image",
- "indexmap 2.1.0",
+ "indexmap 2.2.5",
+ "kamadak-exif",
  "kurbo",
  "lipsum",
  "log",
  "once_cell",
  "palette",
+ "phf",
+ "png",
+ "portable-atomic",
+ "qcms",
  "rayon",
  "regex",
  "roxmltree",
  "rustybuzz",
  "serde",
  "serde_json",
- "serde_yaml 0.9.27",
+ "serde_yaml 0.9.32",
  "siphasher 1.0.0",
  "smallvec",
  "stacker",
  "syntect",
  "time",
  "toml",
- "tracing",
  "ttf-parser",
+ "two-face",
  "typed-arena",
+ "typst-assets",
+ "typst-dev-assets",
  "typst-macros",
  "typst-syntax",
+ "typst-timing",
  "unicode-bidi",
  "unicode-math-class",
  "unicode-script",
@@ -2667,8 +2591,14 @@ dependencies = [
 ]
 
 [[package]]
+name = "typst-assets"
+version = "0.11.0-rc1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e43b98ec1d7969c329e3735e597bbe5e69076445a570f9634b30c8dc01c704ae"
+
+[[package]]
 name = "typst-cli"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
  "chrono",
  "clap",
@@ -2676,63 +2606,86 @@ dependencies = [
  "clap_mangen",
  "codespan-reporting",
  "comemo",
+ "ctrlc",
  "dirs",
  "ecow",
  "env_proxy",
  "flate2",
  "fontdb",
- "inferno",
+ "fs_extra",
+ "native-tls",
  "notify",
  "once_cell",
  "open",
+ "openssl",
+ "parking_lot",
  "pathdiff",
- "rustls",
- "rustls-pemfile",
+ "rayon",
  "same-file",
  "self-replace",
  "semver",
  "serde",
  "serde_json",
- "serde_yaml 0.9.27",
+ "serde_yaml 0.9.32",
  "siphasher 1.0.0",
  "tar",
  "tempfile",
- "tracing",
- "tracing-error",
- "tracing-flame",
- "tracing-subscriber",
+ "toml",
  "typst",
+ "typst-assets",
+ "typst-macros",
  "typst-pdf",
  "typst-render",
  "typst-svg",
+ "typst-timing",
  "ureq",
  "xz2",
  "zip",
 ]
 
 [[package]]
-name = "typst-docs"
+name = "typst-dev-assets"
 version = "0.10.0"
+source = "git+https://github.com/typst/typst-dev-assets?rev=c63ab46#c63ab467b6d2242b7993b81c1156b915486bcf02"
+
+[[package]]
+name = "typst-docs"
+version = "0.11.0-rc1"
 dependencies = [
+ "clap",
  "comemo",
  "ecow",
  "heck",
- "include_dir",
  "once_cell",
  "pulldown-cmark",
  "serde",
- "serde_yaml 0.9.27",
+ "serde_json",
+ "serde_yaml 0.9.32",
  "syntect",
  "typed-arena",
  "typst",
- "unicode_names2",
+ "typst-assets",
+ "typst-dev-assets",
+ "typst-render",
  "unscanny",
  "yaml-front-matter",
 ]
 
 [[package]]
+name = "typst-fuzz"
+version = "0.11.0-rc1"
+dependencies = [
+ "comemo",
+ "libfuzzer-sys",
+ "typst",
+ "typst-assets",
+ "typst-render",
+ "typst-syntax",
+]
+
+[[package]]
 name = "typst-ide"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
  "comemo",
  "ecow",
@@ -2745,19 +2698,19 @@ dependencies = [
 
 [[package]]
 name = "typst-macros"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
 ]
 
 [[package]]
 name = "typst-pdf"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
- "base64",
+ "base64 0.22.0",
  "bytemuck",
  "comemo",
  "ecow",
@@ -2767,9 +2720,11 @@ dependencies = [
  "pdf-writer",
  "subsetter",
  "svg2pdf",
- "tracing",
  "ttf-parser",
  "typst",
+ "typst-assets",
+ "typst-macros",
+ "typst-timing",
  "unicode-properties",
  "unscanny",
  "xmp-writer",
@@ -2777,7 +2732,7 @@ dependencies = [
 
 [[package]]
 name = "typst-render"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
  "bytemuck",
  "comemo",
@@ -2789,33 +2744,35 @@ dependencies = [
  "tiny-skia",
  "ttf-parser",
  "typst",
+ "typst-macros",
+ "typst-timing",
  "usvg",
 ]
 
 [[package]]
 name = "typst-svg"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
- "base64",
+ "base64 0.22.0",
  "comemo",
  "ecow",
  "flate2",
- "tracing",
  "ttf-parser",
  "typst",
+ "typst-macros",
+ "typst-timing",
  "xmlparser",
  "xmlwriter",
 ]
 
 [[package]]
 name = "typst-syntax"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
  "comemo",
  "ecow",
  "once_cell",
  "serde",
- "tracing",
  "unicode-ident",
  "unicode-math-class",
  "unicode-script",
@@ -2825,18 +2782,20 @@ dependencies = [
 
 [[package]]
 name = "typst-tests"
-version = "0.10.0"
+version = "0.11.0-rc1"
 dependencies = [
  "clap",
  "comemo",
  "ecow",
- "iai",
  "once_cell",
  "oxipng",
  "rayon",
  "tiny-skia",
  "ttf-parser",
  "typst",
+ "typst-assets",
+ "typst-dev-assets",
+ "typst-ide",
  "typst-pdf",
  "typst-render",
  "typst-svg",
@@ -2845,19 +2804,29 @@ dependencies = [
 ]
 
 [[package]]
+name = "typst-timing"
+version = "0.11.0-rc1"
+dependencies = [
+ "parking_lot",
+ "serde",
+ "serde_json",
+ "typst-syntax",
+]
+
+[[package]]
 name = "unic-langid"
-version = "0.9.1"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "398f9ad7239db44fd0f80fe068d12ff22d78354080332a5077dc6f52f14dcf2f"
+checksum = "238722e6d794ed130f91f4ea33e01fcff4f188d92337a21297892521c72df516"
 dependencies = [
  "unic-langid-impl",
 ]
 
 [[package]]
 name = "unic-langid-impl"
-version = "0.9.1"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e35bfd2f2b8796545b55d7d3fd3e89a0613f68a0d1c8bc28cb7ff96b411a35ff"
+checksum = "4bd55a2063fdea4ef1f8633243a7b0524cbeef1905ae04c31a1c9b9775c55bc6"
 dependencies = [
  "serde",
  "tinystr",
@@ -2874,9 +2843,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-bidi-mirroring"
@@ -2904,30 +2873,30 @@ checksum = "7d246cf599d5fae3c8d56e04b20eb519adb89a8af8d0b0fbcded369aa3647d65"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
 name = "unicode-properties"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7f91c8b21fbbaa18853c3d0801c78f4fc94cdb976699bb03e832e75f7fd22f0"
+checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
 
 [[package]]
 name = "unicode-script"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
+checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd"
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-vo"
@@ -2942,39 +2911,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-
-[[package]]
-name = "unicode_names2"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d5506ae2c3c1ccbdf468e52fc5ef536c2ccd981f01273a4cb81aa61021f3a5f"
-dependencies = [
- "phf",
- "unicode_names2_generator",
-]
-
-[[package]]
-name = "unicode_names2_generator"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6dfc680313e95bc6637fa278cd7a22390c3c2cd7b8b2bd28755bc6c0fc811e7"
-dependencies = [
- "getopts",
- "log",
- "phf_codegen",
- "rand",
- "time",
-]
-
-[[package]]
 name = "unsafe-libyaml"
-version = "0.2.9"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa"
+checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
 
 [[package]]
 name = "unscanny"
@@ -2983,27 +2923,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47"
 
 [[package]]
-name = "untrusted"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
-
-[[package]]
 name = "ureq"
-version = "2.9.1"
+version = "2.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97"
+checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "flate2",
  "log",
+ "native-tls",
  "once_cell",
- "rustls",
- "rustls-webpki",
  "serde",
  "serde_json",
  "url",
- "webpki-roots",
 ]
 
 [[package]]
@@ -3020,11 +2952,11 @@ dependencies = [
 
 [[package]]
 name = "usvg"
-version = "0.36.0"
+version = "0.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c51daa774fe9ee5efcf7b4fec13019b8119cda764d9a8b5b06df02bb1445c656"
+checksum = "377f62b4a3c173de8654c1aa80ab1dac1154e6f13a779a9943e53780120d1625"
 dependencies = [
- "base64",
+ "base64 0.21.7",
  "log",
  "pico-args",
  "usvg-parser",
@@ -3035,9 +2967,9 @@ dependencies = [
 
 [[package]]
 name = "usvg-parser"
-version = "0.36.0"
+version = "0.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c88a5ffaa338f0e978ecf3d4e00d8f9f493e29bed0752e1a808a1db16afc40"
+checksum = "351a05e6f2023d6b4e946f734240a3927aefdcf930d7d42587a2c8a8869814b0"
 dependencies = [
  "data-url",
  "flate2",
@@ -3053,9 +2985,9 @@ dependencies = [
 
 [[package]]
 name = "usvg-text-layout"
-version = "0.36.0"
+version = "0.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d2374378cb7a3fb8f33894e0fdb8625e1bbc4f25312db8d91f862130b541593"
+checksum = "8c41888b9d5cf431fe852eaf9d047bbde83251b98f1749c2f08b1071e6db46e2"
 dependencies = [
  "fontdb",
  "kurbo",
@@ -3069,11 +3001,10 @@ dependencies = [
 
 [[package]]
 name = "usvg-tree"
-version = "0.36.0"
+version = "0.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6cacb0c5edeaf3e80e5afcf5b0d4004cc1d36318befc9a7c6606507e5d0f4062"
+checksum = "18863e0404ed153d6e56362c5b1146db9f4f262a3244e3cf2dbe7d8a85909f05"
 dependencies = [
- "rctree",
  "strict-num",
  "svgtypes",
  "tiny-skia-path",
@@ -3081,9 +3012,9 @@ dependencies = [
 
 [[package]]
 name = "utf8_iter"
-version = "1.0.3"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a8922555b9500e3d865caed19330172cd67cbf82203f1a3311d8c305cc9f33"
+checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
 
 [[package]]
 name = "utf8parse"
@@ -3092,10 +3023,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
-name = "valuable"
-version = "0.1.0"
+name = "vcpkg"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
 name = "version_check"
@@ -3105,9 +3036,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -3121,9 +3052,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -3131,24 +3062,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3156,28 +3087,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "wasmi"
-version = "0.31.0"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f341edb80021141d4ae6468cbeefc50798716a347d4085c3811900049ea8945"
+checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7"
 dependencies = [
  "smallvec",
  "spin",
@@ -3188,9 +3119,9 @@ dependencies = [
 
 [[package]]
 name = "wasmi_arena"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401c1f35e413fac1846d4843745589d9ec678977ab35a384db8ae7830525d468"
+checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073"
 
 [[package]]
 name = "wasmi_core"
@@ -3214,16 +3145,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "webpki-roots"
-version = "0.25.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
-
-[[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "winapi"
@@ -3258,11 +3183,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -3271,7 +3196,16 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -3280,13 +3214,28 @@ version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -3296,46 +3245,88 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+
+[[package]]
 name = "winnow"
-version = "0.5.19"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
 dependencies = [
  "memchr",
 ]
@@ -3357,11 +3348,13 @@ dependencies = [
 
 [[package]]
 name = "xattr"
-version = "1.0.1"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
+ "linux-raw-sys",
+ "rustix",
 ]
 
 [[package]]
@@ -3430,31 +3423,11 @@ checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
  "synstructure",
 ]
 
 [[package]]
-name = "zerocopy"
-version = "0.7.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
-dependencies = [
- "zerocopy-derive",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.7.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.39",
-]
-
-[[package]]
 name = "zerofrom"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3471,7 +3444,7 @@ checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
  "synstructure",
 ]
 
@@ -3507,7 +3480,7 @@ checksum = "7b4e5997cbf58990550ef1f0e5124a05e47e1ebd33a84af25739be6031a62c20"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn",
 ]
 
 [[package]]
diff --git a/pkgs/by-name/ty/typst/package.nix b/pkgs/by-name/ty/typst/package.nix
index 24d333f669cc1..c49a116a3af69 100644
--- a/pkgs/by-name/ty/typst/package.nix
+++ b/pkgs/by-name/ty/typst/package.nix
@@ -2,38 +2,48 @@
 , rustPlatform
 , fetchFromGitHub
 , installShellFiles
+, pkg-config
+, openssl
+, xz
 , stdenv
 , darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "typst";
-  version = "0.10.0";
+  version = "0.11.0-rc1";
 
   src = fetchFromGitHub {
     owner = "typst";
     repo = "typst";
     rev = "v${version}";
-    hash = "sha256-qiskc0G/ZdLRZjTicoKIOztRFem59TM4ki23Rl55y9s=";
+    hash = "sha256-jOq+aoBSRUTXldg8iWGSJ1z0y+3KbhZfVAgjZo9IsGo=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "iai-0.1.1" = "sha256-EdNzCPht5chg7uF9O8CtPWR/bzSYyfYIXNdLltqdlR0=";
+      "typst-dev-assets-0.10.0" = "sha256-EBOZbblbavtsr2LEnoIF0UFmpSsm8Sq7ibxxWcAMIHY=";
     };
   };
 
   nativeBuildInputs = [
     installShellFiles
+    pkg-config
   ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [
+  buildInputs = [
+    openssl
+    xz
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreFoundation
     darwin.apple_sdk.frameworks.CoreServices
+    darwin.apple_sdk.frameworks.Security
   ];
 
   env = {
     GEN_ARTIFACTS = "artifacts";
+    OPENSSL_NO_VENDOR = true;
   };
 
   postInstall = ''
diff --git a/pkgs/by-name/uc/uclibc-ng/package.nix b/pkgs/by-name/uc/uclibc-ng/package.nix
index b1d4a6474e213..f1e6c36e24a80 100644
--- a/pkgs/by-name/uc/uclibc-ng/package.nix
+++ b/pkgs/by-name/uc/uclibc-ng/package.nix
@@ -58,11 +58,11 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "uclibc-ng";
-  version = "1.0.44";
+  version = "1.0.45";
 
   src = fetchurl {
     url = "https://downloads.uclibc-ng.org/releases/${finalAttrs.version}/uClibc-ng-${finalAttrs.version}.tar.xz";
-    sha256 = "sha256-ffnZh5VYJzgvHCQA2lE0Vr7Ltvhovf03c3Jl8cvuyZQ=";
+    sha256 = "sha256-wvTGtuGdfJwiaZKjdG79erkyBARjwV7gvI9BMrV3esQ=";
   };
 
   # 'ftw' needed to build acl, a coreutils dependency
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/by-name/un/unrar/package.nix
index 8b4f46088b2d5..ea97195c2ae36 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/by-name/un/unrar/package.nix
@@ -5,12 +5,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "unrar";
-  version = "6.2.12";
+  version = "7.0.7";
 
   src = fetchzip {
     url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
     stripRoot = false;
-    hash = "sha256-VAL3o9JGmkAcEssa/P/SL9nyxnigb7dX9YZBHrG9f0A=";
+    hash = "sha256-S7BMywydetDh1GINcK3k3fN9ciDoKTCAe/1tkgykoAQ=";
   };
 
   sourceRoot = finalAttrs.src.name;
diff --git a/pkgs/tools/archivers/unrar/setup-hook.sh b/pkgs/by-name/un/unrar/setup-hook.sh
index 41d6a5cd217bc..41d6a5cd217bc 100644
--- a/pkgs/tools/archivers/unrar/setup-hook.sh
+++ b/pkgs/by-name/un/unrar/setup-hook.sh
diff --git a/pkgs/by-name/un/unrar_6/package.nix b/pkgs/by-name/un/unrar_6/package.nix
new file mode 100644
index 0000000000000..5f2248ce847e0
--- /dev/null
+++ b/pkgs/by-name/un/unrar_6/package.nix
@@ -0,0 +1,15 @@
+{ unrar
+, fetchzip
+}:
+
+unrar.overrideAttrs (finalAttrs: _: {
+  version = "6.2.12";
+
+  src = fetchzip {
+    url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
+    stripRoot = false;
+    hash = "sha256-VAL3o9JGmkAcEssa/P/SL9nyxnigb7dX9YZBHrG9f0A=";
+  };
+
+  sourceRoot = finalAttrs.src.name;
+})
diff --git a/pkgs/by-name/uv/uv/Cargo.lock b/pkgs/by-name/uv/uv/Cargo.lock
index 583f412c20b0d..c3898d12ea705 100644
--- a/pkgs/by-name/uv/uv/Cargo.lock
+++ b/pkgs/by-name/uv/uv/Cargo.lock
@@ -204,6 +204,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-recursion"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
 name = "async-trait"
 version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -904,6 +915,7 @@ version = "0.0.1"
 dependencies = [
  "anyhow",
  "cache-key",
+ "chrono",
  "data-encoding",
  "distribution-filename",
  "fs-err",
@@ -962,6 +974,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "encoding_rs_io"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83"
+dependencies = [
+ "encoding_rs",
+]
+
+[[package]]
 name = "equivalent"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2226,7 +2247,7 @@ name = "pep508_rs"
 version = "0.4.2"
 dependencies = [
  "derivative",
- "indoc",
+ "insta",
  "log",
  "once_cell",
  "pep440_rs",
@@ -2472,7 +2493,7 @@ dependencies = [
 [[package]]
 name = "pubgrub"
 version = "0.2.1"
-source = "git+https://github.com/zanieb/pubgrub?rev=aab132a3d4d444dd8dd41d8c4e605abd69dacfe1#aab132a3d4d444dd8dd41d8c4e605abd69dacfe1"
+source = "git+https://github.com/zanieb/pubgrub?rev=332f02b0e436ca8449c7ef5e15b992dd5f35908b#332f02b0e436ca8449c7ef5e15b992dd5f35908b"
 dependencies = [
  "indexmap 2.2.3",
  "log",
@@ -2785,6 +2806,7 @@ version = "0.0.1"
 dependencies = [
  "anyhow",
  "assert_fs",
+ "async-recursion",
  "fs-err",
  "indoc",
  "insta",
@@ -2793,14 +2815,18 @@ dependencies = [
  "pep440_rs",
  "pep508_rs",
  "regex",
+ "reqwest",
+ "reqwest-middleware",
  "serde",
  "serde_json",
  "tempfile",
  "test-case",
  "thiserror",
+ "tokio",
  "tracing",
  "unscanny",
  "url",
+ "uv-client",
  "uv-fs",
  "uv-normalize",
  "uv-warnings",
@@ -3022,6 +3048,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
 
 [[package]]
+name = "rust-netrc"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32662f97cbfdbad9d5f78f1338116f06871e7dae4fd37e9f59a0f57cf2044868"
+dependencies = [
+ "thiserror",
+]
+
+[[package]]
 name = "rustc-demangle"
 version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4144,13 +4179,14 @@ checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 
 [[package]]
 name = "uv"
-version = "0.1.15"
+version = "0.1.17"
 dependencies = [
  "anstream",
  "anyhow",
  "assert_cmd",
  "assert_fs",
  "base64 0.21.7",
+ "byteorder",
  "chrono",
  "clap",
  "clap_complete_command",
@@ -4247,7 +4283,6 @@ dependencies = [
  "tokio",
  "toml",
  "tracing",
- "uv-extract",
  "uv-fs",
  "uv-interpreter",
  "uv-traits",
@@ -4283,6 +4318,7 @@ dependencies = [
  "async-trait",
  "async_http_range_reader",
  "async_zip",
+ "base64 0.21.7",
  "cache-key",
  "chrono",
  "distribution-filename",
@@ -4303,6 +4339,7 @@ dependencies = [
  "reqwest-retry",
  "rkyv",
  "rmp-serde",
+ "rust-netrc",
  "rustc-hash",
  "serde",
  "serde_json",
@@ -4464,10 +4501,12 @@ name = "uv-fs"
 version = "0.0.1"
 dependencies = [
  "dunce",
+ "encoding_rs_io",
  "fs-err",
  "fs2",
  "junction",
  "tempfile",
+ "tokio",
  "tracing",
  "urlencoding",
  "uv-warnings",
@@ -4568,6 +4607,7 @@ dependencies = [
  "uv-cache",
  "uv-fs",
  "which",
+ "winapi",
 ]
 
 [[package]]
@@ -4651,7 +4691,7 @@ dependencies = [
 
 [[package]]
 name = "uv-version"
-version = "0.1.15"
+version = "0.1.17"
 
 [[package]]
 name = "uv-virtualenv"
@@ -4662,6 +4702,7 @@ dependencies = [
  "clap",
  "directories",
  "fs-err",
+ "pathdiff",
  "platform-host",
  "pypi-types",
  "serde",
diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix
index 1f4acf3a2f9d8..25d0e7360e19a 100644
--- a/pkgs/by-name/uv/uv/package.nix
+++ b/pkgs/by-name/uv/uv/package.nix
@@ -10,20 +10,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "uv";
-  version = "0.1.15";
+  version = "0.1.17";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "uv";
     rev = version;
-    hash = "sha256-tTR6Z23CCaSB5cVDhj3EKoUYNplHpguhi6LIMmyiqAc=";
+    hash = "sha256-nXH/9/c2UeG7LOJo0ZnozdI9df5cmVwICvgi0kRjgMU=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "async_zip-0.0.16" = "sha256-M94ceTCtyQc1AtPXYrVGplShQhItqZZa/x5qLiL+gs0=";
-      "pubgrub-0.2.1" = "sha256-p6RQ0pmatTnwp1s37ZktkhwakPTTehMlI3H5JUzwVrI=";
+      "pubgrub-0.2.1" = "sha256-1teDXUkXPbL7LZAYrlm2w5CEyb8g0bDqNhg5Jn0/puc=";
     };
   };
 
diff --git a/pkgs/by-name/ux/uxn/package.nix b/pkgs/by-name/ux/uxn/package.nix
index 2dc429a126bdc..9ffaaedf05cb5 100644
--- a/pkgs/by-name/ux/uxn/package.nix
+++ b/pkgs/by-name/ux/uxn/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uxn";
-  version = "1.0-unstable-2024-02-15";
+  version = "1.0-unstable-2024-03-08";
 
   src = fetchFromSourcehut {
     owner = "~rabbits";
     repo = "uxn";
-    rev = "c37d2cd75c855d0932a93cd8fdadd1db00b05e48";
-    hash = "sha256-O8XN0+ixo2xMXtJkEoJAqrKZ1M4s4YoHSxKWGOUyl1k=";
+    rev = "b1549867e4a58e8ed0ac107bdf841bc879fa293f";
+    hash = "sha256-P2EekvFbRtLDwPXOhu40S9LL4ZOWerJs8z8Of2QM418=";
   };
 
   outputs = [ "out" "projects" ];
diff --git a/pkgs/by-name/vl/vlc-bin/package.nix b/pkgs/by-name/vl/vlc-bin/package.nix
new file mode 100644
index 0000000000000..d986353a2bdac
--- /dev/null
+++ b/pkgs/by-name/vl/vlc-bin/package.nix
@@ -0,0 +1,61 @@
+{ lib
+, fetchurl
+, makeWrapper
+, stdenv
+, undmg
+, variant ?
+  if (stdenv.isDarwin && stdenv.isAarch64)
+  then "arm64"
+  else if (stdenv.isDarwin && stdenv.isx86_64)
+  then "intel64"
+  else "universal" # not reachable by normal means
+}:
+
+assert builtins.elem variant [ "arm64" "intel64" "universal" ];
+stdenv.mkDerivation (finalAttrs: {
+  pname = "vlc-bin-${variant}";
+  version = "3.0.20";
+
+  src = fetchurl {
+    url = "http://get.videolan.org/vlc/${finalAttrs.version}/macosx/vlc-${finalAttrs.version}-${variant}.dmg";
+    hash = {
+      "arm64" = "sha256-XV8O5S2BmCpiL0AhkopktHBalVRJniDDPQusIlkLEY4=";
+      "intel64" = "sha256-pNwUQfyrjiuQxil0zlOZu4isv2xw1U8hxhWNn7H7onk=";
+      "universal" = "sha256-IqGPOWzMmHbGDV+0QxFslv19BC2J1Z5Qzcuja/Od1Us=";
+    }.${variant};
+  };
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [
+    makeWrapper
+    undmg
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/Applications $out/bin
+    cp -r "VLC.app" $out/Applications
+    makeWrapper "$out/Applications/VLC.app/Contents/MacOS/VLC" "$out/bin/vlc"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Cross-platform media player and streaming server; precompiled binary for MacOS, repacked from official website";
+    homepage = "https://www.videolan.org/vlc/";
+    downloadPage = "https://www.videolan.org/vlc/download-macosx.html";
+    license = lib.licenses.lgpl21Plus;
+    mainProgram = "vlc";
+    maintainers = with lib.maintainers; [ pcasaretto ];
+    platforms = lib.systems.inspect.patternLogicalAnd
+      (lib.systems.inspect.patterns.isDarwin)
+      (({
+        "arm64" = lib.systems.inspect.patterns.isAarch64;
+        "intel64" = lib.systems.inspect.patterns.isx86_64;
+        "universal" = lib.systems.inspect.patterns.isDarwin;
+      }).${variant});
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})
diff --git a/pkgs/by-name/wa/warp-terminal/versions.json b/pkgs/by-name/wa/warp-terminal/versions.json
index 99fdfa65c73f2..8b58fef47f573 100644
--- a/pkgs/by-name/wa/warp-terminal/versions.json
+++ b/pkgs/by-name/wa/warp-terminal/versions.json
@@ -1,10 +1,10 @@
 {
-  "darwin" : {
-    "hash" : "sha256-tFtoD8URMFfJ3HRkyKStuDStFkoRIV97y9kV4pbDPro=",
-    "version" : "0.2024.02.20.08.01.stable_01"
+  "darwin": {
+    "hash": "sha256-VHyEE0SziwDAzlv8VLt08tMXb20sqxTSj64hC+FyjUw=",
+    "version": "0.2024.03.05.08.02.stable_01"
   },
-  "linux" : {
-    "hash" : "sha256-L8alnqSE4crrDozRfPaAAMkLc+5+8d9XBKd5ddsxmD0=",
-    "version" : "0.2024.02.20.08.01.stable_01"
+  "linux": {
+    "hash": "sha256-CI1bzdFles9XNvqmkyNq9zJBf4P6HF8QIo1FsSDydjQ=",
+    "version": "0.2024.03.05.08.02.stable_01"
   }
 }
diff --git a/pkgs/by-name/wh/whistle/package.nix b/pkgs/by-name/wh/whistle/package.nix
index 3963889583ec5..9f1adad1ef72c 100644
--- a/pkgs/by-name/wh/whistle/package.nix
+++ b/pkgs/by-name/wh/whistle/package.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "whistle";
-  version = "2.9.65";
+  version = "2.9.66";
 
   src = fetchFromGitHub {
     owner = "avwo";
     repo = "whistle";
     rev = "v${version}";
-    hash = "sha256-vF81Nt0gx3k7b6VO6aBpeUSnZ8Op91dYOGZRO9cdleM=";
+    hash = "sha256-bKHpbTdKFbeQGPl2HFcXi6y27s0JylyUXKg9oAcuSXo=";
   };
 
-  npmDepsHash = "sha256-LzetbeIqfcFbLzie4GXkNOGLTdwqYMnwZ236V5R2TNc=";
+  npmDepsHash = "sha256-34KrqF534igGsLfOUxJN5dhtj2rrKGbkUUWr6p7V/Go=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix
index b5e7aa0c3c011..a70ad34963644 100644
--- a/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix
+++ b/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix
@@ -8,13 +8,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xdg-desktop-portal-shana";
-  version = "0.3.9";
+  version = "0.3.11";
 
   src = fetchFromGitHub {
     owner = "Decodetalkers";
     repo = "xdg-desktop-portal-shana";
     rev = "v${version}";
-    sha256 = "cgiWlZbM0C47CisR/KlSV0xqfeKgM41QaQihjqSy9CU=";
+    sha256 = "sha256-bUskzFDd4qjH4Isp6vAJHe5qzgCLudQbkh+JNNTSMu8=";
   };
 
   nativeBuildInputs = [
@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec {
 
   mesonBuildType = "release";
 
-  cargoHash = "sha256-uDM4a7AB0753c/H1nfic/LjWrLmjEvi/p2S/tLIDXaQ=";
+  cargoHash = "sha256-FzEdQePDnSCuMDqbz0ZUywDzNfbiOwottSrE+eWL9to=";
 
   meta = with lib; {
     description = "A filechooser portal backend for any desktop environment";
diff --git a/pkgs/by-name/ya/yamlscript/package.nix b/pkgs/by-name/ya/yamlscript/package.nix
index ab541bb496b31..cb77a5861227b 100644
--- a/pkgs/by-name/ya/yamlscript/package.nix
+++ b/pkgs/by-name/ya/yamlscript/package.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "yamlscript";
-  version = "0.1.39";
+  version = "0.1.40";
 
   src = fetchurl {
     url = "https://github.com/yaml/yamlscript/releases/download/${version}/yamlscript.cli-${version}-standalone.jar";
-    hash = "sha256-P64Ekkn8yIuct+dl4dVYDRhMmKFieIa75r0rJbTvfhg=";
+    hash = "sha256-tPnEfYI3l8PKDeWnb9i0ov/XydjlJXMN7h7DJO7acKA=";
   };
 
   executable = "ys";
diff --git a/pkgs/by-name/ya/yazi-unwrapped/package.nix b/pkgs/by-name/ya/yazi-unwrapped/package.nix
index 4c2d1065fad6a..275f2cdf888a4 100644
--- a/pkgs/by-name/ya/yazi-unwrapped/package.nix
+++ b/pkgs/by-name/ya/yazi-unwrapped/package.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "yazi";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "sxyazi";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-2AiaJs6xY8hsB1DBxpPwdZtc8IZvsoCGWBOFVMf4dvk=";
+    hash = "sha256-c8fWWCOVBqQVdQch9BniCaJPrVEOCv35lLH8/hMIbvE=";
   };
 
-  cargoHash = "sha256-fRUmXv27sHYz8z0cc795JCPLHDQGgTV4wAWAtQ/pbg4=";
+  cargoHash = "sha256-VeDyO+KCD3Axse4iPIoRxIvoAn3L33e2ObBZFV/REeg=";
 
   env.YAZI_GEN_COMPLETIONS = true;
 
@@ -29,9 +29,9 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     installShellCompletion --cmd yazi \
-      --bash ./yazi-config/completions/yazi.bash \
-      --fish ./yazi-config/completions/yazi.fish \
-      --zsh  ./yazi-config/completions/_yazi
+      --bash ./yazi-boot/completions/yazi.bash \
+      --fish ./yazi-boot/completions/yazi.fish \
+      --zsh  ./yazi-boot/completions/_yazi
   '';
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/by-name/yt/ytdownloader/config-dir.patch b/pkgs/by-name/yt/ytdownloader/config-dir.patch
new file mode 100644
index 0000000000000..eb3684a248870
--- /dev/null
+++ b/pkgs/by-name/yt/ytdownloader/config-dir.patch
@@ -0,0 +1,18 @@
+--- a/main.js
++++ b/main.js
+@@ -13,6 +13,15 @@
+ const fs = require("fs");
+ const path = require("path");
+ autoUpdater.autoDownload = false;
++
++// Set the config directory to XDG_CONFIG_HOME/ytdownloader
++const xdgConfigHome = process.env.XDG_CONFIG_HOME;
++let configDir = app.getPath('home') + "/.config/ytdownloader";
++if (xdgConfigHome) {
++	configDir = xdgConfigHome + "/ytdownloader";
++}
++app.setPath ('userData', configDir);
++
+ /**@type {BrowserWindow} */
+ let win = null;
+ let secondaryWindow = null;
diff --git a/pkgs/by-name/yt/ytdownloader/package.nix b/pkgs/by-name/yt/ytdownloader/package.nix
new file mode 100644
index 0000000000000..9a607c16e4aac
--- /dev/null
+++ b/pkgs/by-name/yt/ytdownloader/package.nix
@@ -0,0 +1,70 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, makeWrapper
+, ffmpeg
+, yt-dlp
+, makeDesktopItem
+, electron
+}:
+
+buildNpmPackage rec {
+  pname = "ytDownloader";
+  version = "3.17.3";
+
+  src = fetchFromGitHub {
+    owner = "aandrew-me";
+    repo = "ytDownloader";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-aqQGOqPLKKTBjWjL3KyRD4paBGCQLhCBjXwVVhoHDSk=";
+  };
+
+  npmDepsHash = "sha256-lhFyiWy9dgnxxaElavzqA4YpRm7cVC23pvL5Kwve58E=";
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ffmpeg yt-dlp ];
+
+  desktopItem = makeDesktopItem {
+    name = "ytDownloader";
+    exec = "ytdownloader %U";
+    icon = "ytdownloader";
+    desktopName = "ytDownloader";
+    comment = "A modern GUI video and audio downloader";
+    categories = [ "Utility" ];
+    startupWMClass = "ytDownloader";
+  };
+
+  ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
+
+  dontNpmBuild = true;
+
+  # Patch config dir to ~/.config/ytdownloader
+  # Otherwise it stores config in ~/.config/Electron
+  patches = [ ./config-dir.patch ];
+
+  # Replace hardcoded ffmpeg and ytdlp paths
+  # Also stop it from downloading ytdlp
+  postPatch = ''
+    substituteInPlace src/renderer.js \
+      --replace-fail $\{__dirname}/../ffmpeg '${lib.getExe ffmpeg}' \
+      --replace-fail 'path.join(os.homedir(), ".ytDownloader", "ytdlp")' '`${lib.getExe yt-dlp}`' \
+      --replace-fail '!!localStorage.getItem("fullYtdlpBinPresent")' 'true'
+  '';
+
+  postInstall = ''
+    makeWrapper ${electron}/bin/electron $out/bin/ytdownloader \
+        --add-flags $out/lib/node_modules/ytdownloader/main.js
+
+    install -Dm444 assets/images/icon.png $out/share/pixmaps/ytdownloader.png
+    install -Dm444 "${desktopItem}/share/applications/"* -t $out/share/applications
+  '';
+
+  meta = {
+    description = "A modern GUI video and audio downloader";
+    homepage = "https://github.com/aandrew-me/ytDownloader";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ chewblacka ];
+    platforms = lib.platforms.all;
+    mainProgram = "ytdownloader";
+  };
+}
diff --git a/pkgs/tools/compression/zsync/default.nix b/pkgs/by-name/zs/zsync/package.nix
index 0de21cb9c7364..94aa7acce2e09 100644
--- a/pkgs/tools/compression/zsync/default.nix
+++ b/pkgs/by-name/zs/zsync/package.nix
@@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "1wjslvfy76szf0mgg2i9y9q30858xyjn6v2acc24zal76d1m778b";
   };
 
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    # Suppress error "call to undeclared library function 'strcasecmp'" during compilation.
+    # The function is found by the linker correctly, so this doesn't introduce any issues.
+    NIX_CFLAGS_COMPILE = " -Wno-implicit-function-declaration";
+  };
+
   makeFlags = [ "AR=${stdenv.cc.bintools.targetPrefix}ar" ];
 
   meta = with lib; {
diff --git a/pkgs/data/documentation/zeal/default.nix b/pkgs/data/documentation/zeal/default.nix
index 18f4d13197393..3dd2f1c02c94a 100644
--- a/pkgs/data/documentation/zeal/default.nix
+++ b/pkgs/data/documentation/zeal/default.nix
@@ -74,6 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
     changelog = "https://github.com/zealdocs/zeal/releases";
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ peterhoeg AndersonTorres ];
+    mainProgram = "zeal";
     inherit (qtbase.meta) platforms;
   };
 })
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 4b0f78e298ab1..e5324badd7b6a 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -1,20 +1,26 @@
-{ stdenv, lib, fetchurl, iosevka, unzip
+{ stdenv
+, lib
+, fetchurl
+, iosevka
+, unzip
 , variant ? ""
 }:
 
 let
-  name = if lib.hasPrefix "sgr" variant then variant
-    else "iosevka" + lib.optionalString (variant != "") "-" + variant;
+  name =
+    if lib.hasPrefix "SGr-" variant then variant
+    else "Iosevka" + variant;
 
   variantHashes = import ./variants.nix;
-  validVariants = map (lib.removePrefix "iosevka-")
-    (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
-in stdenv.mkDerivation rec {
+  validVariants = map (lib.removePrefix "Iosevka")
+    (builtins.attrNames (builtins.removeAttrs variantHashes [ "Iosevka" ]));
+in
+stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "27.3.5";
+  version = "28.1.0";
 
   src = fetchurl {
-    url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
+    url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/PkgTTC-${name}-${version}.zip";
     sha256 = variantHashes.${name} or (throw ''
       No such variant "${variant}" for package iosevka-bin.
       Valid variants are: ${lib.concatStringsSep ", " validVariants}.
diff --git a/pkgs/data/fonts/iosevka/comfy.nix b/pkgs/data/fonts/iosevka/comfy.nix
index fb788b2876356..63dfca58d5440 100644
--- a/pkgs/data/fonts/iosevka/comfy.nix
+++ b/pkgs/data/fonts/iosevka/comfy.nix
@@ -4,21 +4,21 @@ let
   sets = [
     # Family                  | Shapes | Spacing | Style      | Ligatures |
     # ------------------------+--------+---------+------------+-----------|
-    "comfy"                   # Sans   | Compact | Monospaced | Yes       |
-    "comfy-fixed"             # Sans   | Compact | Monospaced | No        |
-    "comfy-duo"               # Sans   | Compact | Duospaced  | Yes       |
+    "comfy" #                 | Sans   | Compact | Monospaced | Yes       |
+    "comfy-fixed" #           | Sans   | Compact | Monospaced | No        |
+    "comfy-duo" #             | Sans   | Compact | Duospaced  | Yes       |
     # ------------------------+--------+---------+------------+-----------|
-    "comfy-motion"            # Slab   | Compact | Monospaced | Yes       |
-    "comfy-motion-fixed"      # Slab   | Compact | Monospaced | No        |
-    "comfy-motion-duo"        # Slab   | Compact | Duospaced  | Yes       |
+    "comfy-motion" #          | Slab   | Compact | Monospaced | Yes       |
+    "comfy-motion-fixed" #    | Slab   | Compact | Monospaced | No        |
+    "comfy-motion-duo" #      | Slab   | Compact | Duospaced  | Yes       |
     # ------------------------+--------+---------+------------+-----------|
-    "comfy-wide"              # Sans   | Wide    | Monospaced | Yes       |
-    "comfy-wide-fixed"        # Sans   | Wide    | Monospaced | No        |
-    "comfy-wide-duo"          # Sans   | Wide    | Duospaced  | Yes       |
+    "comfy-wide" #            | Sans   | Wide    | Monospaced | Yes       |
+    "comfy-wide-fixed" #      | Sans   | Wide    | Monospaced | No        |
+    "comfy-wide-duo" #        | Sans   | Wide    | Duospaced  | Yes       |
     # ------------------------+--------+---------+------------+-----------|
-    "comfy-wide-motion"       # Slab   | Wide    | Monospaced | Yes       |
+    "comfy-wide-motion" #     | Slab   | Wide    | Monospaced | Yes       |
     "comfy-wide-motion-fixed" # Slab   | Wide    | Monospaced | No        |
-    "comfy-wide-motion-duo"   # Slab   | Wide    | Duospaced  | Yes       |
+    "comfy-wide-motion-duo" # | Slab   | Wide    | Duospaced  | Yes       |
   ];
   version = "1.4.0";
   src = fetchFromGitHub {
@@ -34,6 +34,7 @@ let
       inherit set privateBuildPlan;
       buildNpmPackage = args: superBuildNpmPackage
         (args // {
+          pname = "iosevka-${set}";
           inherit version;
 
           src = fetchFromGitHub {
@@ -45,6 +46,14 @@ let
 
           npmDepsHash = "sha256-c+ltdh5e3+idclYfqp0Xh9IUwoj7XYP1uzJG6+a5gFU=";
 
+          installPhase = ''
+            runHook preInstall
+            fontdir="$out/share/fonts/truetype"
+            install -d "$fontdir"
+            install "dist/$pname/ttf"/* "$fontdir"
+            runHook postInstall
+          '';
+
           meta = with lib; {
             inherit (src.meta) homepage;
             description = ''
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 6993a1641de56..c379fe7ebb3bf 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -54,17 +54,17 @@ assert (privateBuildPlan != null) -> set != null;
 assert (extraParameters != null) -> set != null;
 
 buildNpmPackage rec {
-  pname = if set != null then "iosevka-${set}" else "iosevka";
-  version = "27.3.5";
+  pname = "Iosevka${toString set}";
+  version = "28.1.0";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "iosevka";
     rev = "v${version}";
-    hash = "sha256-dqXr/MVOuEmAMueaRWsnzY9MabhnyBRtLR9IDVLN79I=";
+    hash = "sha256-cYnGJ7Z0PDRZtC/vz8hX/+mqk7iVkajFTfNGgRW+edQ=";
   };
 
-  npmDepsHash = "sha256-bux8aFBP1Pi5pAQY1jkNTqD2Ny2j+QQs+QRaXWJj6xg=";
+  npmDepsHash = "sha256-bzQ7dc7UiC++0DxnQHusu6Ym7rd7GgeA6bGSnnla1nk=";
 
   nativeBuildInputs = [
     remarshal
@@ -88,23 +88,23 @@ buildNpmPackage rec {
     ) [ "buildPlan" ];
 
   configurePhase = ''
-    runHook preConfigure
-    ${lib.optionalString (builtins.isAttrs privateBuildPlan) ''
-      remarshal -i "$buildPlanPath" -o private-build-plans.toml -if json -of toml
-    ''}
-    ${lib.optionalString (builtins.isString privateBuildPlan
-      && (!lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
-        cp "$buildPlanPath" private-build-plans.toml
+      runHook preConfigure
+      ${lib.optionalString (builtins.isAttrs privateBuildPlan) ''
+        remarshal -i "$buildPlanPath" -o private-build-plans.toml -if json -of toml
       ''}
-    ${lib.optionalString (builtins.isString privateBuildPlan
-      && (lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
-        cp "$buildPlan" private-build-plans.toml
+      ${lib.optionalString (builtins.isString privateBuildPlan
+    && (!lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
+          cp "$buildPlanPath" private-build-plans.toml
+        ''}
+      ${lib.optionalString (builtins.isString privateBuildPlan
+    && (lib.hasPrefix builtins.storeDir privateBuildPlan)) ''
+          cp "$buildPlan" private-build-plans.toml
+        ''}
+      ${lib.optionalString (extraParameters != null) ''
+        echo -e "\n" >> params/parameters.toml
+        cat "$extraParametersPath" >> params/parameters.toml
       ''}
-    ${lib.optionalString (extraParameters != null) ''
-      echo -e "\n" >> params/parameters.toml
-      cat "$extraParametersPath" >> params/parameters.toml
-    ''}
-    runHook postConfigure
+      runHook postConfigure
   '';
 
   buildPhase = ''
@@ -118,7 +118,7 @@ buildNpmPackage rec {
     runHook preInstall
     fontdir="$out/share/fonts/truetype"
     install -d "$fontdir"
-    install "dist/$pname/ttf"/* "$fontdir"
+    install "dist/$pname/TTF"/* "$fontdir"
     runHook postInstall
   '';
 
diff --git a/pkgs/data/fonts/iosevka/update-bin.sh b/pkgs/data/fonts/iosevka/update-bin.sh
index 68f93f1f26e69..bfa50e1a6e529 100755
--- a/pkgs/data/fonts/iosevka/update-bin.sh
+++ b/pkgs/data/fonts/iosevka/update-bin.sh
@@ -19,9 +19,9 @@ sed -i "s/$oldVersion/$version/" bin.nix
 {
     echo '# This file was autogenerated. DO NOT EDIT!'
     echo '{'
-    for asset in $(echo "$release" | jq -r '.assets[].name | select(startswith("ttc"))'); do
+    for asset in $(echo "$release" | jq -r '.assets[].name | select(startswith("PkgTTC"))'); do
         printf '  %s = "%s";\n' \
-            $(echo "$asset" | sed -r "s/^ttc-(.*)-$version.zip$/\1/") \
+            $(echo "$asset" | sed -r "s/^PkgTTC-(.*)-$version.zip$/\1/") \
             $(nix-prefetch-url "https://github.com/be5invis/Iosevka/releases/download/v$version/$asset")
     done
     echo '}'
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 5e71e08b78dac..37b99bfc30092 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,93 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "0s37z4yml026pmaj6gpc603mry34hlzg67b0v9rblb90rx7xqlii";
-  iosevka-aile = "1vpn9mg48xy4jmbs804zmisaj1mnvwv5b9c0iy6mrwkd5m7gcqfb";
-  iosevka-curly = "138wwgn03cx0lkgs2mbydiyggjmbmy3iz4wgn17sbp5d7m7g0sp3";
-  iosevka-curly-slab = "024miwl9y57rxmc4hnyjk0j861wapyfy4jpg5q61jjh6nji3qwrk";
-  iosevka-etoile = "0gcdpzi6riy6x9qcjzmvb2kcdh209d8zbbc78b95ymgyndzwp3k2";
-  iosevka-slab = "1gny1az6lrg24dx9qrrpbrq85mkn6684970gbvl8wjh1pmkv2w14";
-  iosevka-ss01 = "06kw96biyyp35cc4x5pr3bf08f72020nvwcz12wk0qms02rz37s0";
-  iosevka-ss02 = "0yd18n2vrxbpf4kccad5q0cr24j04grz57l2jpgr3j3qiwz53zn1";
-  iosevka-ss03 = "01203jgpx8hsxs2jq5py8404y1cz95m5bsdzgya3nhyfslix7dxz";
-  iosevka-ss04 = "1c2xs689fqzzvbv72wb7pfwx687hrl8vzvakjbl317qpzmlrlbkr";
-  iosevka-ss05 = "0whfsl9ma1590zmks0r7lywc0sfy6mq74p8mhkmds6h35nri9djj";
-  iosevka-ss06 = "065lqb0w4cvhk7jadic2xn4pdq0rrg4f4b0gpc5z0xa2fsvw4rir";
-  iosevka-ss07 = "0bhl2p0zrzdn9vhl5ndfdzd7658qsaci41l6vpcsl5x9np3ii2jg";
-  iosevka-ss08 = "1ka2ii29v4aqqiwfbjcwsqsj2gpa46mpnv7d11rgn49n4j0isk1p";
-  iosevka-ss09 = "08n44fjsas94d7q1x9az58z5p786gxh8665yyhvhjzh76pzrkbwj";
-  iosevka-ss10 = "136pvfw6lab3vwzrx45cqkh1n6r8srahd9jbi9li02r19m78qp6f";
-  iosevka-ss11 = "0wgnzq1vfibxgb50dcwjsvf20jvjvhp1xwsbh1zpqqsh1kr89bln";
-  iosevka-ss12 = "0ql1xhjk2alrvyryvjaw54z9gnh4gi58nhskrhnkz4mdlr7a6xr3";
-  iosevka-ss13 = "0ivk20l8y2g0s7729wjc4h9bdqvjn859ij8vaccl12ql58i2phhb";
-  iosevka-ss14 = "0ib2ynpk7lcisbmcrrd2wlia7rh243zq1hys6ln2r3gd75m6hvbq";
-  iosevka-ss15 = "0yp0n7d5wwwykmzlc41fywc1mx06khp3xiy6gad9bng7mavpx91c";
-  iosevka-ss16 = "0gm0b50zhc2hc6l3qpl4q3jk8rcr9bh8y0i65xcv3bm456753l4v";
-  iosevka-ss17 = "0yf244n7161zk1csxnb7zx2c95q79jibplvczqfh2k8as3r4xw07";
-  iosevka-ss18 = "1886h5dzswspd0j3hs0d6m271qqsfp3zkihyp9acpf2v4r56nmmn";
-  sgr-iosevka = "1kl1wkgda764qqyyk14s0gfb2qavsfvc9zbr30z7zdkcqxk383gd";
-  sgr-iosevka-aile = "115ynw0dysf9473j6jami7yf79i6rlhm7a019fxlfcqnm2k3zz5r";
-  sgr-iosevka-curly = "010g7cgd3r8dw48mfdmcqzymqn8mqn5xnnvinvilahxq0qaj2s4w";
-  sgr-iosevka-curly-slab = "1fk67ay7bs1s1qajlrib06n0y1ii1fjlxdqrj2dvzlji8ac35hqc";
-  sgr-iosevka-etoile = "1gf696k4f4hh1yh664d361x0n65sh6q0i3n8as5id2vpzcjbn83w";
-  sgr-iosevka-fixed = "12v438imi2891b4ra3c48imd0n429aa889myhkglrky1bfxwwpw2";
-  sgr-iosevka-fixed-curly = "1v4vv48an8l9a5diavxap328d3qd6iy6hbwkkn64db2vxwmkdml7";
-  sgr-iosevka-fixed-curly-slab = "0xbz45qkd9paghrdx4s1gxgnn872fmywmr7il0v5yir81wys1z97";
-  sgr-iosevka-fixed-slab = "1w7qsg6a2g27izbmqshly2bnsbwdf2rhymvnq30vqgb2f1a6rlwq";
-  sgr-iosevka-fixed-ss01 = "1f4fi4h3fl7c3b0maj2l9df4yfs4pqj9rq5f7kk9kl2jnk0zq6yy";
-  sgr-iosevka-fixed-ss02 = "18q603zbi1dk1z8n215z2kyi3rcxik6m6cffihml0f1sb39rh3r7";
-  sgr-iosevka-fixed-ss03 = "05xs1z82ck01f9x3vhc74ajbgj9ms14bbmbcz0cf18sx03hpyz84";
-  sgr-iosevka-fixed-ss04 = "00rb7580xppnvjph6az2ldhgagahvivirzax2pf3fxd5an08zmla";
-  sgr-iosevka-fixed-ss05 = "1smjnzjhkxkb9m79d8ynp30846zggb88z7qxd2q58iadq8narx2q";
-  sgr-iosevka-fixed-ss06 = "0wqd4pyv66axwsnicbpzidghvh3cx2lyzjmj66734rqz8slsrjb6";
-  sgr-iosevka-fixed-ss07 = "1xbs7mjvl8mvi4jhmxnfadvvgpyvyh7y4yqn8vhgbcxp84fzgy3j";
-  sgr-iosevka-fixed-ss08 = "0x2kkfffhapj4vnfpdv49zr4wrf02sw6467qrky9sf9phkwa40vh";
-  sgr-iosevka-fixed-ss09 = "0z436cps3rb8kfm7pxjjs8p3bjwrg86p549nd6fvgp67p05xx38r";
-  sgr-iosevka-fixed-ss10 = "0qpjdgzqb5yadp4bz26kmwjdmpaak7s2mj9km2g565bci096cri4";
-  sgr-iosevka-fixed-ss11 = "1i306ai7drhca8ammi6dz8j6v68mjyxwc35zzg801shgy8a00scd";
-  sgr-iosevka-fixed-ss12 = "0aza67vz3mrq9ah5pm7lyahdbh0dhzzp8v4hy5slmy8a766ha9gm";
-  sgr-iosevka-fixed-ss13 = "022nrapzv1s2a5davh1bpqgm46r04fbns5x6z3826ydsrwkapfs7";
-  sgr-iosevka-fixed-ss14 = "023f8j5rzivmqg61larm5kjyb7sd8prqilzd99xp1b97zi4iy0kg";
-  sgr-iosevka-fixed-ss15 = "0xb85wsfha7z0krlnb1nhzqd4cva13dvrp8kpfpnmmz1alpvgx0x";
-  sgr-iosevka-fixed-ss16 = "0n3chagxlypxsj1zb2r6z3vjfix15pc3nc8sx5cc9j4inb7v5z5v";
-  sgr-iosevka-fixed-ss17 = "0kzk2llpwi9plbn3jw203chr8ahpq6kbv9b4i9maf3ljvgdy7nyc";
-  sgr-iosevka-fixed-ss18 = "1mzv3zkxrd1lsri1niiqvlkpzhxy9m0gr3ygxzrrfj3f6p6wzq87";
-  sgr-iosevka-slab = "1fsl0qsvmfhxjc6y5g8d90x39mz5hzw55xfnwzjjifls6igc8kd4";
-  sgr-iosevka-ss01 = "0z18akfqsgr6qcqrcrrwpfdswzk8if9cdhahqgjnkw90qm4m6pyq";
-  sgr-iosevka-ss02 = "0x0bc72y835xlz9k2xbbpgccrgswkg7w1hia86x6d91kgj7whmg4";
-  sgr-iosevka-ss03 = "0v56qc9aj2k1vs7wxnni21hflady4n5qi05gysp193n7j440l3ci";
-  sgr-iosevka-ss04 = "0nidrw3pjcn5fz2a6ysvdkqah31rzgnsg4z7p804h9cnqwl2b2m4";
-  sgr-iosevka-ss05 = "0khphs4d28sas5i31kbbj2zv0b45vc0p05d9kyg3azl4hl72ic41";
-  sgr-iosevka-ss06 = "0qmr33qv890jqygz6gllh1g0fvvxyjmla0hb02zcgljrccwq7jyd";
-  sgr-iosevka-ss07 = "09952mnal5mdz5fqfg4ayidvxcc8sfwv7d127vdzxhawg60ikkss";
-  sgr-iosevka-ss08 = "1ymf7j5jx2jdh6n910d89k71m95hg05dp6g6mvv0c7m4yf5wd7m3";
-  sgr-iosevka-ss09 = "0gh7rx8fzbx61jba34kcwlazxg7ar4y6vp1h6aysn30fv7q9p7rp";
-  sgr-iosevka-ss10 = "0i72r3xllg8am12n700zylc1a8nc4xnj5zxhfhvlk1czdhv7dln6";
-  sgr-iosevka-ss11 = "0hs8b9fmjwxbl08652zfkgdmq0dds43jsr2qd3npmg6cg2xdiz2n";
-  sgr-iosevka-ss12 = "0crs18k93v2xsry8fmf07wfpl3n7ixdn2sy7xls4ijk5wk0nd6vr";
-  sgr-iosevka-ss13 = "1fg883qjpqpcxwh9bwc88nzihisr212q1fdrrzy8q3p9vy322j5j";
-  sgr-iosevka-ss14 = "1ix85cr0prgfrxckzgf2xdnh9zv6d8v2f4lf6syq0rax2wpdxdk7";
-  sgr-iosevka-ss15 = "098fjkjlgnzmw4wgr2d7vx627xiq7n19rc2x5f6qhqcfxcvayf0f";
-  sgr-iosevka-ss16 = "0ibfr10h6gxnimpq0bbp2n61a4y4rdkwa5x6m8hlxndxi801zy8j";
-  sgr-iosevka-ss17 = "11zx7lpp8xy67x35a6089s3fq0i1yqfdkckxnp2f32szv67midp0";
-  sgr-iosevka-ss18 = "1zdfk1a9sixn7as75sjf7sgh3qhhhs819305i9aw93dy4ghvc4zc";
-  sgr-iosevka-term = "091rkh4abm90hakq78w7r3ks9kcyx7kpcfvvcx8ydq7qammc2064";
-  sgr-iosevka-term-curly = "0kqxraz8jl7w97yf4x9jp7rkbkxjj85yghw0f70g3idxmzk2n4fh";
-  sgr-iosevka-term-curly-slab = "1q10n7wckzv1y9dq0b3jj61h39mcjhkga310pm8r0mjh59jsqxxk";
-  sgr-iosevka-term-slab = "1pzd5gzz7s1gawvvqnh8gfc6cm5c56ajvkc6c3fnjycl1v9fr3fg";
-  sgr-iosevka-term-ss01 = "0za9kwg389znql9jycs02xnmn9wi9c9ganwlqrsmazgcg6cxksds";
-  sgr-iosevka-term-ss02 = "0qli57cva503qvxqx86lrl6mjmbq9n0i04198vzjs5ad151iqk2a";
-  sgr-iosevka-term-ss03 = "0yfp4a6m9dl67kc8wa4skzrlkh1ysh0a0ndv3gvknaidzpqyigwh";
-  sgr-iosevka-term-ss04 = "1b8yvv3i66d0j4z8fh94q97hqgw404pf1z57p7kx31nlgs0p26kq";
-  sgr-iosevka-term-ss05 = "1x6adciw3irh6xsxjlw668l0cz094zin1p4f83allc2bkphq3f9w";
-  sgr-iosevka-term-ss06 = "1z73jak1ffc1mdnfh3j1z33b8sj5bbh5s86mn7ki5fy5wvq65sih";
-  sgr-iosevka-term-ss07 = "1f028x2m39xphvx265qzh3mrirj3rkwv9jmr5q4qdpvpk7xnbra9";
-  sgr-iosevka-term-ss08 = "1i0k7k21fmnb0s5ri840a45ycxmm9dz2zw59n4sxivyv70fhhsfc";
-  sgr-iosevka-term-ss09 = "1qn891rqxha2sr9w2h885xx4fnyc9scjqqp148dpsnn32cg7bqpr";
-  sgr-iosevka-term-ss10 = "02a1nxcv4q6s6kvlxrq7b9xdym2j7in40pkw05df8wqmlqzmgv2b";
-  sgr-iosevka-term-ss11 = "0fwjn4a5p65q5rdbb9wb979ff4k5r2ifh2x99jhj0xhwpy8dza1i";
-  sgr-iosevka-term-ss12 = "1ycga16psqw4jh6gzxji6sbvhlq6488hkkqwsh1h860gjql0ckm6";
-  sgr-iosevka-term-ss13 = "1f715vxs5j5ham5ihpxzq36ykn2nm2f62gg8s3yzsyp9s58sndmd";
-  sgr-iosevka-term-ss14 = "1l2s2naa77xv1dwng6lw0zccbndaln8viamsgmbrqjwfdisbrlzw";
-  sgr-iosevka-term-ss15 = "1wmkpilp06633rdaf5dzbw48srikh5a8jvk8prcwka4flrs5crnq";
-  sgr-iosevka-term-ss16 = "0ccxfk87qp4lr3g67lzbphw6rknvc78h66bbpq5smk0diad8q3nc";
-  sgr-iosevka-term-ss17 = "1hm0m9gr8pwbp34fsg9dxcmawn2czmx908gajv4miq4wg0ivsz8k";
-  sgr-iosevka-term-ss18 = "1ylbvygxdn3f2crkrywhj0jc15hdpwh08f925xxygq3vrshd22r6";
+  Iosevka = "0c9b5hxqfi8jqbgdf5377l0xbga51j9h8hxi5yfa1zznqm1yp041";
+  IosevkaAile = "1xc43dinsikyr1q0br25kqlqknrahd8g0sxdphvm0f5chxrnysjk";
+  IosevkaCurly = "0v0r1xcgayzg7qb4r0apncpvc22faidbq5rrb5srb5nbaglrlkcm";
+  IosevkaCurlySlab = "1rj8xam8p8xx3slzsm3wg84cgzcg1mqsx2k9ww21ic21ckhr2b68";
+  IosevkaEtoile = "1hnjiqridfswlgzx2gx09nvmn2vj1iqzccxsv8bfddj9h3gxkqqv";
+  IosevkaSlab = "1ja18as85yww613nk4nxryy4mbvb1kgawx2fzh1wxw2g6jyqxdag";
+  IosevkaSS01 = "1a6im9ga2zm58ngf4wj19k9a6k971m9szj9ph8919mrpa5k66slb";
+  IosevkaSS02 = "1899hyy1snzbaj96vncv4qmd3ky3bbqqrxr54vmk49mx10fvq494";
+  IosevkaSS03 = "0lfkvd0rhw5yls31xhmd2vdwh51d16pyx9fq12kdy10syawlzfcy";
+  IosevkaSS04 = "101n098m6sckz3fp3xmd94d2yzpc4b1qhc7qn1g8kfk053ydg7jm";
+  IosevkaSS05 = "18j2rrs3m091f156b38jhlr3h83malgvsacidg5nkp09jcphfcsc";
+  IosevkaSS06 = "1jl1cxhqcj6an0z7ln2al105ayvhbrq1bs4a04zqg9j36wh67b86";
+  IosevkaSS07 = "0bzsg9zpwabp0hsp4d8v0ixzhzwm3m833g2326pc86aky50j1r3s";
+  IosevkaSS08 = "0gbmfddnfnc6g8zgfv3l3560j6ry9yky8l15kah2xx4ywzl561y1";
+  IosevkaSS09 = "1yfhh29k565kq7k2bnfci2mbkm0hb18r9h8cic2w4661fx9yb5vz";
+  IosevkaSS10 = "0q8xycxxvmzamhz2qsg0lzf1vgvcvs6pk854q3dwpc1xkp1592qb";
+  IosevkaSS11 = "0cxfbx1d28pval8gzka869b273vdaa88wqj6i6i4x1nss24kdyy9";
+  IosevkaSS12 = "0jax7xabzwb4visjg7b71gyqk5wx03x08scnmz92vq65sqd5i7yd";
+  IosevkaSS13 = "105fv8ilz579bqdyaynkngcsxfvx75smabns7vbj7vlkw3z39343";
+  IosevkaSS14 = "1d7gd3j158lk1dnv18ab1i1jfb9q18p977iypq95xy9yjyvs03s8";
+  IosevkaSS15 = "0nq2yi6ad1jk45k16br3rq4isy5cc1vb8pysbg4q2sswxm195j4a";
+  IosevkaSS16 = "0pqfqlv87ag0kfdnf7wqhnljby2a1nf44q0qaxamv2vkf0b14b55";
+  IosevkaSS17 = "132zqrl7z7c8z4bs74nyka8nx94hdzh41kg63rd8ynycj9wpg7p1";
+  IosevkaSS18 = "1chyqbynsgaxcgi0cf62g8b7h6hdkirfy05i8yh6rwwwa7bksp0l";
+  SGr-Iosevka = "123vpy4y51rp63q2biif7s2n1pb6s53r5zpsl3v0fx31lga5fqmb";
+  SGr-IosevkaCurly = "0n7xsxnkz1mrq9608vvm7sha7irr3zkxl92lj7nvkcp0fzsvj27k";
+  SGr-IosevkaCurlySlab = "08q7na9abvlnyds9kldgs4q6rpli4b6mb6xynxifgh0p2zqwvzby";
+  SGr-IosevkaFixed = "0y1yi6xn7zbp8ylg9i9y0l58a2fd2hvbplrv9l28b9rn4j5rlz1s";
+  SGr-IosevkaFixedCurly = "0bs83vis93myb6icixyz0nlzbk0iykdxc1m3jwqig8wmyl1d0rzq";
+  SGr-IosevkaFixedCurlySlab = "0gm00qjffx2rnwdm486jrhnv4f68g0lknfv05y0alm2nczn4nhh4";
+  SGr-IosevkaFixedSlab = "03xmgm5884496d6x1rsrcz3qg10j960zyqlwfawv33yr2yi1z7j8";
+  SGr-IosevkaFixedSS01 = "0dnprncmrl3pi6dkmcf7qgh90730zrfvpg32fjrm67svvjqlhnqk";
+  SGr-IosevkaFixedSS02 = "0yn9r3z0q328y0dk5mx4ik4cpsixmhg1fdsgqaznkwqwxgp687s4";
+  SGr-IosevkaFixedSS03 = "1bq5aq277ixnc6p1v0yf5l47kml1hh867zvv365wjz2wqdzg9zma";
+  SGr-IosevkaFixedSS04 = "0rbbm7b0ljr1l219ipq64a4vhpcsc68pp1y5n2a7vknnmg0al0hw";
+  SGr-IosevkaFixedSS05 = "11gs8zazljlayban6whjr8kbq40v0z6icn55iwn4spwfdri74p5p";
+  SGr-IosevkaFixedSS06 = "18pfxnpz5a78qis7ml1cq7s4y4h98d5zg0v8km6hgzmxan60rlhl";
+  SGr-IosevkaFixedSS07 = "0whgk33w9w1kjqy6lazc9p5azn9cjd2sy1cx2shvc8zqg60y5zjn";
+  SGr-IosevkaFixedSS08 = "189i1x7lk4r0q92g09badxl2ymf23fcsg80hpzlbpr84xqynsbnb";
+  SGr-IosevkaFixedSS09 = "04qp01is8piqsd4x7bn0aq63dhdvcg2b5hyd3m7xs6j9bfbxdb0a";
+  SGr-IosevkaFixedSS10 = "0xyw2z2gjs4qa1cwdf5zyman1d9c1imvdzlczc5vhikllfqxpagj";
+  SGr-IosevkaFixedSS11 = "05yqrn5zwgxrdn0g9cvd4i7km3r3xn5qdjakkywi3l8hi638qxj3";
+  SGr-IosevkaFixedSS12 = "0kl1wxiirpkd69x6zv3k5v2k0cgdh7sd288x05z5whgmx2cvlfpc";
+  SGr-IosevkaFixedSS13 = "1rb3l2i6k1974a26nkm7l3b2ky3wiwmcc9ia1sg0dcn0z8ckxapj";
+  SGr-IosevkaFixedSS14 = "15084jaxknbjf5xqhg21c5pv8w4hjma1h2x84wp5apqn4w6s4rza";
+  SGr-IosevkaFixedSS15 = "1dray6ywv2sj9hlm2mwx6zhbas2mhsd0q0lvmbyxldrwvapc749c";
+  SGr-IosevkaFixedSS16 = "1cikcxyv1jbw83wlvxcp3f5qivy0gklqzirpsfyj8q13nllqhq1h";
+  SGr-IosevkaFixedSS17 = "0mvmp4fx3rajd6l2370jc7mcn7fr6z3yh0zxz7haps7zhkbp9fgg";
+  SGr-IosevkaFixedSS18 = "1nkghw9j672q2k2y3hdlwj237lk31ig7860phbxx90nnxy9vpjhz";
+  SGr-IosevkaSlab = "011jcy2a2196b2lizz5qcf044rkh6hmfjpm171skiqidxndafpf4";
+  SGr-IosevkaSS01 = "0yndd4ry0mcm3h578y3azqnqx4iild2xxqgbwcxs995pc4n8i7mr";
+  SGr-IosevkaSS02 = "13p9674zv6xj2378i0lsg6g61g735zwgdjkq35cmhfavbmp4kgnf";
+  SGr-IosevkaSS03 = "1w9pnbs2xkmxggr76n8n2ikk5x7zha9na26dg2xdridhlvlzdwvm";
+  SGr-IosevkaSS04 = "1ds9mjx37ihhq60ysccmgj15vzhyl7jjkr1is6n76aqacjqxki0g";
+  SGr-IosevkaSS05 = "1n2jcpym1yzb7xwd86s2kq5gmqi1i83lvmdng0y4wmi09ak6njwi";
+  SGr-IosevkaSS06 = "08hd66f6fbgnxns9zbr6wjqcxqnmbs6mrrd66yrlsxx9xcz9vggx";
+  SGr-IosevkaSS07 = "1lrjvpcgvvanmajvdw91d7f3kwg4xmfmsq7x455mx06ni6c6yx1x";
+  SGr-IosevkaSS08 = "1m959d0hwb5v3ad483gaw7kzjzkws0p5y10gd337n5vsjsy3l1yj";
+  SGr-IosevkaSS09 = "1q15mgabvdh5bvl8i36807m0nl0aiglfrpa3bilrbbayvqsp4yhr";
+  SGr-IosevkaSS10 = "0nw7053361rb38w104yg31xib42v67n7zv3j8j7z0al0z5ypak35";
+  SGr-IosevkaSS11 = "1im7pad5alp9j80r6qvpps4fxpkf753c4c87mfy9bk1jvr60md8p";
+  SGr-IosevkaSS12 = "1nn353bqnx0wd2jp6k9pmf1h48nyakv29whpklp3vn53fy8dysjq";
+  SGr-IosevkaSS13 = "0d4drf8i6df0hf0m7fwapzncvjsy2165qfj0y0iggzr3v2bq8q71";
+  SGr-IosevkaSS14 = "1nccdwhn6kg6142x4w3r53slvs4x33ls54rhc818wvrnpbl08b75";
+  SGr-IosevkaSS15 = "1kgrj1my2i10qi13psdx3pljz93g4417fnm0d2b9nz9ha2d4zknh";
+  SGr-IosevkaSS16 = "1vsn37wkzc417li7xfx8bbcj2wn2pp9qmn60wzq8pj8isbgj4c5d";
+  SGr-IosevkaSS17 = "0c51rjmjqih87wnfiajhhc3b695dypr079v9dhz8rq2ic1r0dd5c";
+  SGr-IosevkaSS18 = "0cxr42gza3lrdph91nfpr0a9imxrr6n0pyzcmar65ix77r4wdy0q";
+  SGr-IosevkaTerm = "1q7pqpazlj1x140gib3gdzblwi3s6cywz1icf1xgwbm7mr8ab5g7";
+  SGr-IosevkaTermCurly = "0xpj52hps0l5iarcjxhammz2z8kqjjayi6vxnpz12hjbvfp6ldcj";
+  SGr-IosevkaTermCurlySlab = "0pxjn59fmsmqyirl6mpkhhl4yz4xb4n2mz7wg8lccrj2naz027sp";
+  SGr-IosevkaTermSlab = "0814zl1yy671jaiycwdwj21b15if1wdv0d08f3ja3qp97h5ppzwg";
+  SGr-IosevkaTermSS01 = "1kwc5rl1yybwxygsmxca3sk83281fbihf2k3pwabrz0jmw61s2rd";
+  SGr-IosevkaTermSS02 = "1srk77hn944vc6k66njrqs9wn9qw8kqgynw48y5w54vdii2ac9fb";
+  SGr-IosevkaTermSS03 = "0kl0xrbqn5a9ry1q6hxhawia09wa1vz8pjvkc22r54qz0l5mcw4i";
+  SGr-IosevkaTermSS04 = "0rm00brfqs97lhg3jqb8cvsin28a87pm7scf8vibh9pigg5h8vly";
+  SGr-IosevkaTermSS05 = "1ii53sp83wc3ljhapra4rfvbfglalg1rqg30ybkj7r4jfyx4jl98";
+  SGr-IosevkaTermSS06 = "1pc61w7c9ph0x5wxpz6bkfiisi2mvq8fnxzm7qnq1gbl5895d255";
+  SGr-IosevkaTermSS07 = "1nhilhhb4lr7hxaj9rzmrqw0bsfm7h54dmggrwsssld4pzy2crpg";
+  SGr-IosevkaTermSS08 = "16p0yx9b0xlsg0g0hyi42ccfc5z5ngmh31bsdivfxxdpmjsln3r6";
+  SGr-IosevkaTermSS09 = "1xky6d68nmhy3fzv91d616mzms2x4j0z6ahlj98bn70xns1bdp5y";
+  SGr-IosevkaTermSS10 = "05dp4lya900w8glcdm8dl47pic3c3w6i9xsqzbb0la8rz1hbrrwy";
+  SGr-IosevkaTermSS11 = "059wiqwm4vz1ddjn20jnd943s6zld1va13zmqx9hf2w77hsi4gm3";
+  SGr-IosevkaTermSS12 = "1swapdr2vr7xw4y63f7wrpgy271hx49cmng3pvsnrkw31rbdkf4f";
+  SGr-IosevkaTermSS13 = "00bcqr2yz1dg6hq9n23njy7vsj1hl06k6836h7krphnzy8rw5fx2";
+  SGr-IosevkaTermSS14 = "1wrqyq8i2dplivifsza6d4w87x9jhcqypyy3mli0gy8vvqr4f938";
+  SGr-IosevkaTermSS15 = "07rknhg3bmsyr8wnk1y8k5h6sjgbnx75xrx9yzbqgfx344x0p6c2";
+  SGr-IosevkaTermSS16 = "1gxmlqh9bnqw1izwmxvhiy717j7mmfqbywqi92y3cj8w1191n5r6";
+  SGr-IosevkaTermSS17 = "0w2c3k6yla9mkl263ypp96nhsydgnn2l3x2ddif0s75hv12qkbng";
+  SGr-IosevkaTermSS18 = "1gwnbw3pxwaj0pa223zqvdsx9pccc03c3f70y5dsq4c6fxfqaxzh";
 }
diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix
index 29a158838458b..1bc12ad70abbd 100644
--- a/pkgs/data/fonts/junicode/default.nix
+++ b/pkgs/data/fonts/junicode/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenvNoCC, fetchzip }:
+{ lib, stdenvNoCC, fetchzip, texlive, callPackage }:
 
 stdenvNoCC.mkDerivation rec {
   pname = "junicode";
@@ -9,7 +9,17 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-oOKg85Yz5/2/pvwjVqeQXE8xE7X+QJvPYwYN+E18oEc=";
   };
 
-  outputs = [ "out" "doc" ];
+  outputs = [ "out" "doc" "tex" ];
+
+  patches = [ ./tex-font-path.patch ];
+
+  postPatch = ''
+    substituteInPlace TeX/junicode.sty \
+      --replace '@@@opentype_path@@@' "$out/share/fonts/opentype/" \
+      --replace '@@@truetype_path@@@' "$out/share/fonts/truetype/"
+    substituteInPlace TeX/junicodevf.sty \
+      --replace '@@@truetype_path@@@' "$out/share/fonts/truetype/"
+  '';
 
   installPhase = ''
     runHook preInstall
@@ -20,9 +30,18 @@ stdenvNoCC.mkDerivation rec {
 
     install -Dm 444 -t $doc/share/doc/${pname}-${version} docs/*.pdf
 
+    install -Dm 444 -t $tex/tex/latex/junicode TeX/junicode.sty
+    install -Dm 444 -t $tex/tex/latex/junicodevf TeX/junicodevf.{sty,lua}
+
     runHook postInstall
   '';
 
+  passthru = {
+    tlDeps = with texlive; [ xkeyval fontspec ];
+
+    tests = callPackage ./tests.nix { };
+  };
+
   meta = {
     homepage = "https://github.com/psb1558/Junicode-font";
     description = "A Unicode font for medievalists";
diff --git a/pkgs/data/fonts/junicode/test-vf.tex b/pkgs/data/fonts/junicode/test-vf.tex
new file mode 100644
index 0000000000000..a23437b40efd8
--- /dev/null
+++ b/pkgs/data/fonts/junicode/test-vf.tex
@@ -0,0 +1,46 @@
+\documentclass{article}
+
+\usepackage{junicodevf}
+
+\begin{document}
+\begin{enumerate}
+\item {\jBold Bold}
+\item {\jBoldItalic BoldItalic}
+\item {\jCond Cond}
+\item {\jCondItalic CondItalic}
+\item {\jCondLight CondLight}
+\item {\jCondLightItalic CondLightItalic}
+\item {\jCondMedium CondMedium}
+\item {\jCondMediumItalic CondMediumItalic}
+\item {\jExp Exp}
+\item {\jExpItalic ExpItalic}
+\item {\jExpBold ExpBold}
+\item {\jExpBoldItalic ExpBoldItalic}
+\item {\jExpMedium ExpMedium}
+\item {\jExpMediumItalic ExpMediumItalic}
+\item {\jExpSmbold ExpSmbold}
+\item {\jExpSmboldItalic ExpSmboldItalic}
+\item {\jItalic Italic}
+\item {\jLight Light}
+\item {\jLightItalic LightItalic}
+\item {\jMedium Medium}
+\item {\jMediumItalic MediumItalic}
+\item {\jRegular Regular}
+\item {\jSmbold Smbold}
+\item {\jSmboldItalic SmboldItalic}
+\item {\jSmCond SmCond}
+\item {\jSmCondItalic SmCondItalic}
+\item {\jSmCondLight SmCondLight}
+\item {\jSmCondLightItalic SmCondLightItalic}
+\item {\jSmCondMedium SmCondMedium}
+\item {\jSmCondMediumItalic SmCondMediumItalic}
+\item {\jSmExp SmExp}
+\item {\jSmExpItalic SmExpItalic}
+\item {\jSmExpBold SmExpBold}
+\item {\jSmExpBoldItalic SmExpBoldItalic}
+\item {\jSmExpMedium SmExpMedium}
+\item {\jSmExpMediumItalic SmExpMediumItalic}
+\item {\jSmExpSmbold SmExpSmbold}
+\item {\jSmExpSmboldItalic SmExpSmboldItalic}
+\end{enumerate}
+\end{document}
diff --git a/pkgs/data/fonts/junicode/test.tex b/pkgs/data/fonts/junicode/test.tex
new file mode 100644
index 0000000000000..d82f40f1279f2
--- /dev/null
+++ b/pkgs/data/fonts/junicode/test.tex
@@ -0,0 +1,46 @@
+\documentclass{article}
+
+\usepackage[fonttype=@fonttype@]{junicode}
+
+\begin{document}
+\begin{enumerate}
+\item {\jBold Bold}
+\item {\jBoldItalic BoldItalic}
+\item {\jCond Cond}
+\item {\jCondItalic CondItalic}
+\item {\jCondLight CondLight}
+\item {\jCondLightItalic CondLightItalic}
+\item {\jCondMedium CondMedium}
+\item {\jCondMediumItalic CondMediumItalic}
+\item {\jExp Exp}
+\item {\jExpItalic ExpItalic}
+\item {\jExpBold ExpBold}
+\item {\jExpBoldItalic ExpBoldItalic}
+\item {\jExpMedium ExpMedium}
+\item {\jExpMediumItalic ExpMediumItalic}
+\item {\jExpSmBold ExpSmBold}
+\item {\jExpSmBoldItalic ExpSmBoldItalic}
+\item {\jItalic Italic}
+\item {\jLight Light}
+\item {\jLightItalic LightItalic}
+\item {\jMedium Medium}
+\item {\jMediumItalic MediumItalic}
+\item {\jRegular Regular}
+\item {\jSmBold SmBold}
+\item {\jSmBoldItalic SmBoldItalic}
+\item {\jSmCond SmCond}
+\item {\jSmCondItalic SmCondItalic}
+\item {\jSmCondLight SmCondLight}
+\item {\jSmCondLightItalic SmCondLightItalic}
+\item {\jSmCondMedium SmCondMedium}
+\item {\jSmCondMediumItalic SmCondMediumItalic}
+\item {\jSmExp SmExp}
+\item {\jSmExpItalic SmExpItalic}
+\item {\jSmExpBold SmExpBold}
+\item {\jSmExpBoldItalic SmExpBoldItalic}
+\item {\jSmExpMedium SmExpMedium}
+\item {\jSmExpMediumItalic SmExpMediumItalic}
+\item {\jSmExpSmBold SmExpSmBold}
+\item {\jSmExpSmBoldItalic SmExpSmBoldItalic}
+\end{enumerate}
+\end{document}
diff --git a/pkgs/data/fonts/junicode/tests.nix b/pkgs/data/fonts/junicode/tests.nix
new file mode 100644
index 0000000000000..fda7de31670e1
--- /dev/null
+++ b/pkgs/data/fonts/junicode/tests.nix
@@ -0,0 +1,35 @@
+{ lib, runCommand, junicode, texliveBasic }:
+let
+  texliveWithJunicode = texliveBasic.withPackages (p: [ p.xetex junicode ]);
+
+  texTest = { package, tex, fonttype, file }:
+    lib.attrsets.nameValuePair "${package}-${tex}-${fonttype}" (
+      runCommand "${package}-test-${tex}-${fonttype}.pdf"
+        {
+          nativeBuildInputs = [ texliveWithJunicode ];
+          inherit tex fonttype file;
+        } ''
+        substituteAll $file test.tex
+        HOME=$PWD $tex test.tex
+        cp test.pdf $out
+      '');
+in
+builtins.listToAttrs (
+  map
+    texTest
+    (lib.attrsets.cartesianProductOfSets {
+      tex = [ "xelatex" "lualatex" ];
+      fonttype = [ "ttf" "otf" ];
+      package = [ "junicode" ];
+      file = [ ./test.tex ];
+    })
+  ++
+  [
+    (texTest {
+      package = "junicodevf";
+      fonttype = "ttf";
+      tex = "lualatex";
+      file = ./test-vf.tex;
+    })
+  ]
+)
diff --git a/pkgs/data/fonts/junicode/tex-font-path.patch b/pkgs/data/fonts/junicode/tex-font-path.patch
new file mode 100644
index 0000000000000..13b311b39ce65
--- /dev/null
+++ b/pkgs/data/fonts/junicode/tex-font-path.patch
@@ -0,0 +1,166 @@
+Upstream style file relies on font files being present on the system
+globally.  This is not quite how Nix usually does thing, so this patch
+changes the style file to instead look fonts up in hardcoded
+locations, which are later patched up to refer to the package outputs,
+thus ensuring the style always uses the fonts packaged with it.
+
+diff --git a/TeX/junicode.sty b/TeX/junicode.sty
+index 83bd45d..8fe671c 100644
+--- a/TeX/junicode.sty
++++ b/TeX/junicode.sty
+@@ -208,7 +208,14 @@
+ 
+ \RequirePackage{fontspec}
+ \defaultfontfeatures{Ligatures=TeX, Extension=.\junicode@fonttype}
+-\defaultfontfeatures{Ligatures=TeX}
++
++\def\junicode@fonttype@otf{otf}
++
++\ifx\junicode@fonttype\junicode@fonttype@otf
++  \def\junicode@fontpath{@@@opentype_path@@@}
++\else
++  \def\junicode@fontpath{@@@truetype_path@@@}
++\fi
+ 
+ \ifxetex
+ \typeout{\junicode@regstylename}
+@@ -219,6 +226,7 @@
+    ItalicFont =        *-\junicode@italstylename,
+    BoldFont =          *-\junicode@boldstylename,
+    BoldItalicFont =    *-\junicode@boldstylename Italic,
++   Path =              \junicode@fontpath,
+   ]{Junicode}
+ \fi
+ \ifluatex
+@@ -230,6 +238,7 @@
+    ItalicFont =        *-\junicode@italstylename,
+    BoldFont =          *-\junicode@boldstylename,
+    BoldItalicFont =    *-\junicode@boldstylename Italic,
++   Path =              \junicode@fontpath,
+   ]{Junicode}
+ \fi
+ 
+@@ -242,6 +251,7 @@
+         #3
+         Numbers =           {\junicode@figurealign,\junicode@figurestyle},
+         SmallCapsFeatures = {Letters=SmallCaps},
++        Path =              \junicode@fontpath,
+     ]
+ }
+ \fi
+@@ -252,6 +262,7 @@
+         #3
+         Numbers =           {\junicode@figurealign,\junicode@figurestyle},
+         SmallCapsFeatures = {Letters=SmallCaps},
++        Path =              \junicode@fontpath,
+     ]
+ }
+ \fi
+diff --git a/TeX/junicodevf.lua b/TeX/junicodevf.lua
+index 7148668..acebe82 100644
+--- a/TeX/junicodevf.lua
++++ b/TeX/junicodevf.lua
+@@ -148,7 +148,7 @@ function mkfontcommands()
+          romfontcmd = "jRegular"
+          italfontcmd = "jItalic"
+       end
+-      tex.print("\\junicodevf@newfont{\\" .. romfontcmd .. "}{JunicodeVF}{\\" .. defcmd .. "}{\\" .. defsizecmd .. "}")
++      tex.print("\\junicodevf@newfont{\\" .. romfontcmd .. "}{JunicodeVF-Roman}{\\" .. defcmd .. "}{\\" .. defsizecmd .. "}")
+       tex.print("\\junicodevf@newfont{\\" .. italfontcmd .. "}{JunicodeVF-Italic}{\\" .. defcmd .. "}{\\" .. defsizecmd .. "}")
+    end
+ end
+diff --git a/TeX/junicodevf.sty b/TeX/junicodevf.sty
+index c01ccaf..07a99ad 100644
+--- a/TeX/junicodevf.sty
++++ b/TeX/junicodevf.sty
+@@ -168,11 +168,13 @@ mkwidthcommands(wdindex, adjustment)}}
+ 
+ % DECLARE THE FONTS
+ 
+-\setmainfont{Junicode VF}[
+-    ItalicFont =         {*-Italic},
+-    BoldFont =           {*},
+-    BoldItalicFont =     {*-Italic},
++\setmainfont{JunicodeVF-Roman}[
++    ItalicFont =         {JunicodeVF-Italic},
++    BoldFont =           {JunicodeVF-Roman},
++    BoldItalicFont =     {JunicodeVF-Italic},
+     Renderer =           HarfBuzz,
++    Extension =          .ttf,
++    Path =               @@@truetype_path@@@,
+     Numbers =            {\junicodevf@figurealign,\junicodevf@figurestyle},
+     \MainDef,
+     UprightFeatures =    {\MainRegDef
+@@ -188,6 +190,8 @@ mkwidthcommands(wdindex, adjustment)}}
+ \newcommand*{\junicodevf@newfont}[4]{
+     \setfontface#1{#2}[
+         Renderer =          HarfBuzz,
++        Extension =          .ttf,
++        Path =               @@@truetype_path@@@,
+         Numbers =           {\junicodevf@figurealign,\junicodevf@figurestyle},
+         SmallCapsFont =     {*},
+         SmallCapsFeatures = {Letters=SmallCaps},
+@@ -200,43 +204,59 @@ mkwidthcommands(wdindex, adjustment)}}
+ 
+ % ENLARGED FACES
+ 
+-\setfontface\EnlargedOne{JunicodeVF}[
++\setfontface\EnlargedOne{JunicodeVF-Roman}[
+     Renderer = HarfBuzz,
++    Extension = .ttf,
++    Path = @@@truetype_path@@@,
+     \ENLAOneSizeDef
+ ]
+ 
+ \setfontface\EnlargedOneItalic{JunicodeVF-Italic}[
+     Renderer = HarfBuzz,
++    Extension = .ttf,
++    Path = @@@truetype_path@@@,
+     \ENLAOneSizeDef
+ ]
+ 
+-\setfontface\EnlargedTwo{JunicodeVF}[
++\setfontface\EnlargedTwo{JunicodeVF-Roman}[
+     Renderer = HarfBuzz,
++    Extension = .ttf,
++    Path = @@@truetype_path@@@,
+     \ENLATwoSizeDef
+ ]
+ 
+ \setfontface\EnlargedTwoItalic{JunicodeVF-Italic}[
+     Renderer = HarfBuzz,
++    Extension = .ttf,
++    Path = @@@truetype_path@@@,
+     \ENLATwoSizeDef
+ ]
+ 
+-\setfontface\EnlargedThree{JunicodeVF}[
++\setfontface\EnlargedThree{JunicodeVF-Roman}[
+     Renderer = HarfBuzz,
++    Extension = .ttf,
++    Path = @@@truetype_path@@@,
+     \ENLAThreeSizeDef
+ ]
+ 
+ \setfontface\EnlargedThreeItalic{JunicodeVF-Italic}[
+     Renderer = HarfBuzz,
++    Extension = .ttf,
++    Path = @@@truetype_path@@@,
+     \ENLAThreeSizeDef
+ ]
+ 
+-\setfontface\EnlargedFour{JunicodeVF}[
++\setfontface\EnlargedFour{JunicodeVF-Roman}[
+     Renderer = HarfBuzz,
++    Extension = .ttf,
++    Path = @@@truetype_path@@@,
+     \ENLAFourSizeDef
+ ]
+ 
+ \setfontface\EnlargedFourItalic{JunicodeVF-Italic}[
+     Renderer = HarfBuzz,
++    Extension = .ttf,
++    Path = @@@truetype_path@@@,
+     \ENLAFourSizeDef
+ ]
+ 
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index 3d40384132cb2..522b2da68ca5c 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -46,8 +46,10 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   doCheck = true;
-  # everything except for check_web, because that needs curl and wants to talk to https://validator.w3.org
-  checkTarget = "check_back check_character_set check_white_space check_links check_name_lengths check_now check_slashed_abbrs check_sorted check_tables check_ziguard check_zishrink check_tzs";
+  # everything except for:
+  # - check_web, because that needs curl and wants to talk to https://validator.w3.org
+  # - check_now, because that depends on the current time
+  checkTarget = "check_back check_character_set check_white_space check_links check_name_lengths check_slashed_abbrs check_sorted check_tables check_ziguard check_zishrink check_tzs";
 
   installFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "zic=${buildPackages.tzdata.bin}/bin/zic"
diff --git a/pkgs/data/themes/alacritty-theme/default.nix b/pkgs/data/themes/alacritty-theme/default.nix
index d5fbc03b63016..b24f27f326dcb 100644
--- a/pkgs/data/themes/alacritty-theme/default.nix
+++ b/pkgs/data/themes/alacritty-theme/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation (self: {
   name = "alacritty-theme";
-  version = "unstable-2024-02-28";
+  version = "unstable-2024-03-06";
 
   src = fetchFromGitHub {
     owner = "alacritty";
     repo = "alacritty-theme";
-    rev = "4aefb7c079721474078b28bbf9f582b592749ca6";
-    hash = "sha256-+35S6eQkxLBuS/fDKD5bglQDIuz2xeEc5KSaK6k7IjI=";
+    rev = "cb786242b6f5e00a57e2f541e7bf1115f3950650";
+    hash = "sha256-fZJ0F4zJy6HOwWtZGm5yN4WfeFNJnW/UJhoQSZ0Bpxk=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/data/themes/where-is-my-sddm-theme/default.nix b/pkgs/data/themes/where-is-my-sddm-theme/default.nix
index 64fc67b300268..4eb8552a3d0f9 100644
--- a/pkgs/data/themes/where-is-my-sddm-theme/default.nix
+++ b/pkgs/data/themes/where-is-my-sddm-theme/default.nix
@@ -23,13 +23,13 @@ in
 
 stdenvNoCC.mkDerivation rec {
   pname = "where-is-my-sddm-theme";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "stepanzubkov";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-EK0bB2dRXNtDKFiyf+nMoDq9XK2f3PFwoNbQDZamB3Y=";
+    hash = "sha256-H0CVTnznODJ27m5C7gT68RVcXFXS2mi0daI6vCi5KmQ=";
   };
 
   propagatedUserEnvPkgs = [ qtgraphicaleffects ];
diff --git a/pkgs/desktops/deepin/apps/deepin-compressor/0001-fix-build-on-new-dtk.diff b/pkgs/desktops/deepin/apps/deepin-compressor/0001-fix-build-on-new-dtk.diff
new file mode 100644
index 0000000000000..237d5798ecc85
--- /dev/null
+++ b/pkgs/desktops/deepin/apps/deepin-compressor/0001-fix-build-on-new-dtk.diff
@@ -0,0 +1,20 @@
+diff --git a/src/source/common/ddesktopservicesthread.h b/src/source/common/ddesktopservicesthread.h
+index 49313744..456a5e96 100644
+--- a/src/source/common/ddesktopservicesthread.h
++++ b/src/source/common/ddesktopservicesthread.h
+@@ -8,10 +8,14 @@
+ 
+ #include <QThread>
+ 
++#include <dtkwidget_global.h>
++#include <dtkgui_global.h>
+ #include <DDesktopServices>
+ #include <QDebug>
+ #include <QFileInfo>
++
+ DWIDGET_USE_NAMESPACE
++DGUI_USE_NAMESPACE
+ 
+ // 文管打开文件目录线程
+ class DDesktopServicesThread : public QThread
+
diff --git a/pkgs/desktops/deepin/apps/deepin-compressor/default.nix b/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
index 393c51e4ac64b..9be79853b5fe9 100644
--- a/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
@@ -20,20 +20,24 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-compressor";
-  version = "5.12.23";
+  version = "5.12.24";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-8qfpNM2rci4subdodxfJZLP3OvAxXl7QRl4MHGr15nA=";
+    hash = "sha256-XNhG28VZifQrl3TZfx/OHnsAOo0eKrhGKDk+OjOYD8k=";
   };
 
+  patches = [
+    ./0001-fix-build-on-new-dtk.diff
+  ];
+
   postPatch = ''
     substituteInPlace src/source/common/pluginmanager.cpp \
-      --replace "/usr/lib/" "$out/lib/"
+      --replace-fail "/usr/lib/" "$out/lib/"
     substituteInPlace src/desktop/deepin-compressor.desktop \
-      --replace "/usr" "$out"
+      --replace-fail "/usr" "$out"
   '';
 
   nativeBuildInputs = [
@@ -61,6 +65,11 @@ stdenv.mkDerivation rec {
     "-DUSE_TEST=OFF"
   ];
 
+  # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH
+  qtWrapperArgs = [
+    "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}"
+  ];
+
   strictDeps = true;
 
   meta = with lib; {
diff --git a/pkgs/desktops/deepin/apps/deepin-screen-recorder/default.nix b/pkgs/desktops/deepin/apps/deepin-screen-recorder/default.nix
index a0f83e7eb438a..c035a217171e6 100644
--- a/pkgs/desktops/deepin/apps/deepin-screen-recorder/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-screen-recorder/default.nix
@@ -78,6 +78,9 @@ stdenv.mkDerivation rec {
     gst-plugins-good
   ]);
 
+  # Fix build failure on dtk 5.6.20
+  env.NIX_CFLAGS_COMPILE = "-std=c++14";
+
   # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH
   qtWrapperArgs = [
     "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}"
diff --git a/pkgs/desktops/deepin/apps/deepin-system-monitor/default.nix b/pkgs/desktops/deepin/apps/deepin-system-monitor/default.nix
index 581eb1fa35802..52492275e98cd 100644
--- a/pkgs/desktops/deepin/apps/deepin-system-monitor/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-system-monitor/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-system-monitor";
-  version = "6.0.9";
+  version = "6.0.13";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-ompsCTPmmF7S0UHNNU0YDQiTdvcFglpEoS4o+XMZ7jg=";
+    hash = "sha256-QwZPvEOYypSmbe3deqLRsI3VL/CgVc+Ql3JlsMZ9MqY=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/artwork/dde-account-faces/default.nix b/pkgs/desktops/deepin/artwork/dde-account-faces/default.nix
index 63db25d8dbc82..b635b721a0123 100644
--- a/pkgs/desktops/deepin/artwork/dde-account-faces/default.nix
+++ b/pkgs/desktops/deepin/artwork/dde-account-faces/default.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "dde-account-faces";
-  version = "1.0.15";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-/eTGy+9fcYmGrh09RdCIZ2Cn12gTaGtg4Tluv25n5r0=";
+    hash = "sha256-PtbEsFQl6M5Ouadxy9CTVh1Bmmect83NODO4Ks+ckKU=";
   };
 
   makeFlags = [ "PREFIX=${placeholder "out"}/var" ];
diff --git a/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix b/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix
index 95e715e4d375d..5260df0ece633 100644
--- a/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix
+++ b/pkgs/desktops/deepin/artwork/deepin-icon-theme/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "deepin-icon-theme";
-  version = "2023.11.28";
+  version = "2024.01.31";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-kCWJAmJa0VmhnuegE+acj82Ojl4Z5D8g7/q2PzppJwg=";
+    hash = "sha256-08maujG5Tibsv9N+5olOeD8MrXTRiZh0OQm0bg8t+Cc=";
   };
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
diff --git a/pkgs/desktops/deepin/core/dde-app-services/default.nix b/pkgs/desktops/deepin/core/dde-app-services/default.nix
index 4c27ced09d560..64713d08b11f7 100644
--- a/pkgs/desktops/deepin/core/dde-app-services/default.nix
+++ b/pkgs/desktops/deepin/core/dde-app-services/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-app-services";
-  version = "1.0.23";
+  version = "1.0.25";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-INxbRDpG3MqPW6IMTqEagDCGo7vwxkR6D1+lcWdjO3w=";
+    hash = "sha256-/lHiSUOTD8nC0WDLAHAFzm1YC0WjSS5W5JNC0cjeVEo=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/core/dde-appearance/default.nix b/pkgs/desktops/deepin/core/dde-appearance/default.nix
index fef56b3978f79..01fd610099c7f 100644
--- a/pkgs/desktops/deepin/core/dde-appearance/default.nix
+++ b/pkgs/desktops/deepin/core/dde-appearance/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-appearance";
-  version = "1.1.6";
+  version = "1.1.25";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-7oRbydLXw8yRzi9L1GH/q0cjMY/DLyWbj4RUSyNpVNM=";
+    hash = "sha256-H9TvWF6Q0lX4GF4mQ71E3SUqWbhH7dzHIlScovbN7lM=";
   };
 
   patches = [
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     substituteInPlace src/service/modules/api/themethumb.cpp \
       --replace "/usr/lib/deepin-api" "/run/current-system/sw/lib/deepin-api"
 
-    substituteInPlace src/service/dbus/deepinwmfaker.cpp \
+    substituteInPlace fakewm/dbus/deepinwmfaker.cpp \
       --replace "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon"
 
     substituteInPlace src/service/modules/api/locale.cpp \
diff --git a/pkgs/desktops/deepin/core/dde-appearance/fix-custom-wallpapers-path.diff b/pkgs/desktops/deepin/core/dde-appearance/fix-custom-wallpapers-path.diff
index 14fb527c7ef4f..3ed997dc0cc50 100644
--- a/pkgs/desktops/deepin/core/dde-appearance/fix-custom-wallpapers-path.diff
+++ b/pkgs/desktops/deepin/core/dde-appearance/fix-custom-wallpapers-path.diff
@@ -11,10 +11,10 @@ index b612e6e..371f966 100644
              "serial": 0,
              "flags": [],
              "name": "Background_Uris",
-diff --git a/src/service/dbus/deepinwmfaker.cpp b/src/service/dbus/deepinwmfaker.cpp
+diff --git a/fakewm/dbus/deepinwmfaker.cpp b/fakewm/dbus/deepinwmfaker.cpp
 index 5d455fa..40ec608 100644
---- a/src/service/dbus/deepinwmfaker.cpp
-+++ b/src/service/dbus/deepinwmfaker.cpp
+--- a/fakewm/dbus/deepinwmfaker.cpp
++++ b/fakewm/dbus/deepinwmfaker.cpp
 @@ -54,13 +54,13 @@ Q_GLOBAL_STATIC_WITH_ARGS(QGSettings, _gsettings_dde_zone, ("com.deepin.dde.zone
  
  #define KWinDBusCompositorInterface "org.kde.kwin.Compositing"
diff --git a/pkgs/desktops/deepin/core/dde-application-manager/default.nix b/pkgs/desktops/deepin/core/dde-application-manager/default.nix
index 0949bc6e49931..865352f924756 100644
--- a/pkgs/desktops/deepin/core/dde-application-manager/default.nix
+++ b/pkgs/desktops/deepin/core/dde-application-manager/default.nix
@@ -1,42 +1,36 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , pkg-config
 , wrapQtAppsHook
 , qtbase
-, dtkwidget
-, dde-polkit-agent
-, gsettings-qt
-, libcap
-, jemalloc
-, xorg
-, iconv
 }:
 
 stdenv.mkDerivation rec {
   pname = "dde-application-manager";
-  version = "1.0.19";
+  version = "1.1.8";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-1P265xqlL/wML66nKdfTgkRx6MCpLwrt5rXu+CyeShU=";
+    hash = "sha256-ImyXSyQWMFLvmtx9mBxrr4/IFOgOH1BW650mbiwFh5U=";
   };
 
-  # remove this patch after next release
-  postPatch = ''
-    substituteInPlace src/modules/mimeapp/mime_app.cpp src/modules/launcher/common.h src/service/main.cpp \
-      misc/dconf/com.deepin.dde.appearance.json \
-      --replace "/usr/share" "/run/current-system/sw/share"
-
-    substituteInPlace src/lib/dlocale.cpp --replace "/usr/share/locale/locale.alias" "${iconv}/share/locale/locale.alias"
-
-    for file in $(grep -rl "/usr/bin"); do
-      substituteInPlace $file --replace "/usr/bin/" "/run/current-system/sw/bin/"
-    done
-  '';
+  patches = [
+    (fetchpatch {
+      name = "set-more-scale-envs-to-application.patch";
+      url = "https://github.com/linuxdeepin/dde-application-manager/commit/a1f8ad276d88c81249dd3468779862186a180238.patch";
+      hash = "sha256-/iKg6NZZomNEKYsZCZP1IfNr7ZAXiA9RVBnyf+M/f4w=";
+    })
+    (fetchpatch {
+      name = "support-execSearchPath-to-prevent-systemd-from-finding-binaries.patch";
+      url = "https://github.com/linuxdeepin/dde-application-manager/commit/2eaca7c6b8b841d571e9d3510f9f14c321cd976e.patch";
+      hash = "sha256-GWUIv4NIBLQpnY4GcjLShMjiXAfPi3zKdol3whchC/Y=";
+    })
+  ];
 
   nativeBuildInputs = [
     cmake
@@ -46,12 +40,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     qtbase
-    dtkwidget
-    gsettings-qt
-    libcap
-    jemalloc
-    xorg.libXdmcp
-    xorg.libXres
   ];
 
   meta = with lib; {
diff --git a/pkgs/desktops/deepin/core/dde-calendar/default.nix b/pkgs/desktops/deepin/core/dde-calendar/default.nix
index a9a3af0adee16..930b75a656446 100644
--- a/pkgs/desktops/deepin/core/dde-calendar/default.nix
+++ b/pkgs/desktops/deepin/core/dde-calendar/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-calendar";
-  version = "5.11.1";
+  version = "5.12.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-EQcB+a0dK2c6NdvGFbyp65a8nN2PmOpZLWx61UDOTJg=";
+    hash = "sha256-p+KtObh2JT7aPcDCi0jmaNmLqB1aU3IvAiYrGmhErcI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/core/dde-control-center/default.nix b/pkgs/desktops/deepin/core/dde-control-center/default.nix
index f397e9ca28374..cca8a03e771f3 100644
--- a/pkgs/desktops/deepin/core/dde-control-center/default.nix
+++ b/pkgs/desktops/deepin/core/dde-control-center/default.nix
@@ -17,19 +17,20 @@
 , polkit-qt
 , libxcrypt
 , librsvg
+, gtest
 , runtimeShell
 , dbus
 }:
 
 stdenv.mkDerivation rec {
   pname = "dde-control-center";
-  version = "6.0.28";
+  version = "6.0.44";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-kgQ4ySiYtaklOqER56QtKD9lk1CnRSEAU4QPHycl9eI=";
+    hash = "sha256-NN2CSIYByxeTZraK48lAsQSJYAOTDHzKT1FOa+VWMo0=";
   };
 
   postPatch = ''
@@ -57,6 +58,7 @@ stdenv.mkDerivation rec {
     polkit-qt
     libxcrypt
     librsvg
+    gtest
   ];
 
   cmakeFlags = [
diff --git a/pkgs/desktops/deepin/core/dde-dock/default.nix b/pkgs/desktops/deepin/core/dde-dock/default.nix
index 5ea7da4ed2018..39aa5492a44d1 100644
--- a/pkgs/desktops/deepin/core/dde-dock/default.nix
+++ b/pkgs/desktops/deepin/core/dde-dock/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-dock";
-  version = "6.0.22";
+  version = "6.0.35";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-fhc2faiPH35ZKw6SCoGTz+6mgxabNpCFQeY2p68Ba5w=";
+    hash = "sha256-ATC/Ze6GyjT92eCgAt9g2FIQbXLVHUMuXuAslNnbkCE=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/core/dde-file-manager/default.nix b/pkgs/desktops/deepin/core/dde-file-manager/default.nix
index a197980c8d74b..552fa748d51f0 100644
--- a/pkgs/desktops/deepin/core/dde-file-manager/default.nix
+++ b/pkgs/desktops/deepin/core/dde-file-manager/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , runtimeShell
 , dtkwidget
 , qt5integration
@@ -44,13 +43,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-file-manager";
-  version = "6.0.31";
+  version = "6.0.40";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-mc2HcoLrwMXKU8w34KUEh62ZfEIfbJLVzz4JGnUE5EM=";
+    hash = "sha256-fvxP6wle4hezt9nEDpTgK+xB4J5XIC0mP5jWCmkjJPA=";
   };
 
   nativeBuildInputs = [
@@ -63,13 +62,7 @@ stdenv.mkDerivation rec {
   dontWrapGApps = true;
 
   patches = [
-    ./use_v23_dbus_interface.diff
-
-    (fetchpatch {
-      name = "use-pkgconfig-to-check-mount.patch";
-      url = "https://github.com/linuxdeepin/dde-file-manager/commit/b6c210057d991591df45b80607a614e7a57a9dc0.patch";
-      hash = "sha256-k0ZYlOVN3hHs1qvvRaJ3i6okOhDE+DoUKGs9AhSFBGU=";
-    })
+    ./patch_check_v23_interface.diff
   ];
 
   postPatch = ''
@@ -132,6 +125,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DVERSION=${version}"
+    "-DNIX_DEEPIN_VERSION=23"
+    "-DSYSTEMD_USER_UNIT_DIR=${placeholder "out"}/lib/systemd/user"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/deepin/core/dde-file-manager/use_v23_dbus_interface.diff b/pkgs/desktops/deepin/core/dde-file-manager/patch_check_v23_interface.diff
index 5a42ecd4a1f55..c41306f59031b 100644
--- a/pkgs/desktops/deepin/core/dde-file-manager/use_v23_dbus_interface.diff
+++ b/pkgs/desktops/deepin/core/dde-file-manager/patch_check_v23_interface.diff
@@ -1,13 +1,13 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e93d3ad..94e3eca 100644
+index 8a8cfb079..34092aa57 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -30,7 +30,7 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+@@ -31,7 +31,7 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
  endif()
  
  #Indentify the version
 -if (${DEEPIN_OS_VERSION} MATCHES "23")
-+if (TRUE)
++if (${NIX_DEEPIN_VERSION} MATCHES "23")
      add_definitions(-DCOMPILE_ON_V23)
      set(COMPLIE_ON_V23 TRUE)
      message("COMPILE ON v23")
diff --git a/pkgs/desktops/deepin/core/dde-launchpad/default.nix b/pkgs/desktops/deepin/core/dde-launchpad/default.nix
index a6104d61c9223..d57609bea9454 100644
--- a/pkgs/desktops/deepin/core/dde-launchpad/default.nix
+++ b/pkgs/desktops/deepin/core/dde-launchpad/default.nix
@@ -15,15 +15,20 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-launchpad";
-  version = "0.3.0";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-8m0DjQYih3hB/n2VHuJgUYBe8tpGwBU0NdkLxr1OsFc=";
+    hash = "sha256-az8BC3n44NGpATNu3Exjn3H7Rumx/YqDXztEGqCpAbY=";
   };
 
+  postPatch = ''
+    substituteInPlace desktopintegration.cpp \
+      --replace "AppStreamQt/pool.h" "AppStreamQt5/pool.h"
+  '';
+
   nativeBuildInputs = [
     cmake
     qttools
diff --git a/pkgs/desktops/deepin/core/dde-network-core/default.nix b/pkgs/desktops/deepin/core/dde-network-core/default.nix
index 24d46698765e5..f9d97f735a62c 100644
--- a/pkgs/desktops/deepin/core/dde-network-core/default.nix
+++ b/pkgs/desktops/deepin/core/dde-network-core/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-network-core";
-  version = "2.0.15";
+  version = "2.0.21";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-AMuWEz3Eyw0tG0srLWpqS7MO7Z4ZzIay4z59cZQZU0o=";
+    hash = "sha256-xuPEh0o62seyxlW+MKGgv/DdheYibSI1K0RJAjxraCw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/core/dde-session-shell/default.nix b/pkgs/desktops/deepin/core/dde-session-shell/default.nix
index 48479c6893ea4..b30840f74ff32 100644
--- a/pkgs/desktops/deepin/core/dde-session-shell/default.nix
+++ b/pkgs/desktops/deepin/core/dde-session-shell/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-session-shell";
-  version = "6.0.10";
+  version = "6.0.17";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-h4X3RZe7+CxVeFmk/7+7K4d/2D1+jhECKQaxl4TsuvM=";
+    hash = "sha256-X/aBMxrYeCT3I9ynV8cPzS23H44fHLkpkztewnfTNxA=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/core/dde-session-ui/default.nix b/pkgs/desktops/deepin/core/dde-session-ui/default.nix
index a732589d7ea14..190ad0bbc7048 100644
--- a/pkgs/desktops/deepin/core/dde-session-ui/default.nix
+++ b/pkgs/desktops/deepin/core/dde-session-ui/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-session-ui";
-  version = "6.0.10";
+  version = "6.0.16";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-JwktVbwWdfqURhZuEFdB5oaKMsBZu5DekpZ2WGpcL4Q=";
+    hash = "sha256-hxunGK7DxRuAbmi6PtylHCBajV3b1qbFVA+AiuOCcN0=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/core/dde-session/default.nix b/pkgs/desktops/deepin/core/dde-session/default.nix
index 72ae99f8c843d..0e919c144d46c 100644
--- a/pkgs/desktops/deepin/core/dde-session/default.nix
+++ b/pkgs/desktops/deepin/core/dde-session/default.nix
@@ -15,16 +15,19 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-session";
-  version = "1.1.9";
+  version = "1.2.5";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-CyHvvNALXe4fOMjD48By/iaU6/xNUhH9yG19Ob3bHy0=";
+    hash = "sha256-YYGRjVbVFyzmRhYu6sDtxzghocgM7Myr3K77AqWQk3E=";
   };
 
   postPatch = ''
+    substituteInPlace misc/CMakeLists.txt \
+      --replace "/etc" "$out/etc"
+
     # Avoid using absolute path to distinguish applications
     substituteInPlace src/dde-session/impl/sessionmanager.cpp \
       --replace 'file.readAll().startsWith("/usr/bin/dde-lock")' 'file.readAll().contains("dde-lock")' \
diff --git a/pkgs/desktops/deepin/core/dde-widgets/default.nix b/pkgs/desktops/deepin/core/dde-widgets/default.nix
index 975cb978e7a7c..f071d4f63fc00 100644
--- a/pkgs/desktops/deepin/core/dde-widgets/default.nix
+++ b/pkgs/desktops/deepin/core/dde-widgets/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dde-widgets";
-  version = "6.0.14";
+  version = "6.0.19";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-bmhT7UhMXtC5wlRtwlVnGjoq8rUQcDSk4rGQ0Xrz9ZI=";
+    hash = "sha256-oB0lyfmxBSwqjXO+etYdc+DghZVSBU+LXYqK1WS5DaU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/core/deepin-kwin/default.nix b/pkgs/desktops/deepin/core/deepin-kwin/default.nix
index 03e40357317cc..f31a0a57fb7b7 100644
--- a/pkgs/desktops/deepin/core/deepin-kwin/default.nix
+++ b/pkgs/desktops/deepin/core/deepin-kwin/default.nix
@@ -36,13 +36,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-kwin";
-  version = "5.25.11";
+  version = "5.25.15";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-J92T1hsRmmtkjF9OPsrikRtd7bQSEG88UOYu+BHUSx0=";
+    hash = "sha256-aI5wHEFfvZeoz4ykw9dVx/9e96T1Yahs4YZNutv+CYM=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index 0361a13142cbe..2edf1359bee9f 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs, config, libsForQt5 }:
+{ lib, pkgs, config, libsForQt5, qt6Packages }:
 let
   packages = self:
   let
@@ -28,7 +28,7 @@ let
     deepin-kwin = callPackage ./core/deepin-kwin { };
     dde-appearance = callPackage ./core/dde-appearance { };
     dde-app-services = callPackage ./core/dde-app-services { };
-    dde-application-manager = callPackage ./core/dde-application-manager { };
+    dde-application-manager = qt6Packages.callPackage ./core/dde-application-manager { };
     dde-control-center = callPackage ./core/dde-control-center { };
     dde-calendar = callPackage ./core/dde-calendar { };
     dde-clipboard = callPackage ./core/dde-clipboard { };
diff --git a/pkgs/desktops/deepin/go-package/dde-api/default.nix b/pkgs/desktops/deepin/go-package/dde-api/default.nix
index 11aa986124b2b..9b1f6f080818f 100644
--- a/pkgs/desktops/deepin/go-package/dde-api/default.nix
+++ b/pkgs/desktops/deepin/go-package/dde-api/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , buildGoModule
 , pkg-config
 , deepin-gettext-tools
@@ -21,40 +20,32 @@
 
 buildGoModule rec {
   pname = "dde-api";
-  version = "6.0.7";
+  version = "6.0.9";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-kdf1CoZUyda6bOTW0WJTgaXYhocrjRU9ptj7i+k8aaQ=";
+    hash = "sha256-ht5IaXi4nz0/U1zqp4JTiDkQ3NB69q24MgWfu45SpoY=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "modify_PKGBUILD_to_support_OBS.patch";
-      url = "https://github.com/linuxdeepin/dde-api/commit/1399522d032c6c649db79a33348cdb1a233bc23a.patch";
-      hash = "sha256-kSHnYaOxIvv7lAJnvxpSwyRDPyDxpAq9x+gJcBdU3T8=";
-    })
-  ];
-
-  vendorHash = "sha256-4Yscw3QjWG1rlju6sMRHGn3dSe65b1nx10B3KeyAzBM=";
+  vendorHash = "sha256-zrtUsCF2+301DKwgWectw+UbOehOp8h8u/IMf09XQ8Q=";
 
   postPatch = ''
     substituteInPlace misc/systemd/system/deepin-shutdown-sound.service \
-      --replace "/usr/bin/true" "${coreutils}/bin/true"
+      --replace-fail "/usr/bin/true" "${coreutils}/bin/true"
 
     substituteInPlace sound-theme-player/main.go \
-      --replace "/usr/sbin/alsactl" "alsactl"
+      --replace-fail "/usr/sbin/alsactl" "alsactl"
 
     substituteInPlace misc/{scripts/deepin-boot-sound.sh,systemd/system/deepin-login-sound.service} \
-     --replace "/usr/bin/dbus-send" "${dbus}/bin/dbus-send"
+      --replace-fail "/usr/bin/dbus-send" "${dbus}/bin/dbus-send"
 
     substituteInPlace lunar-calendar/huangli.go adjust-grub-theme/main.go \
-      --replace "/usr/share/dde-api" "$out/share/dde-api"
+      --replace-fail "/usr/share/dde-api" "$out/share/dde-api"
 
     substituteInPlace themes/{theme.go,settings.go} \
-      --replace "/usr/share" "/run/current-system/sw/share"
+      --replace-fail "/usr/share" "/run/current-system/sw/share"
 
     for file in $(grep "/usr/lib/deepin-api" * -nR |awk -F: '{print $1}')
     do
diff --git a/pkgs/desktops/deepin/go-package/dde-daemon/default.nix b/pkgs/desktops/deepin/go-package/dde-daemon/default.nix
index 0f322505be2f7..b79f1fe472d11 100644
--- a/pkgs/desktops/deepin/go-package/dde-daemon/default.nix
+++ b/pkgs/desktops/deepin/go-package/dde-daemon/default.nix
@@ -38,16 +38,16 @@
 
 buildGoModule rec {
   pname = "dde-daemon";
-  version = "6.0.22";
+  version = "6.0.34";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-D7s6wWZeZHYl/aP/0qLYNn+lZEwGJAjFNbO0whKymck=";
+    hash = "sha256-NIFgv6EUSnCqSdPttx6wrr7K1nRV/JIZJy9uS7uu0Sc=";
   };
 
-  vendorHash = "sha256-U+G5CELpor34RgFzHpxfvJ/jBfWfE4ShjY2b2Z61BhE=";
+  vendorHash = "sha256-F39QGxY0aD+hHWguHosSrSzcB/ahYbnFW9vVtS5oUnU=";
 
   patches = [
     ./0001-dont-set-PATH.diff
@@ -70,10 +70,11 @@ buildGoModule rec {
       --replace "/usr/share/X11/xkb" "${xkeyboard_config}/share/X11/xkb"
 
     substituteInPlace bin/dde-system-daemon/wallpaper.go accounts1/user.go \
-     --replace "/usr/share/wallpapers" "/run/current-system/sw/share/wallpapers"
+      --replace "/usr/share/wallpapers" "/run/current-system/sw/share/wallpapers"
 
     substituteInPlace timedate1/zoneinfo/zone.go \
-     --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
+      --replace "/usr/share/dde" "$out/share/dde" \
+      --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
 
     substituteInPlace accounts1/image_blur.go grub2/modify_manger.go \
       --replace "/usr/lib/deepin-api" "/run/current-system/sw/lib/deepin-api"
diff --git a/pkgs/desktops/deepin/go-package/go-dbus-factory/default.nix b/pkgs/desktops/deepin/go-package/go-dbus-factory/default.nix
index 4c12dce491d79..eed8208367b0b 100644
--- a/pkgs/desktops/deepin/go-package/go-dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/go-package/go-dbus-factory/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "go-dbus-factory";
-  version = "1.10.23";
+  version = "2.0.8";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6u9Bpoa80j/K1MipncfM378/qmSSMZAlx88jE4hHYBk=";
+    sha256 = "sha256-yzmr61wrBfZi+CuXFhtvOk7EaFtE8y3QyVwwgEDqwKY=";
   };
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
diff --git a/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch b/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch
deleted file mode 100644
index 69e4c8aba56d3..0000000000000
--- a/pkgs/desktops/deepin/go-package/startdde/0001-avoid-use-hardcode-path.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/misc/auto_launch/chinese.json b/misc/auto_launch/chinese.json
-index 14b8bff..2b2c412 100644
---- a/misc/auto_launch/chinese.json
-+++ b/misc/auto_launch/chinese.json
-@@ -3,7 +3,7 @@
-     "Priority": 9,
-     "Group": [
-       {
--        "Command": "/usr/bin/dde-file-manager",
-+        "Command": "dde-file-manager",
-         "Wait": false,
-         "Args": [
-           "-d"
-@@ -25,7 +25,7 @@
-     "Priority": 7,
-     "Group": [
-       {
--        "Command": "/usr/bin/dde-shutdown",
-+        "Command": "dde-shutdown",
-         "Wait": false,
-         "Args": [
-           "-d"
-diff --git a/session.go b/session.go
-index da76626..bf9a2c4 100644
---- a/session.go
-+++ b/session.go
-@@ -14,6 +14,7 @@ import (
- 	"sync"
- 	"syscall"
- 	"time"
-+	"strings"
- 
- 	"github.com/adrg/xdg"
- 	"github.com/godbus/dbus/v5"
-@@ -85,7 +86,7 @@ type SessionManager struct {
- }
- 
- const (
--	cmdShutdown      = "/usr/bin/dde-shutdown"
-+	cmdShutdown      = "dde-shutdown"
- 	lockFrontDest    = "org.deepin.dde.LockFront1"
- 	lockFrontIfc     = lockFrontDest
- 	lockFrontObjPath = "/org/deepin/dde/LockFront1"
-@@ -458,7 +459,7 @@ func (m *SessionManager) SetLocked(sender dbus.Sender, value bool) *dbus.Error {
- 		return dbusutil.ToError(err)
- 	}
- 
--	if exe == "/usr/bin/dde-lock" {
-+	if strings.Contains(exe, "dde-lock") {
- 		m.setLocked(value)
- 		return nil
- 	}
-@@ -478,7 +479,7 @@ func (m *SessionManager) SetLocked(sender dbus.Sender, value bool) *dbus.Error {
- 		return dbusutil.ToError(fmt.Errorf("desktop file %q is invalid", desktopFile))
- 	}
- 	exe = info.GetExecutable()
--	if exe != "/usr/bin/dde-lock" {
-+	if strings.Contains(exe, "dde-lock") {
- 		return dbusutil.ToError(fmt.Errorf("exe %q of desktop file %q is invalid", exe, desktopFile))
- 	}
- 
diff --git a/pkgs/desktops/deepin/go-package/startdde/default.nix b/pkgs/desktops/deepin/go-package/startdde/default.nix
index 8ad13e1156d73..2408410b2f08b 100644
--- a/pkgs/desktops/deepin/go-package/startdde/default.nix
+++ b/pkgs/desktops/deepin/go-package/startdde/default.nix
@@ -19,29 +19,25 @@
 
 buildGoModule rec {
   pname = "startdde";
-  version = "6.0.10";
+  version = "6.0.13";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-B2B8QlA1Ps/ybVzionngtwDwTLd7H02RKJwcXymGlJM=";
+    hash = "sha256-sftPQq4cSyCTuvVtvjT8YJDLQOpSbmnXEVzFwFFaU4U=";
   };
 
-  patches = [
-    ./0001-avoid-use-hardcode-path.patch
-  ];
-
-  vendorHash = "sha256-5BEOazAygYL1N+CaGAbUwdpHZ1EiHr6yNW27/bXNdZg=";
+  vendorHash = "sha256-Y81p3yPQayXbvyUI7N6PvFDO3hSU3SL0AuUKxvZkZNE=";
 
   postPatch = ''
-    substituteInPlace display/manager.go session.go \
+    substituteInPlace display/manager.go \
       --replace "/bin/bash" "${runtimeShell}"
 
     substituteInPlace misc/systemd_task/dde-display-task-refresh-brightness.service \
        --replace "/usr/bin/dbus-send" "${dbus}/bin/dbus-send"
 
-    substituteInPlace display/manager.go utils.go session.go \
+    substituteInPlace display/manager.go \
       --replace "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon"
 
     substituteInPlace misc/lightdm.conf --replace "/usr" "$out"
diff --git a/pkgs/desktops/deepin/library/dtkcommon/default.nix b/pkgs/desktops/deepin/library/dtkcommon/default.nix
index b3aa4481c9b8e..1a55d6855ec93 100644
--- a/pkgs/desktops/deepin/library/dtkcommon/default.nix
+++ b/pkgs/desktops/deepin/library/dtkcommon/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dtkcommon";
-  version = "5.6.17";
+  version = "5.6.21";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-mquBuF+Gzq5txxCczeS+gI8LshdKnK5WnpOCytNki+w=";
+    hash = "sha256-wRTzgvtmbGJJaIwi1f5m98K2o6g7yZdnKYR1nsDDwk8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/library/dtkcore/default.nix b/pkgs/desktops/deepin/library/dtkcore/default.nix
index f13715535e098..ba921fd6eef7c 100644
--- a/pkgs/desktops/deepin/library/dtkcore/default.nix
+++ b/pkgs/desktops/deepin/library/dtkcore/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dtkcore";
-  version = "5.6.17";
+  version = "5.6.22";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-/MGSvT8tPn+KqqlM6FY2iFsArmAkYMW5Q3Sl4g4zvH0=";
+    hash = "sha256-W8uLNWC8bYzrKrX/hq9p1h66dWrxp4Vt+/27zDJeAS4=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/library/dtkdeclarative/default.nix b/pkgs/desktops/deepin/library/dtkdeclarative/default.nix
index 511a3950842e4..b2df4d42790f5 100644
--- a/pkgs/desktops/deepin/library/dtkdeclarative/default.nix
+++ b/pkgs/desktops/deepin/library/dtkdeclarative/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dtkdeclarative";
-  version = "5.6.17";
+  version = "5.6.24";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-P0F6GidGp+CkNplKnLiaYVtcxs6N66gGIx6UcplEt08=";
+    hash = "sha256-bGy8e+JAyHiAwWvO5Xz1TubHUDP4i4nWUR4h5/appM0=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/library/dtkgui/default.nix b/pkgs/desktops/deepin/library/dtkgui/default.nix
index 0094f5a305f88..9066a32985743 100644
--- a/pkgs/desktops/deepin/library/dtkgui/default.nix
+++ b/pkgs/desktops/deepin/library/dtkgui/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , pkg-config
 , cmake
 , qttools
@@ -16,24 +15,18 @@
 
 stdenv.mkDerivation rec {
   pname = "dtkgui";
-  version = "5.6.17";
+  version = "5.6.22";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-ssCVMFCE1vhucYMxXkEZV5YlFxT1JdYGqrzILhWX1XI=";
+    hash = "sha256-h3DFG6FaJXP9o9u8R31MtX3Z1+P3DrNDT8Xbd8tlI4Y=";
   };
 
   patches = [
     ./fix-pkgconfig-path.patch
     ./fix-pri-path.patch
-
-    (fetchpatch {
-      name = "fix_svg_with_filter_attribute_rendering_exception.patch";
-      url = "https://github.com/linuxdeepin/dtkgui/commit/f2c9327eb4989ab8ea96af7560c67d1cada794de.patch";
-      hash = "sha256-lfg09tgS4vPuYachRbHdaMYKWdZZ0lP0Hxakkr9JKGs=";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/library/dtkwidget/default.nix b/pkgs/desktops/deepin/library/dtkwidget/default.nix
index b646baa48c3c4..59c1ae7be8560 100644
--- a/pkgs/desktops/deepin/library/dtkwidget/default.nix
+++ b/pkgs/desktops/deepin/library/dtkwidget/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dtkwidget";
-  version = "5.6.17";
+  version = "5.6.22";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-oFmM0e7ht3lCL50pwS/v/BLFmT2jymQaUZ4SmLdxvMo=";
+    hash = "sha256-szy1gPm+PsiUXGvo5QuXKYMVPCcaqVX47iu48WXOjWU=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/library/image-editor/default.nix b/pkgs/desktops/deepin/library/image-editor/default.nix
index e969c2137ef1c..4a9c35b1aece6 100644
--- a/pkgs/desktops/deepin/library/image-editor/default.nix
+++ b/pkgs/desktops/deepin/library/image-editor/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "image-editor";
-  version = "1.0.35";
+  version = "1.0.41";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-Xr4tueipQbRHyKLStTWeUcVbX7Baiz0YooaaVk65Y+U=";
+    hash = "sha256-9V9B0YSUTWv/4IbTRtKJSVrZx6j8jqJxIIR9TwUZ0U0=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/deepin/library/qt5integration/default.nix b/pkgs/desktops/deepin/library/qt5integration/default.nix
index f5962e7760e44..e8e3b4d8e146e 100644
--- a/pkgs/desktops/deepin/library/qt5integration/default.nix
+++ b/pkgs/desktops/deepin/library/qt5integration/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qt5integration";
-  version = "5.6.17";
+  version = "5.6.20";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-8ag/cFkjp5u/0/71xKR6z6dXp2NGRIYNNbzzEmgsDmc=";
+    hash = "sha256-cmvscSIu3LOTKuMs/+JUdJAvQ7OB4o1k+LqfRxNefZU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/library/qt5platform-plugins/default.nix b/pkgs/desktops/deepin/library/qt5platform-plugins/default.nix
index 87d570ac011e8..11a342e217fc8 100644
--- a/pkgs/desktops/deepin/library/qt5platform-plugins/default.nix
+++ b/pkgs/desktops/deepin/library/qt5platform-plugins/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , extra-cmake-modules
 , pkg-config
@@ -18,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qt5platform-plugins";
-  version = "5.6.16";
+  version = "5.6.22";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-1/biT8wR44+sdOMhBW/8KMUSBDK/UxuEqsyjTZyjBT4=";
+    hash = "sha256-0XQ4s6xpFHoG6SC8RE8WVnbHH7qNeOYkhrYUkDEH8Dc=";
   };
 
   nativeBuildInputs = [
@@ -45,14 +44,6 @@ stdenv.mkDerivation rec {
     qtwayland
   ];
 
-  patches = [
-    (fetchpatch {
-      name = "use-ECM-to-help-dwayland-find-wayland.patch";
-      url = "https://github.com/linuxdeepin/qt5platform-plugins/commit/d7f6230716a0ff5ce34fc7d292ec0af5bbac30e4.patch";
-      hash = "sha256-RY2+QBR3OjUGBX4Y9oVvIRY90IH9rTOCg8dCddkB2WE=";
-    })
-  ];
-
   cmakeFlags = [
     "-DINSTALL_PATH=${placeholder "out"}/${qtbase.qtPluginPrefix}/platforms"
     "-DQT_XCB_PRIVATE_HEADERS=${qtbase.src}/src/plugins/platforms/xcb"
diff --git a/pkgs/desktops/deepin/library/util-dfm/default.nix b/pkgs/desktops/deepin/library/util-dfm/default.nix
index 0d9bda4078615..e7576f7169f86 100644
--- a/pkgs/desktops/deepin/library/util-dfm/default.nix
+++ b/pkgs/desktops/deepin/library/util-dfm/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "util-dfm";
-  version = "1.2.16";
+  version = "1.2.21";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-o5ubfCpgAHJXqihGyapq7Dj9eQlw2q6VoER/e37tM6w=";
+    hash = "sha256-EqNca3heIUUV5joMskpriCY+7NwjUc/vmQwomDkru80=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix
index 50fa2c6e72e79..ae11200324504 100644
--- a/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix
+++ b/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix
@@ -5,13 +5,13 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "deepin-desktop-base";
-  version = "2023.09.05";
+  version = "2024.01.03";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-Gqp56TbkuTOI3aT7UmRuYBjUwRiOoIUHiRf0DaY0yew=";
+    hash = "sha256-45qR1LCnA8ZSrWykqNvvm7Dxbi5pQnAuFy6nZJrzyi0=";
   };
 
   makeFlags = [ "DESTDIR=${placeholder "out"}" ];
diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 5021ccab4e0bf..f378e221eb5f1 100644
--- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
@@ -28,11 +28,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-maps";
-  version = "45.4";
+  version = "45.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-maps/${lib.versions.major finalAttrs.version}/gnome-maps-${finalAttrs.version}.tar.xz";
-    hash = "sha256-3RV6vqKpGJuOL6jiHh9WV9Z06dJ+8fpj1la/TPCoYLc=";
+    hash = "sha256-HCD14Q3OaEre+ylhUmJmoiTmxGwW+gO5VK/6Czobt0A=";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix
index 871ee8dcaf08a..31d78e60e6aa4 100644
--- a/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "45.2";
+  version = "45.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "eccUYL/+/M715nvj+1/KZXhT6CFstiY5nSuVDOAyDdw=";
+    sha256 = "bDAum91mKQyw4m9ihDzUxDWklVq9u08VHwfcgEldZzA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-contacts/default.nix b/pkgs/desktops/gnome/core/gnome-contacts/default.nix
index 5f938a1fb79b4..469e601b03374 100644
--- a/pkgs/desktops/gnome/core/gnome-contacts/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-contacts/default.nix
@@ -27,11 +27,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-contacts";
-  version = "45.0";
+  version = "45.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-contacts/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "vR/fKm9kzdnyq7/tB+ZPKmmuNTb3T0gZjMN7rZ/NlD4=";
+    sha256 = "gj9WCe7NkMQk3T5khXKHvBMh+23+KJJKR0/w6azyG3U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/core/libxfce4ui/default.nix b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
index f5da4b604a517..fb2013e529bfc 100644
--- a/pkgs/desktops/xfce/core/libxfce4ui/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
@@ -4,9 +4,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "libxfce4ui";
-  version = "4.18.5";
+  version = "4.18.6";
 
-  sha256 = "sha256-Jf+oxdUWXJJmMoJ9kIx9F+ndb2c6bNpf+JOzxpi2Lwo=";
+  sha256 = "sha256-ojmI745tKLHv26uL1qS/v6hAcLmAV/WF2NAtAhQRUkg=";
 
   nativeBuildInputs = [ gobject-introspection vala ];
   buildInputs =  [ gtk3 libstartup_notification libgtop libepoxy xfconf ];
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
index 162160e4e813b..c76800fea4fc5 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
@@ -5,6 +5,7 @@
 , intltool
 , glib
 , gtk3
+, json_c
 , libxml2
 , libsoup
 , upower
@@ -22,11 +23,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "xfce4-weather-plugin";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-pFFG+aDc3JXRkcCcZK0nmuKJz4+BHEQz4I4xplaEUjk=";
+    sha256 = "sha256-ZdQK/3hjVQhYqfnStgVPJ8aaPn5xKZF4WYf5pzu6h2s=";
   };
 
   nativeBuildInputs = [
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
+    json_c
     libxml2
     libsoup
     upower
diff --git a/pkgs/development/compilers/cakelisp/default.nix b/pkgs/development/compilers/cakelisp/default.nix
index 422611cf2b86d..b6541619b9f9a 100644
--- a/pkgs/development/compilers/cakelisp/default.nix
+++ b/pkgs/development/compilers/cakelisp/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchgit, fetchpatch, gcc, unstableGitUpdater }:
+{ lib, stdenv, fetchgit, gcc, unstableGitUpdater }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "cakelisp";
   # using unstable as it's the only version that builds against gcc-13
-  version = "0.3.0-unstable-2023-12-18";
+  version = "0.3.0-unstable-2024-02-21";
 
   src = fetchgit {
     url = "https://macoy.me/code/macoy/cakelisp";
-    rev = "866fa2806d3206cc9dd398f0e86640db5be42bd6";
-    hash = "sha256-vwMZUNy+updwk69ahA/D9LhO68eV6wH0Prq+o/i1Q/A=";
+    rev = "75ce620b265bf83c6952c0093df2b9d4f7f32a54";
+    hash = "sha256-X+tWq2QQogy4d042pcVuldc80jcClYtV09Jr91rHJl4=";
   };
 
   buildInputs = [ gcc ];
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
     runHook postBuild
   '';
 
+  env.NIX_CFLAGS_COMPILE = "-Wno-error=format";
+
   installPhase = ''
     runHook preInstall
     install -Dm755 bin/cakelisp -t $out/bin
diff --git a/pkgs/development/compilers/chez/default.nix b/pkgs/development/compilers/chez/default.nix
index c0448a7e6d4f6..ee137a1dfb267 100644
--- a/pkgs/development/compilers/chez/default.nix
+++ b/pkgs/development/compilers/chez/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, fetchurl
 , coreutils, cctools
+, darwin
 , ncurses, libiconv, libX11, libuuid, testers
 }:
 
@@ -12,7 +13,11 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-03GZASte0ZhcQGnWqH/xjl4fWi3yfkApkfr0XcTyIyw=";
   };
 
-  nativeBuildInputs = lib.optional stdenv.isDarwin cctools;
+  nativeBuildInputs = lib.optionals stdenv.isDarwin [
+    cctools
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+    darwin.autoSignDarwinBinariesHook
+  ];
   buildInputs = [ ncurses libiconv libX11 libuuid ];
 
   enableParallelBuilding = true;
@@ -20,10 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation";
 
   /*
-  ** We patch out a very annoying 'feature' in ./configure, which
-  ** tries to use 'git' to update submodules.
-  **
-  ** We have to also fix a few occurrences to tools with absolute
+  ** We have to fix a few occurrences to tools with absolute
   ** paths in some helper scripts, otherwise the build will fail on
   ** NixOS or in any chroot build.
   */
diff --git a/pkgs/development/compilers/dart/sources.nix b/pkgs/development/compilers/dart/sources.nix
index 5e19aba467fec..0c8167ca790ae 100644
--- a/pkgs/development/compilers/dart/sources.nix
+++ b/pkgs/development/compilers/dart/sources.nix
@@ -1,24 +1,24 @@
-let version = "3.3.0"; in
+let version = "3.3.1"; in
 { fetchurl }: {
   versionUsed = version;
   "${version}-x86_64-darwin" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip";
-    sha256 = "1cwxvn7321444mkpcv1vix5bi2ianiadvrjib6z5irdj8pbwlkih";
+    sha256 = "1jihiryf8lm4mc5wrnhjwlyazpmhk3n40f8z7r25xnz7glafwvg5";
   };
   "${version}-aarch64-darwin" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip";
-    sha256 = "1clang815wwy6szwl1rkjzl9d6zard15d1c2p6i7xpvvk3rb6m5j";
+    sha256 = "1d6404r9vhp8q5r4nf3hlcgyvxlyxv63jzd4zlmdxghvm68kkv01";
   };
   "${version}-aarch64-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip";
-    sha256 = "00mjnzld4zbk37x7g7428by3dwpkc7nhja4p6dlhl1xj2lb4qs0r";
+    sha256 = "08amw2mw2zfpd7savydxsv8ncy8yk76ak1aixgb1csyh8pn4pagc";
   };
   "${version}-x86_64-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip";
-    sha256 = "1bdwdjjnfjrwcfg2iy76bh939kkgw25130if7fxl3jay0sj6pgry";
+    sha256 = "0mnplv2vzzfvg7a7xj8vrc75lvsj9xksbwzd3cc7s0xjxvyic40v";
   };
   "${version}-i686-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip";
-    sha256 = "0r9ypqd5b0l31bklm9q3g1aw9i1qyfkxr9vdn5wwfkicvqjiffs2";
+    sha256 = "1ndj3nlw6qd94w3h4kw7jyihm71jlp3y0kc0ybgwh2r22dd2r2yd";
   };
 }
diff --git a/pkgs/development/compilers/dmd/generic.nix b/pkgs/development/compilers/dmd/generic.nix
index 5cf07454141bc..eec43a6a82a75 100644
--- a/pkgs/development/compilers/dmd/generic.nix
+++ b/pkgs/development/compilers/dmd/generic.nix
@@ -220,7 +220,7 @@ stdenv.mkDerivation rec {
     # Everything is now Boost licensed, even the backend.
     # https://github.com/dlang/dmd/pull/6680
     license = licenses.boost;
-    maintainers = with maintainers; [ ThomasMader lionello dukc jtbx ];
+    maintainers = with maintainers; [ lionello dukc jtbx ];
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/compilers/dotnet/9/default.nix b/pkgs/development/compilers/dotnet/9/default.nix
new file mode 100644
index 0000000000000..2c7c83aaa6bea
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/9/default.nix
@@ -0,0 +1,9 @@
+{ callPackage
+, dotnetCorePackages
+}: callPackage ../dotnet.nix {
+  releaseManifestFile = ./release.json;
+  releaseInfoFile = ./release-info.json;
+  allowPrerelease = true;
+  depsFile = ./deps.nix;
+  bootstrapSdk = dotnetCorePackages.sdk_9_0;
+}
diff --git a/pkgs/development/compilers/dotnet/9/deps.nix b/pkgs/development/compilers/dotnet/9/deps.nix
new file mode 100644
index 0000000000000..4361b1cbd89e4
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/9/deps.nix
@@ -0,0 +1,11 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "System.CommandLine"; sha256 = "0i343zwgcnila8pxxgsk12a284mw0jkg3m82607shdbxjrwadz8n"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/flat2/system.commandline/2.0.0-beta4.23307.1/system.commandline.2.0.0-beta4.23307.1.nupkg"; version = "2.0.0-beta4.23307.1"; })
+  (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILAsm"; sha256 = "4edcd01d72a239df9506a124544aba8e8f18757b2b5398a658a68a920f58b1c8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/9.0.0-alpha.1.24061.26/runtime.linux-arm64.microsoft.netcore.ilasm.9.0.0-alpha.1.24061.26.nupkg"; version = "9.0.0-alpha.1.24061.26"; })
+  (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "55c2b7eab77aee7c22fcd3c44c0602fb767f800337b9740c2d29be31ac92b66f"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/9.0.0-alpha.1.24061.26/runtime.linux-arm64.microsoft.netcore.ildasm.9.0.0-alpha.1.24061.26.nupkg"; version = "9.0.0-alpha.1.24061.26"; })
+  (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.ILAsm"; sha256 = "1vbxs72aq6k6ibcjqibswm51zdj6k3vxd1gxpw1aqbk8b6vaqqwf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/9.0.0-alpha.1.24061.26/runtime.linux-x64.microsoft.netcore.ilasm.9.0.0-alpha.1.24061.26.nupkg"; version = "9.0.0-alpha.1.24061.26"; })
+  (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.ILDAsm"; sha256 = "0qwbjv0di5rnxaik7bxlfbr14y7w24fqp9vn6x5z2v464zdz02q5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/9.0.0-alpha.1.24061.26/runtime.linux-x64.microsoft.netcore.ildasm.9.0.0-alpha.1.24061.26.nupkg"; version = "9.0.0-alpha.1.24061.26"; })
+  (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILAsm"; sha256 = "8af8a1cbbe485ce344612b2482197a9ced5de567e384aea7cc0307741131990e"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/9.0.0-alpha.1.24061.26/runtime.osx-arm64.microsoft.netcore.ilasm.9.0.0-alpha.1.24061.26.nupkg"; version = "9.0.0-alpha.1.24061.26"; })
+  (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.ILDAsm"; sha256 = "ccf1cc88a8b555e0f514d71c8d5adc60fd06ec3a7e4c7a0b0acd6d4b1b81e0f3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/9.0.0-alpha.1.24061.26/runtime.osx-arm64.microsoft.netcore.ildasm.9.0.0-alpha.1.24061.26.nupkg"; version = "9.0.0-alpha.1.24061.26"; })
+  (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILAsm"; sha256 = "8d9346877885235b4267363d323a3f15122fb3667d7fbceb7c685f68163102e0"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/9.0.0-alpha.1.24061.26/runtime.osx-x64.microsoft.netcore.ilasm.9.0.0-alpha.1.24061.26.nupkg"; version = "9.0.0-alpha.1.24061.26"; })
+  (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.ILDAsm"; sha256 = "562eb0ea029d008798e50d423c3beaa5b509886751d446ce53f676b1a0281365"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a54510f9-4b2c-4e69-b96a-6096683aaa1f/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/9.0.0-alpha.1.24061.26/runtime.osx-x64.microsoft.netcore.ildasm.9.0.0-alpha.1.24061.26.nupkg"; version = "9.0.0-alpha.1.24061.26"; })
+]
diff --git a/pkgs/development/compilers/dotnet/9/release-info.json b/pkgs/development/compilers/dotnet/9/release-info.json
new file mode 100644
index 0000000000000..8e87703ce8649
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/9/release-info.json
@@ -0,0 +1,5 @@
+{
+  "tarballHash": "sha256-eLvH9Voeey9NvGy515CMGuvQIBgQoP3Abvbv0sZNkkY=",
+  "artifactsUrl": "https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.9.0.100-alpha.1.24067.1.centos.8-x64.tar.gz",
+  "artifactsHash": "sha256-qH8MYzgEk0h9GwvZLUbmIM5Fe6uIAZrwHT/p8DIdy8E="
+}
diff --git a/pkgs/development/compilers/dotnet/9/release.json b/pkgs/development/compilers/dotnet/9/release.json
new file mode 100644
index 0000000000000..1b1042c88b886
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/9/release.json
@@ -0,0 +1,10 @@
+{
+  "release": "9.0.0-preview.1",
+  "channel": "9.0",
+  "tag": "v9.0.0-preview.1.24080.9",
+  "sdkVersion": "9.0.100-preview.1.24101.1",
+  "runtimeVersion": "9.0.0-preview.1.24080.9",
+  "aspnetcoreRuntimeVersion": "9.0.0-preview.1.24081.5",
+  "sourceRepository": "https://github.com/dotnet/dotnet",
+  "sourceVersion": "1337fabdb46697adfbfe4a6f681fc1c2cb5d5b66"
+}
diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix
index 1960488f840a2..47c3e21e51a43 100644
--- a/pkgs/development/compilers/dotnet/default.nix
+++ b/pkgs/development/compilers/dotnet/default.nix
@@ -19,6 +19,7 @@ let
   dotnet_7_0 = import ./versions/7.0.nix buildAttrs;
   dotnet_8_0 = import ./versions/8.0.nix buildAttrs;
   dotnet_8_0_102 = import ./versions/8.0.102.nix buildAttrs;
+  dotnet_9_0 = import ./versions/9.0.nix buildAttrs;
 
   runtimeIdentifierMap = {
     "x86_64-linux" = "linux-x64";
@@ -38,6 +39,7 @@ in
   combinePackages = attrs: callPackage (import ./combine-packages.nix attrs) {};
 
   dotnet_8 = recurseIntoAttrs (callPackage ./8 { bootstrapSdk = dotnet_8_0_102.sdk_8_0; });
+  dotnet_9 = recurseIntoAttrs (callPackage ./9 {});
 } // lib.optionalAttrs config.allowAliases {
   # EOL
   sdk_2_1 = throw "Dotnet SDK 2.1 is EOL, please use 6.0 (LTS) or 7.0 (Current)";
@@ -45,4 +47,4 @@ in
   sdk_3_0 = throw "Dotnet SDK 3.0 is EOL, please use 6.0 (LTS) or 7.0 (Current)";
   sdk_3_1 = throw "Dotnet SDK 3.1 is EOL, please use 6.0 (LTS) or 7.0 (Current)";
   sdk_5_0 = throw "Dotnet SDK 5.0 is EOL, please use 6.0 (LTS) or 7.0 (Current)";
-} // dotnet_6_0 // dotnet_7_0 // dotnet_8_0
+} // dotnet_6_0 // dotnet_7_0 // dotnet_8_0 // dotnet_9_0
diff --git a/pkgs/development/compilers/dotnet/update.nix b/pkgs/development/compilers/dotnet/update.nix
index 89291d2461d8d..29206ecbe7682 100644
--- a/pkgs/development/compilers/dotnet/update.nix
+++ b/pkgs/development/compilers/dotnet/update.nix
@@ -50,7 +50,6 @@ in writeScript "update-dotnet-vmr.sh" ''
               .draft == false and
               (.name | startswith(".NET ${channel}")))) |
       first | (
-          .name,
           .tag_name,
           (.assets |
               .[] |
@@ -67,26 +66,29 @@ in writeScript "update-dotnet-vmr.sh" ''
       curl -fsL https://api.github.com/repos/dotnet/dotnet/releases | \
       jq -r "$query" \
   ) | (
-      read name
       read tagName
       read releaseUrl
       read sigUrl
 
-      if [[ "$name" == ".NET ${release}" ]]; then
-          >&2 echo "release is already $name"
-          exit
-      fi
-
       tmp="$(mktemp -d)"
       trap 'rm -rf "$tmp"' EXIT
 
+      cd "$tmp"
+
+      curl -fsL "$releaseUrl" -o release.json
+      release=$(jq -r .release release.json)
+
+      if [[ "$release" == "${release}" ]]; then
+          >&2 echo "release is already $release"
+          exit
+      fi
+
       tarballUrl=https://github.com/dotnet/dotnet/archive/refs/tags/$tagName.tar.gz
 
       mapfile -t prefetch < <(nix-prefetch-url --print-path "$tarballUrl")
       tarballHash=$(nix-hash --to-sri --type sha256 "''${prefetch[0]}")
       tarball=''${prefetch[1]}
 
-      cd "$tmp"
       curl -L "$sigUrl" -o release.sig
 
       export GNUPGHOME=$PWD/.gnupg
@@ -118,6 +120,6 @@ in writeScript "update-dotnet-vmr.sh" ''
               "artifactsHash": $_2,
           }' > "${toString releaseInfoFile}"
 
-      curl -fsL "$releaseUrl" -o ${toString releaseManifestFile}
+      cp release.json "${toString releaseManifestFile}"
   )
 ''
diff --git a/pkgs/development/compilers/dotnet/update.sh b/pkgs/development/compilers/dotnet/update.sh
index f9f198b05e2f0..39ccfdf33b405 100755
--- a/pkgs/development/compilers/dotnet/update.sh
+++ b/pkgs/development/compilers/dotnet/update.sh
@@ -36,11 +36,11 @@ release_platform_attr () {
 
 platform_sources () {
   local release_files="$1"
-  local platforms=( \
-    "x86_64-linux   linux-x64" \
-    "aarch64-linux  linux-arm64" \
-    "x86_64-darwin  osx-x64" \
-    "aarch64-darwin osx-arm64" \
+  local platforms=(
+    "x86_64-linux   linux-x64"
+    "aarch64-linux  linux-arm64"
+    "x86_64-darwin  osx-x64"
+    "aarch64-darwin osx-arm64"
   )
 
   echo "srcs = {"
@@ -85,7 +85,7 @@ version_older () {
     cur_version=$1
     max_version=$2
     result=$(nix-instantiate -I ../../../../. \
-        --eval -E "(import <nixpkgs> {}).lib.versionOlder \"$cur_version\" \"$max_version\"")
+        --eval -E "(import ../../../../. {}).lib.versionOlder \"$cur_version\" \"$max_version\"")
     if [[ "$result" == "true" ]]; then
         return 0
     else
@@ -117,31 +117,31 @@ aspnetcore_packages () {
     # Due to this, make sure to check if new SDK versions introduce any new packages.
     # This should not happend in minor or bugfix updates, but probably happens
     # with every new major .NET release.
-    local pkgs=( \
-      "Microsoft.AspNetCore.App.Runtime.linux-arm" \
-      "Microsoft.AspNetCore.App.Runtime.linux-arm64" \
-      "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64" \
-      "Microsoft.AspNetCore.App.Runtime.linux-musl-x64" \
-      "Microsoft.AspNetCore.App.Runtime.linux-x64" \
-      "Microsoft.AspNetCore.App.Runtime.osx-x64" \
-      "Microsoft.AspNetCore.App.Runtime.win-arm64" \
-      "Microsoft.AspNetCore.App.Runtime.win-x64" \
-      "Microsoft.AspNetCore.App.Runtime.win-x86" \
+    local pkgs=(
+      "Microsoft.AspNetCore.App.Runtime.linux-arm"
+      "Microsoft.AspNetCore.App.Runtime.linux-arm64"
+      "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"
+      "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"
+      "Microsoft.AspNetCore.App.Runtime.linux-x64"
+      "Microsoft.AspNetCore.App.Runtime.osx-x64"
+      "Microsoft.AspNetCore.App.Runtime.win-arm64"
+      "Microsoft.AspNetCore.App.Runtime.win-x64"
+      "Microsoft.AspNetCore.App.Runtime.win-x86"
     )
 
     # These packages are currently broken on .NET 8
     if version_older "$version" "8"; then
-        pkgs+=( \
-            "Microsoft.AspNetCore.App.Runtime.win-arm" \
+        pkgs+=(
+            "Microsoft.AspNetCore.App.Runtime.win-arm"
         )
     fi
 
     # Packages that only apply to .NET 6 and up
     if ! version_older "$version" "6"; then
-        pkgs+=( \
-          "Microsoft.AspNetCore.App.Ref" \
-          "Microsoft.AspNetCore.App.Runtime.linux-musl-arm" \
-          "Microsoft.AspNetCore.App.Runtime.osx-arm64" \
+        pkgs+=(
+          "Microsoft.AspNetCore.App.Ref"
+          "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"
+          "Microsoft.AspNetCore.App.Runtime.osx-arm64"
         )
     fi
 
@@ -173,119 +173,128 @@ sdk_packages () {
     # Due to this, make sure to check if new SDK versions introduce any new packages.
     # This should not happend in minor or bugfix updates, but probably happens
     # with every new major .NET release.
-    local pkgs=( \
-      "Microsoft.NETCore.App.Host.linux-arm" \
-      "Microsoft.NETCore.App.Host.linux-arm64" \
-      "Microsoft.NETCore.App.Host.linux-musl-arm64" \
-      "Microsoft.NETCore.App.Host.linux-musl-x64" \
-      "Microsoft.NETCore.App.Host.linux-x64" \
-      "Microsoft.NETCore.App.Host.osx-x64" \
-      "Microsoft.NETCore.App.Host.win-arm64" \
-      "Microsoft.NETCore.App.Host.win-x64" \
-      "Microsoft.NETCore.App.Host.win-x86" \
-      "Microsoft.NETCore.App.Runtime.linux-arm" \
-      "Microsoft.NETCore.App.Runtime.linux-arm64" \
-      "Microsoft.NETCore.App.Runtime.linux-musl-arm64" \
-      "Microsoft.NETCore.App.Runtime.linux-musl-x64" \
-      "Microsoft.NETCore.App.Runtime.linux-x64" \
-      "Microsoft.NETCore.App.Runtime.osx-x64" \
-      "Microsoft.NETCore.App.Runtime.win-arm64" \
-      "Microsoft.NETCore.App.Runtime.win-x64" \
-      "Microsoft.NETCore.App.Runtime.win-x86" \
-      "Microsoft.NETCore.DotNetAppHost" \
-      "Microsoft.NETCore.DotNetHost" \
-      "Microsoft.NETCore.DotNetHostPolicy" \
-      "Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.linux-arm64.Microsoft.NETCore.DotNetHost" \
-      "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.linux-arm.Microsoft.NETCore.DotNetHost" \
-      "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost" \
-      "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost" \
-      "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.linux-x64.Microsoft.NETCore.DotNetHost" \
-      "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.osx-x64.Microsoft.NETCore.DotNetHost" \
-      "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.win-arm64.Microsoft.NETCore.DotNetHost" \
-      "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.win-x64.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.win-x64.Microsoft.NETCore.DotNetHost" \
-      "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.win-x86.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.win-x86.Microsoft.NETCore.DotNetHost" \
-      "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver" \
-      "Microsoft.NETCore.App.Host.linux-musl-arm" \
-      "Microsoft.NETCore.App.Host.osx-arm64" \
-      "Microsoft.NETCore.App.Runtime.linux-musl-arm" \
-      "Microsoft.NETCore.App.Runtime.osx-arm64" \
-      "Microsoft.NETCore.App.Ref" \
-      "Microsoft.NETCore.App.Runtime.Mono.linux-arm" \
-      "Microsoft.NETCore.App.Runtime.Mono.linux-arm64" \
-      "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64" \
-      "Microsoft.NETCore.App.Runtime.Mono.linux-x64" \
-      "Microsoft.NETCore.App.Runtime.Mono.osx-arm64" \
-      "Microsoft.NETCore.App.Runtime.Mono.osx-x64" \
-      "Microsoft.NETCore.App.Runtime.Mono.win-x64" \
-      "Microsoft.NETCore.App.Runtime.Mono.win-x86" \
-      "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost" \
-      "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver" \
-      "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost" \
-      "runtime.osx-arm64.Microsoft.NETCore.DotNetHost" \
-      "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy" \
-      "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver" \
-      "Microsoft.NETCore.App.Crossgen2.linux-musl-arm" \
-      "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64" \
-      "Microsoft.NETCore.App.Crossgen2.linux-musl-x64" \
-      "Microsoft.NETCore.App.Crossgen2.linux-arm" \
-      "Microsoft.NETCore.App.Crossgen2.linux-arm64" \
-      "Microsoft.NETCore.App.Crossgen2.linux-x64" \
-      "Microsoft.NETCore.App.Crossgen2.osx-x64" \
+    local pkgs=(
+      "Microsoft.NETCore.App.Host.linux-arm"
+      "Microsoft.NETCore.App.Host.linux-arm64"
+      "Microsoft.NETCore.App.Host.linux-musl-arm64"
+      "Microsoft.NETCore.App.Host.linux-musl-x64"
+      "Microsoft.NETCore.App.Host.linux-x64"
+      "Microsoft.NETCore.App.Host.osx-x64"
+      "Microsoft.NETCore.App.Host.win-arm64"
+      "Microsoft.NETCore.App.Host.win-x64"
+      "Microsoft.NETCore.App.Host.win-x86"
+      "Microsoft.NETCore.App.Runtime.linux-arm"
+      "Microsoft.NETCore.App.Runtime.linux-arm64"
+      "Microsoft.NETCore.App.Runtime.linux-musl-arm64"
+      "Microsoft.NETCore.App.Runtime.linux-musl-x64"
+      "Microsoft.NETCore.App.Runtime.linux-x64"
+      "Microsoft.NETCore.App.Runtime.osx-x64"
+      "Microsoft.NETCore.App.Runtime.win-arm64"
+      "Microsoft.NETCore.App.Runtime.win-x64"
+      "Microsoft.NETCore.App.Runtime.win-x86"
+      "Microsoft.NETCore.DotNetAppHost"
+      "Microsoft.NETCore.DotNetHost"
+      "Microsoft.NETCore.DotNetHostPolicy"
+      "Microsoft.NETCore.DotNetHostResolver"
+      "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"
+      "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"
+      "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"
+      "runtime.linux-arm.Microsoft.NETCore.DotNetHost"
+      "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"
+      "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"
+      "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"
+      "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"
+      "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"
+      "runtime.linux-x64.Microsoft.NETCore.DotNetHost"
+      "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"
+      "runtime.osx-x64.Microsoft.NETCore.DotNetHost"
+      "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"
+      "runtime.win-arm64.Microsoft.NETCore.DotNetHost"
+      "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"
+      "runtime.win-x64.Microsoft.NETCore.DotNetHost"
+      "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"
+      "runtime.win-x86.Microsoft.NETCore.DotNetHost"
+      "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"
+      "Microsoft.NETCore.App.Host.linux-musl-arm"
+      "Microsoft.NETCore.App.Host.osx-arm64"
+      "Microsoft.NETCore.App.Runtime.linux-musl-arm"
+      "Microsoft.NETCore.App.Runtime.osx-arm64"
+      "Microsoft.NETCore.App.Ref"
+      "Microsoft.NETCore.App.Runtime.Mono.linux-arm"
+      "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"
+      "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"
+      "Microsoft.NETCore.App.Runtime.Mono.linux-x64"
+      "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"
+      "Microsoft.NETCore.App.Runtime.Mono.osx-x64"
+      "Microsoft.NETCore.App.Runtime.Mono.win-x64"
+      "Microsoft.NETCore.App.Runtime.Mono.win-x86"
+      "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"
+      "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"
+      "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"
+      "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"
+      "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"
+      "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"
+      "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"
+      "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"
+      "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"
+      "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"
+      "Microsoft.NETCore.App.Crossgen2.linux-arm"
+      "Microsoft.NETCore.App.Crossgen2.linux-arm64"
+      "Microsoft.NETCore.App.Crossgen2.linux-x64"
+      "Microsoft.NETCore.App.Crossgen2.osx-x64"
       "Microsoft.NETCore.App.Crossgen2.osx-arm64"
     )
 
+    # These packages were removed on .NET 9
+    if ! version_older "$version" "9"; then
+      local newpkgs=()
+      for pkg in "${pkgs[@]}"; do
+        [[ "$pkg" = *Microsoft.NETCore.DotNetHost* ]] || newpkgs+=("$pkg")
+      done
+      pkgs=("${newpkgs[@]}")
+    fi
+
     # These packages were removed on .NET 8
     if version_older "$version" "8"; then
-        pkgs+=( \
-            "Microsoft.NETCore.App.Host.win-arm" \
-            "Microsoft.NETCore.App.Runtime.win-arm" \
-            "runtime.win-arm.Microsoft.NETCore.DotNetAppHost" \
-            "runtime.win-arm.Microsoft.NETCore.DotNetHost" \
-            "runtime.win-arm.Microsoft.NETCore.DotNetHostPolicy" \
-            "runtime.win-arm.Microsoft.NETCore.DotNetHostResolver" \
-            "Microsoft.NETCore.App.Composite" \
+        pkgs+=(
+            "Microsoft.NETCore.App.Host.win-arm"
+            "Microsoft.NETCore.App.Runtime.win-arm"
+            "runtime.win-arm.Microsoft.NETCore.DotNetAppHost"
+            "runtime.win-arm.Microsoft.NETCore.DotNetHost"
+            "runtime.win-arm.Microsoft.NETCore.DotNetHostPolicy"
+            "runtime.win-arm.Microsoft.NETCore.DotNetHostResolver"
+            "Microsoft.NETCore.App.Composite"
         )
     fi
 
     # Packages that only apply to .NET 7 and up
     if ! version_older "$version" "7"; then
-        pkgs+=( \
-          "runtime.linux-arm64.Microsoft.DotNet.ILCompiler" \
-          "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler" \
-          "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler" \
-          "runtime.linux-x64.Microsoft.DotNet.ILCompiler" \
-          "runtime.osx-x64.Microsoft.DotNet.ILCompiler" \
-          "runtime.win-arm64.Microsoft.DotNet.ILCompiler" \
-          "runtime.win-x64.Microsoft.DotNet.ILCompiler" \
+        pkgs+=(
+          "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"
+          "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"
+          "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"
+          "runtime.linux-x64.Microsoft.DotNet.ILCompiler"
+          "runtime.osx-x64.Microsoft.DotNet.ILCompiler"
+          "runtime.win-arm64.Microsoft.DotNet.ILCompiler"
+          "runtime.win-x64.Microsoft.DotNet.ILCompiler"
         )
     fi
 
@@ -359,6 +368,13 @@ Examples:
     channel_version=$(jq -r '."channel-version"' <<< "$content")
     support_phase=$(jq -r '."support-phase"' <<< "$content")
 
+    aspnetcore_sources="$(platform_sources "$aspnetcore_files")"
+    runtime_sources="$(platform_sources "$runtime_files")"
+    sdk_sources="$(platform_sources "$sdk_files")"
+
+    aspnetcore_packages="$(aspnetcore_packages "${aspnetcore_version}")"
+    sdk_packages="$(sdk_packages "${runtime_version}")"
+
     result=$(mktemp)
     trap "rm -f $result" TERM INT EXIT
 
@@ -368,20 +384,20 @@ Examples:
 {
   aspnetcore_$major_minor_underscore = buildAspNetCore {
     version = \"${aspnetcore_version}\";
-    $(platform_sources "$aspnetcore_files")
+    $aspnetcore_sources
   };
 
   runtime_$major_minor_underscore = buildNetRuntime {
     version = \"${runtime_version}\";
-    $(platform_sources "$runtime_files")
+    $runtime_sources
   };
 
   sdk_$major_minor_underscore = buildNetSdk {
     version = \"${sdk_version}\";
-    $(platform_sources "$sdk_files")
+    $sdk_sources
     packages = { fetchNuGet }: [
-$(aspnetcore_packages "${aspnetcore_version}")
-$(sdk_packages "${runtime_version}")
+$aspnetcore_packages
+$sdk_packages
     ];
   };
 }" > "${result}"
diff --git a/pkgs/development/compilers/dotnet/versions/9.0.nix b/pkgs/development/compilers/dotnet/versions/9.0.nix
new file mode 100644
index 0000000000000..530a7f65075cc
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/versions/9.0.nix
@@ -0,0 +1,143 @@
+{ buildAspNetCore, buildNetRuntime, buildNetSdk }:
+
+# v9.0 (preview)
+{
+  aspnetcore_9_0 = buildAspNetCore {
+    version = "9.0.0-preview.1.24081.5";
+    srcs = {
+      x86_64-linux = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/14b2b268-4d58-4f7b-9708-46c5a0a5b868/3cfbd27c7e2aabc0ca70f474709a4767/aspnetcore-runtime-9.0.0-preview.1.24081.5-linux-x64.tar.gz";
+        sha512  = "29bfe0b5b72608eba97151909308a67a47dc299902a46bf1a22d67bb5f8a0c87c6f4533c0c2d4679f9440f9ccccf549c434a4280c101f7633bdbdcf049c95817";
+      };
+      aarch64-linux = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/3f2586f3-89fd-44ad-aae2-4c241f72996f/f973c7140305733792dd25b466e37606/aspnetcore-runtime-9.0.0-preview.1.24081.5-linux-arm64.tar.gz";
+        sha512  = "118967e64995d7c242738bf806928ecc52cfae3b0e0429a6951047eaf37d27bdde0adc0c6dc74e32d61b69565f7666cbfd4658396c37988e5d343debcc15bdf6";
+      };
+      x86_64-darwin = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/2e9a9af2-f1dd-467a-85f3-430f5142bf0b/6ce0853ee69a127bb767270a737f6467/aspnetcore-runtime-9.0.0-preview.1.24081.5-osx-x64.tar.gz";
+        sha512  = "3ed80631a3ca0a4684a70fc0f17d46257a63cc71c7497c958accb4d329eff4a7c832a29c028b608798fbed0b82e2c5b7d5533c57dff2188d4142559b57341192";
+      };
+      aarch64-darwin = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/a407f4d8-183b-45c9-8153-c889c10630b9/2388fbcc5171e20d05abeb301027df2e/aspnetcore-runtime-9.0.0-preview.1.24081.5-osx-arm64.tar.gz";
+        sha512  = "09746054c291b10bacf3fba8ad147443fd41f42b6b04d9559281bc7d919ddc56ebe7402021997f6f24b745b3292368719cc2142d0eebba76226c5603545b6743";
+      };
+    };
+  };
+
+  runtime_9_0 = buildNetRuntime {
+    version = "9.0.0-preview.1.24080.9";
+    srcs = {
+      x86_64-linux = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/5bcb417b-0de3-461c-9ce2-a9ddd5df1aff/73e36aaa7c2e381724a2adac149eb376/dotnet-runtime-9.0.0-preview.1.24080.9-linux-x64.tar.gz";
+        sha512  = "68f0b89227c8e0b3239477409708c1b0c5cc7d80afd6661dc2150946c66e2130cf560c2471609f0fd063f01ca1d8e72f74beec45ecb519cf58f1cdc434615054";
+      };
+      aarch64-linux = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/7d911f96-acdc-4f5f-b283-cae6d6439bfd/f9e1c8d283ffd1d2e40346926a9c37bc/dotnet-runtime-9.0.0-preview.1.24080.9-linux-arm64.tar.gz";
+        sha512  = "265b7bf094730be765bdaadec3215c1a7c51bff6fb18bb51cff383473e32d1ba821b6d046e0f7fa864400dc5cb68e35943057f5b6ae6e8c411375fc15fdbaf3c";
+      };
+      x86_64-darwin = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/0307fdd7-b398-4e90-a88b-574d853b769b/ab8938a35b03d8308a7a16331fa65cfa/dotnet-runtime-9.0.0-preview.1.24080.9-osx-x64.tar.gz";
+        sha512  = "f644ce6ee158bd86a4aba21bdd955a3aebb0367b5af618b6e77dc85922bc790b9c33b572606a15f566b2729a90923f66a933159124e803494105a695c890b775";
+      };
+      aarch64-darwin = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/079214b6-0ce6-4d6f-a0ac-9bd9072dad0f/14b558eb20224c345f78ea80f7029e11/dotnet-runtime-9.0.0-preview.1.24080.9-osx-arm64.tar.gz";
+        sha512  = "63bf6a57f61c4dcf4e0cdcedb8ff6c76cb702a95d4e0033f17b4cd2a3e800e73ab16c401fb098416404ea5716c725c175f9422250b2a8816c08eed2702cd38e5";
+      };
+    };
+  };
+
+  sdk_9_0 = buildNetSdk {
+    version = "9.0.100-preview.1.24101.2";
+    srcs = {
+      x86_64-linux = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/f51b05d4-bc43-4290-9b33-aaa212edbba6/e10559d91242409faf5c37cb529de8f3/dotnet-sdk-9.0.100-preview.1.24101.2-linux-x64.tar.gz";
+        sha512  = "e176126d9a12075d91a0ad2b4dd50021a564258742d86560bd216ac36482c763087bd8affc68fe9a8d3c46f61f864bc2c7c2e455739d21614516c4f73fd281fd";
+      };
+      aarch64-linux = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/e8743929-2c7b-4410-88f5-5f247040b498/ff454c589dc8d5dd9cb42e0950f34a69/dotnet-sdk-9.0.100-preview.1.24101.2-linux-arm64.tar.gz";
+        sha512  = "b7c29e4e4baf2d2ba7b29fc5a080df708c5a915e6fb1ce2ff93ffc8f18e7725fae5d569ab1349ef4b067d05d00886a17c8d1a95e211602db1ee5da820b5edefd";
+      };
+      x86_64-darwin = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/9956af63-be37-43be-a854-01f3a95e12fe/60d97a3f4f53b33376b8df055a14cf39/dotnet-sdk-9.0.100-preview.1.24101.2-osx-x64.tar.gz";
+        sha512  = "90c6709c54c0f9f4d7100bbf9c3b8136b6468617034c23f6a60dc17092e311539d54b741e149b70f1b6a6e2c6be0aacc948d4c72abac724f47d5ea05e02a2939";
+      };
+      aarch64-darwin = {
+        url     = "https://download.visualstudio.microsoft.com/download/pr/cd991bbf-8952-4bd1-83d4-33eb1a810939/3662095e14f91f43c2b3a7e6c55666fa/dotnet-sdk-9.0.100-preview.1.24101.2-osx-arm64.tar.gz";
+        sha512  = "901835cfc277c626d38c7a2bc1a6704115d240812631cd32f4b51833b41ddcd3a4a169a1bbda42a9446eb33b2337f6a8c6410bc3d1bae557c8898d427e2fc8c1";
+      };
+    };
+    packages = { fetchNuGet }: [
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "9.0.0-preview.1.24081.5"; sha256 = "1li21dfibwmzrcnf1jlaybhrxjk3cb9vqyy700s5bqwcw69px7dh"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "9.0.0-preview.1.24081.5"; sha256 = "1gnilvb9ys76snhlv2vnv3h6xp9a6hb6pjjvlaawvl71y2cpjy4q"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "9.0.0-preview.1.24081.5"; sha256 = "05gvwi0i1s3rsi43cb3v8cd2pzr0qzccq8vhf4wm9rj63j0flz9y"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "9.0.0-preview.1.24081.5"; sha256 = "0ivnyyjd38fwma2426bxxnbm033ai9f857n04gs73vybm3fs0f4v"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "9.0.0-preview.1.24081.5"; sha256 = "1bc5bh3qfsx4xdsmr6a6lxc58kqb7y68w12r872zfq5isz5hpq75"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "9.0.0-preview.1.24081.5"; sha256 = "1lqwczkgi972clvplj8clcdprlh5ydjsdv7343k3f1i32g8s57cq"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "9.0.0-preview.1.24081.5"; sha256 = "1z5fplrqr4k2lddjk2yzjxd398v21w2lxwb5q3hc2ll65f6grmhz"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "9.0.0-preview.1.24081.5"; sha256 = "15zl1ah878wdd4xxywj1kj110vjizmyvbnyq3fgb87cq9rl4b7fi"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "9.0.0-preview.1.24081.5"; sha256 = "0cqx20qpy35nc6hyzi8j2l96bliia5ks9dkvbjx5cykhar2bnqrl"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "9.0.0-preview.1.24081.5"; sha256 = "0nfzz7ibpmrsmzivs8ja7w8qw103bv34d69jw1704m5ha4ybca8v"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "9.0.0-preview.1.24081.5"; sha256 = "0a7sj4f6b9337xxdr1ckrnmar189bg8j6zx82qi6vppwsiwsgqz0"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "9.0.0-preview.1.24081.5"; sha256 = "06s1zpp5l3x7fxbrm78bnq26p1wfqn2282py7f26d3fn6hx692gg"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "9.0.0-preview.1.24080.9"; sha256 = "1qh7988cdbvmr7zqfwidpw8fx7hhjym1cfsyxf2hvzv7srbkhmr4"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "13x14l513qhgs2dspkqkmxy6f0jr8ajsvkpm0apcs3xp2yz4p761"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "14azy981h13ngwipn2k2nf0p09sqmv0j79xpg2nv1hrznwxvfckk"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "1qssmhwlpp0hcbml2vh2flxhmmmvnllvkgczbrv7pmq0h38r3ydl"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "1ql0prr6md6dm3dgxxyfvlw773klnlhd2hk6r73fd0s68xkd1qr2"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0a6dl6m93xx9c0yx574zx4cfyvvxaj41yw43d2g3sclsrrn4b9pp"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0962lnkfdp6bv7rv4ji5wsrcs0hjjp4yzlnf4hmz90mqd3i05w4p"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "1dxdax2z2bdwlwjm6nxiwk252d0fi9rdx0rhx7d8vam5gm336mhr"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "9.0.0-preview.1.24080.9"; sha256 = "1d9pfs06hip5d80zsmgbsfffbzmdmc29h7bl92cqf3p5hkj53zf7"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "9.0.0-preview.1.24080.9"; sha256 = "0nsdhf5pr2id2i3l7fhqn24d234isfd0kv3dr89pgfh3zprs67zd"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0nzzf2m4wy66cyp0by0594xdq090b2rzhz6f9yadf3mj3427v9lr"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "1sk76h47fdbp2dlh9gqd89fa9gdhycsq1im6l2va30x9yj4909qa"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0dchamrhqb4bml9p1dhq92wykm6b3swqnqax8ficnxpy0i2qd01q"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0k235sbrrx3hyl13qvri779l20l9bl2534g8rxl5gvxicfjz25kp"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "1sn8k2isahx2vkiwb94ry4cs96f71y2q8x5p6k8zql9j1v7vqaij"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "05448mdb2sqvxlfipfaj3zjc4pkn2q55jxjyynhg94v0rxssm8fx"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "1xj7hs7v76fjyr4lldipf8wslxf36a9l8g2czpsz3bjfcaydj1nb"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "9.0.0-preview.1.24080.9"; sha256 = "0g9zgql716iwh76jp9bj5h0jp935chnxv5ah0i7fa4g4k84y45ww"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "122nia5gmq0riqdpgrz3aqfm7yp02xn0lxpljmah682h06mynvl7"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "0clh5mphnai7xqb4f9r0dn23i6n4h73xf1hxi3hmxw6zjnplngpj"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "141ffygbqny0x6k4lkndfi2z545c2r41rlc5hjw8b2sy99rfpjny"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "0ddl3kgff8b3np6axnl7gyhhzwic6vhy0b5bz4a0dvapwlpjb0a6"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "1vmpl25sp4hrkx6hrrqnp0ifqr9w9vdim4sb5igflwggdmdyqlif"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "0id7j171maci60wnvy41gibl4x9fn8gl6cg787dy4a9rnn2452m6"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "0d0ynkczks7birpj5n3bka1fh998syci3h30wdqh68b00svqfvd2"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "1hbm9ng1j2gia5rpynmhyk404041bbkdc6y483n4wzyyl538b6wq"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "0k24rw258glp3mihxwb0r2pnp6a4bcsjb21asa9jsa1w2dsvlisf"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "1plgpd6q1q8xifr40hv67amvmq4sl9hirh1r2i7rd2bybga301fs"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "9.0.0-preview.1.24080.9"; sha256 = "122wyzf8ky7h6qhaj4nhffgb51xnix9fhh1niqcli0j7n8qcx6p1"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0af0fpwv3vk0v8448kl3z13xs3063qm7901wx919qmb4a9gkw6x2"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "9.0.0-preview.1.24080.9"; sha256 = "06zh10z4ij5rsnnvsbixp99y5ss6jsb5yy78il5axby9kny75r0p"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0p9rnp355q9hbl88wjkx4cjkagwz87ggxnrc823qkcxxkf56wscj"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "9.0.0-preview.1.24080.9"; sha256 = "1gbb7h757ilffgg35smqa890rzz0667nml2ybdrii2a35prh537b"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "9.0.0-preview.1.24080.9"; sha256 = "1n8q387aqj7vr7frlmwj8ikm67kamlk5fdj788cpspg4pr473g5y"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "19sc62mm0abmzr55nmk32ygxfqbc2jm0xydsap714b2hgl3b4lq3"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0602a6qybccsyif6qd6k8xyrkwd4vw8yj12jl910vj2ba0anzhjp"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0fgn04vzb1821ii7d2k4zzhf0k4x4zkz01c90z0dsazjna80nyav"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0868zrfwa4lhqrq5nxc97n0i36w97ydl8k97w25d6iqlbs43pq4r"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0a1c9f9nwwlai7lzg331as5rnzk2wrnks9wx0azh4z4l6sag5r9v"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "1xlfqpnkkxbsw3wylvxcy406lkb3qlfn6kisa6l50zxklxw11xsv"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "9.0.0-preview.1.24080.9"; sha256 = "1shnmvbmf0rl7ch92sf561hrwvahgiicral5m6wrhifnnzadjajv"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "02dq65n6kcpbkk38ic4g1rq38qfhxj7rx5aj2174qs9kq477rmsm"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "9.0.0-preview.1.24080.9"; sha256 = "1xqpfdgsdzafyfds021cl1sc5bcg146gg1hn7xln68j965im02yr"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm"; version = "9.0.0-preview.1.24080.9"; sha256 = "17yp1b13l3b3arivms1b2ydg8mlysyjqnk50b2qfhp5l3i0y1sqr"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "191qbl3zjwghwjlv958cdv0cslz4xkhb1k3cq7bi071zlmvs6yph"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-musl-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "05ay8n84f1f7vrhv71z6zjn7qm5vjgqn6flk9h6k4c1ld9w2nx8l"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm"; version = "9.0.0-preview.1.24080.9"; sha256 = "1a01xb92qgg0304z9z7xllnawi73b3pp2aczvchjsyj94ifx07zb"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0mjl5l56a2kdcdnjnmaaw4rw0ijfcffq7qjcva1n6fzfzw45pdpl"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "06hdjvnmqnxi621s2fg4n60sipa5660g2hik0pnmyppcp9218n5z"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.osx-x64"; version = "9.0.0-preview.1.24080.9"; sha256 = "0y9506n271qaqvkasmfqnk83bxgi53hzcwdn6dqlkbdh2drsq7f4"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.osx-arm64"; version = "9.0.0-preview.1.24080.9"; sha256 = "133rjr7cd18srl4d7rp3kadbwczwb8kj2z46hhim5v4zz3w3hk15"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-preview.1.24080.9"; sha256 = "1cv4prjb7qij28j8qv5psgxjkfwhgcpkgwq56c8c1lajzabyblgw"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-preview.1.24080.9"; sha256 = "09qs0xzv91lscwarjgr089mx8sgrqhafi5r38gvr1q2brpgz13qi"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-preview.1.24080.9"; sha256 = "1yby7m761232izvi60m13b2w4ar0ww4r8g9q61glgac36lqgbw0b"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-preview.1.24080.9"; sha256 = "1ms7rv2ww8cdrzr6vq5rr7ysac4znfbyp8c6sd887vy2a6g5kc9p"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-preview.1.24080.9"; sha256 = "13ra7s6hhfi8yszcf45c3wml1jhjjrh6r49linpwaz8p71rpr748"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-preview.1.24080.9"; sha256 = "13411aghpjxkip2ddq0pkg7b4gmy1qr9migfbpd2nc7287gngd72"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; version = "9.0.0-preview.1.24080.9"; sha256 = "16dw2qixs6bn16inplwc57x4kbwkd0amaqzhsrf1wsaajal4fh5q"; })
+      (fetchNuGet { pname = "Microsoft.NET.ILLink.Tasks"; version = "9.0.0-preview.1.24080.9"; sha256 = "0sxas6zxpfwrz6bvkw9jyraprksvrgm92hccispxp7yh8mjkhcr0"; })
+    ];
+  };
+}
diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix
index adc3ed7aaac89..60bce2f6e4580 100644
--- a/pkgs/development/compilers/dtc/default.nix
+++ b/pkgs/development/compilers/dtc/default.nix
@@ -101,5 +101,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl2Plus; # dtc itself is GPLv2, libfdt is dual GPL/BSD
     maintainers = [ maintainers.dezgeg ];
     platforms = platforms.unix;
+    mainProgram = "dtc";
   };
 })
diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix
index 53bc057a5b253..cc3546bed22cf 100644
--- a/pkgs/development/compilers/gcc/default.nix
+++ b/pkgs/development/compilers/gcc/default.nix
@@ -408,7 +408,7 @@ lib.pipe ((callFile ./common/builder.nix {}) ({
     isGNU = true;
     hardeningUnsupportedFlags = lib.optional is48 "stackprotector"
       ++ lib.optional (!atLeast11) "zerocallusedregs"
-      ++ lib.optional (!atLeast12) "fortify3"
+      ++ lib.optionals (!atLeast12) [ "fortify3" "trivialautovarinit" ]
       ++ lib.optionals (langFortran) [ "fortify" "format" ];
   };
 
diff --git a/pkgs/development/compilers/gcc/patches/12/mangle-NIX_STORE-in-__FILE__.patch b/pkgs/development/compilers/gcc/patches/12/mangle-NIX_STORE-in-__FILE__.patch
index 51078925eeb84..8a09af2183f1f 100644
--- a/pkgs/development/compilers/gcc/patches/12/mangle-NIX_STORE-in-__FILE__.patch
+++ b/pkgs/development/compilers/gcc/patches/12/mangle-NIX_STORE-in-__FILE__.patch
@@ -1,4 +1,4 @@
-From b10785c1be469319a09b10bc69db21159b0599ee Mon Sep 17 00:00:00 2001
+From 30908556fece379ffd7c0da96c774d8bd297e459 Mon Sep 17 00:00:00 2001
 From: Sergei Trofimovich <siarheit@google.com>
 Date: Fri, 22 Sep 2023 22:41:49 +0100
 Subject: [PATCH] gcc/file-prefix-map.cc: always mangle __FILE__ into invalid
@@ -14,9 +14,8 @@ Typical examples are `nix` -> `nlohmann_json` and `pipewire` ->
 
 For this reason we want to remove the occurrences of hashes in the
 expansion of `__FILE__`. `nuke-references` does it by replacing hashes
-by `eeeeee...` but those paths are also used for debug symbols. It is
-handy to be able to invert the transformation to go back to the original
-store path for debuginfod servers. The chosen solution is to make the
+by `eeeeee...`. It is handy to be able to invert the transformation to
+go back to the original store path. The chosen solution is to make the
 hash uppercase:
 - it does not trigger runtime references (except for all digit hashes,
   which are unlikely enough)
@@ -42,25 +41,27 @@ Tested as:
     ...
 
 Mangled successfully.
+
+To reverse the effect of the mangle use new `NIX_GCC_DONT_MANGLE_PREFIX_MAP`
+environment variable. It should not normally be needed.
 --- a/gcc/file-prefix-map.cc
 +++ b/gcc/file-prefix-map.cc
-@@ -60,6 +60,9 @@ add_prefix_map (file_prefix_map *&maps, const char *arg, const char *opt)
-   maps = map;
- }
- 
-+/* Forward declaration for a $NIX_STORE remap hack below. */
-+static file_prefix_map *macro_prefix_maps; /* -fmacro-prefix-map  */
-+
- /* Perform user-specified mapping of filename prefixes.  Return the
-    GC-allocated new name corresponding to FILENAME or FILENAME if no
+@@ -65,7 +65,7 @@ add_prefix_map (file_prefix_map *&maps, const char *arg, const char *opt)
     remapping was performed.  */
-@@ -76,7 +79,31 @@ remap_filename (file_prefix_map *maps, const char *filename)
+ 
+ static const char *
+-remap_filename (file_prefix_map *maps, const char *filename)
++remap_filename (file_prefix_map *maps, const char *filename, bool mangle_nix_store = false)
+ {
+   file_prefix_map *map;
+   char *s;
+@@ -76,7 +76,31 @@ remap_filename (file_prefix_map *maps, const char *filename)
      if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
        break;
    if (!map)
 -    return filename;
 +    {
-+      if (maps == macro_prefix_maps)
++      if (mangle_nix_store && getenv("NIX_GCC_DONT_MANGLE_PREFIX_MAP") == NULL)
 +	{
 +	  /* Remap the 32 characters after $NIX_STORE/ to uppercase
 +	  *
@@ -76,7 +77,7 @@ Mangled successfully.
 +	    {
 +	       s = (char *) ggc_alloc_atomic (name_len + 1);
 +	       memcpy(s, name, name_len + 1);
-+	       for (int i = nix_store_len + 1; i < nix_store_len + 1 + 32; i++) {
++	       for (size_t i = nix_store_len + 1; i < nix_store_len + 1 + 32; i++) {
 +		 s[i] = TOUPPER(s[i]);
 +	       }
 +	       return s;
@@ -87,11 +88,12 @@ Mangled successfully.
    name = filename + map->old_len;
    name_len = strlen (name) + 1;
  
-@@ -90,7 +117,6 @@ remap_filename (file_prefix_map *maps, const char *filename)
-    ignore it in DW_AT_producer (dwarf2out.cc).  */
- 
- /* Linked lists of file_prefix_map structures.  */
--static file_prefix_map *macro_prefix_maps; /* -fmacro-prefix-map  */
- static file_prefix_map *debug_prefix_maps; /* -fdebug-prefix-map  */
- static file_prefix_map *profile_prefix_maps; /* -fprofile-prefix-map  */
+@@ -129,7 +153,7 @@ add_profile_prefix_map (const char *arg)
+ const char *
+ remap_macro_filename (const char *filename)
+ {
+-  return remap_filename (macro_prefix_maps, filename);
++  return remap_filename (macro_prefix_maps, filename, true);
+ }
  
+ /* Remap using -fdebug-prefix-map.  Return the GC-allocated new name
diff --git a/pkgs/development/compilers/gcc/patches/13/mangle-NIX_STORE-in-__FILE__.patch b/pkgs/development/compilers/gcc/patches/13/mangle-NIX_STORE-in-__FILE__.patch
index 351d6d0f764ba..87613c28eb083 100644
--- a/pkgs/development/compilers/gcc/patches/13/mangle-NIX_STORE-in-__FILE__.patch
+++ b/pkgs/development/compilers/gcc/patches/13/mangle-NIX_STORE-in-__FILE__.patch
@@ -1,4 +1,4 @@
-From b10785c1be469319a09b10bc69db21159b0599ee Mon Sep 17 00:00:00 2001
+From e160a8cd4a704f4b7724df02b62394f677cc4198 Mon Sep 17 00:00:00 2001
 From: Sergei Trofimovich <siarheit@google.com>
 Date: Fri, 22 Sep 2023 22:41:49 +0100
 Subject: [PATCH] gcc/file-prefix-map.cc: always mangle __FILE__ into invalid
@@ -14,9 +14,8 @@ Typical examples are `nix` -> `nlohmann_json` and `pipewire` ->
 
 For this reason we want to remove the occurrences of hashes in the
 expansion of `__FILE__`. `nuke-references` does it by replacing hashes
-by `eeeeee...` but those paths are also used for debug symbols. It is
-handy to be able to invert the transformation to go back to the original
-store path for debuginfod servers. The chosen solution is to make the
+by `eeeeee...`. It is handy to be able to invert the transformation to
+go back to the original store path. The chosen solution is to make the
 hash uppercase:
 - it does not trigger runtime references (except for all digit hashes,
   which are unlikely enough)
@@ -42,23 +41,25 @@ Tested as:
     ...
 
 Mangled successfully.
+
+To reverse the effect of the mangle use new `NIX_GCC_DONT_MANGLE_PREFIX_MAP`
+environment variable. It should not normally be needed.
 --- a/gcc/file-prefix-map.cc
 +++ b/gcc/file-prefix-map.cc
-@@ -69,6 +69,9 @@ add_prefix_map (file_prefix_map *&maps, const char *arg, const char *opt)
-   maps = map;
- }
- 
-+/* Forward declaration for a $NIX_STORE remap hack below. */
-+static file_prefix_map *macro_prefix_maps; /* -fmacro-prefix-map  */
-+
- /* Perform user-specified mapping of filename prefixes.  Return the
-    GC-allocated new name corresponding to FILENAME or FILENAME if no
+@@ -74,7 +74,7 @@ add_prefix_map (file_prefix_map *&maps, const char *arg, const char *opt)
     remapping was performed.  */
-@@ -102,6 +105,30 @@ remap_filename (file_prefix_map *maps, const char *filename)
+ 
+ static const char *
+-remap_filename (file_prefix_map *maps, const char *filename)
++remap_filename (file_prefix_map *maps, const char *filename, bool mangle_nix_store = false)
+ {
+   file_prefix_map *map;
+   char *s;
+@@ -102,6 +102,30 @@ remap_filename (file_prefix_map *maps, const char *filename)
        break;
    if (!map)
      {
-+      if (maps == macro_prefix_maps)
++      if (mangle_nix_store && getenv("NIX_GCC_DONT_MANGLE_PREFIX_MAP") == NULL)
 +	{
 +	  /* Remap all fo $NIX_STORE/.{32} paths to uppercase
 +	   *
@@ -74,7 +75,7 @@ Mangled successfully.
 +	     {
 +		s = (char *) ggc_alloc_atomic (name_len + 1);
 +		memcpy(s, name, name_len + 1);
-+		for (int i = nix_store_len + 1; i < nix_store_len + 1 + 32; i++) {
++		for (size_t i = nix_store_len + 1; i < nix_store_len + 1 + 32; i++) {
 +		  s[i] = TOUPPER(s[i]);
 +		}
 +		if (realname != filename)
@@ -85,11 +86,12 @@ Mangled successfully.
        if (realname != filename)
  	free (const_cast <char *> (realname));
        return filename;
-@@ -124,7 +151,6 @@ remap_filename (file_prefix_map *maps, const char *filename)
-    ignore it in DW_AT_producer (gen_command_line_string in opts.cc).  */
- 
- /* Linked lists of file_prefix_map structures.  */
--static file_prefix_map *macro_prefix_maps; /* -fmacro-prefix-map  */
- static file_prefix_map *debug_prefix_maps; /* -fdebug-prefix-map  */
- static file_prefix_map *profile_prefix_maps; /* -fprofile-prefix-map  */
+@@ -163,7 +187,7 @@ add_profile_prefix_map (const char *arg)
+ const char *
+ remap_macro_filename (const char *filename)
+ {
+-  return remap_filename (macro_prefix_maps, filename);
++  return remap_filename (macro_prefix_maps, filename, true);
+ }
  
+ /* Remap using -fdebug-prefix-map.  Return the GC-allocated new name
diff --git a/pkgs/development/compilers/idris2/idris2-lsp.nix b/pkgs/development/compilers/idris2/idris2-lsp.nix
index d73f2d70d6d0c..a9587588417a3 100644
--- a/pkgs/development/compilers/idris2/idris2-lsp.nix
+++ b/pkgs/development/compilers/idris2/idris2-lsp.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, idris2Packages, makeWrapper }:
+{ lib, fetchFromGitHub, idris2Packages, makeWrapper }:
 
 let
   globalLibraries = let
@@ -40,5 +40,12 @@ let
       wrapProgram $out/bin/idris2-lsp \
         --suffix IDRIS2_PACKAGE_PATH ':' "${globalLibrariesPath}"
     '';
+
+    meta = with lib; {
+      description = "Language Server for Idris2";
+      homepage = "https://github.com/idris-community/idris2-lsp";
+      license = licenses.bsd3;
+      maintainers = with maintainers; [ mattpolzin ];
+    };
   };
 in lspPkg.executable
diff --git a/pkgs/development/compilers/ldc/binary.nix b/pkgs/development/compilers/ldc/binary.nix
index dd4d51c81e3ab..ca7fb4f04de35 100644
--- a/pkgs/development/compilers/ldc/binary.nix
+++ b/pkgs/development/compilers/ldc/binary.nix
@@ -37,7 +37,7 @@ in stdenv.mkDerivation {
     homepage = "https://github.com/ldc-developers/ldc";
     # from https://github.com/ldc-developers/ldc/blob/master/LICENSE
     license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
-    maintainers = with maintainers; [ ThomasMader lionello ];
+    maintainers = with maintainers; [ lionello ];
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/development/compilers/ldc/generic.nix b/pkgs/development/compilers/ldc/generic.nix
index 16598714410fe..94a4ac8380a7d 100644
--- a/pkgs/development/compilers/ldc/generic.nix
+++ b/pkgs/development/compilers/ldc/generic.nix
@@ -130,7 +130,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ldc-developers/ldc";
     # from https://github.com/ldc-developers/ldc/blob/master/LICENSE
     license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
-    maintainers = with maintainers; [ ThomasMader lionello jtbx ];
+    maintainers = with maintainers; [ lionello jtbx ];
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/development/compilers/llvm/11/llvm/default.nix b/pkgs/development/compilers/llvm/11/llvm/default.nix
index e71d63859a06d..5e22d3f4af161 100644
--- a/pkgs/development/compilers/llvm/11/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/11/llvm/default.nix
@@ -212,6 +212,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeBuildType = if debugVersion then "Debug" else "Release";
 
   cmakeFlags = with stdenv; let
diff --git a/pkgs/development/compilers/llvm/12/llvm/default.nix b/pkgs/development/compilers/llvm/12/llvm/default.nix
index 3ac3ee24aec4d..d75ce3b3b052c 100644
--- a/pkgs/development/compilers/llvm/12/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/12/llvm/default.nix
@@ -202,6 +202,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeBuildType = if debugVersion then "Debug" else "Release";
 
   cmakeFlags = with stdenv; let
diff --git a/pkgs/development/compilers/llvm/13/llvm/default.nix b/pkgs/development/compilers/llvm/13/llvm/default.nix
index faebfb6e2bfdc..58e742b9b41ea 100644
--- a/pkgs/development/compilers/llvm/13/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/13/llvm/default.nix
@@ -164,6 +164,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeBuildType = if debugVersion then "Debug" else "Release";
 
   cmakeFlags = with stdenv; let
diff --git a/pkgs/development/compilers/llvm/14/llvm/default.nix b/pkgs/development/compilers/llvm/14/llvm/default.nix
index ed7d238ddaee9..124d07e4bb2b1 100644
--- a/pkgs/development/compilers/llvm/14/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/14/llvm/default.nix
@@ -168,6 +168,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeBuildType = if debugVersion then "Debug" else "Release";
 
   cmakeFlags = with stdenv; let
diff --git a/pkgs/development/compilers/llvm/15/llvm/default.nix b/pkgs/development/compilers/llvm/15/llvm/default.nix
index 7f1232d57a18c..d7ebcbcf8b760 100644
--- a/pkgs/development/compilers/llvm/15/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/15/llvm/default.nix
@@ -300,6 +300,8 @@ in stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeBuildType = if debugVersion then "Debug" else "Release";
 
   cmakeFlags = with stdenv; let
diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix
index db9385043be26..143076c3f76ee 100644
--- a/pkgs/development/compilers/llvm/16/default.nix
+++ b/pkgs/development/compilers/llvm/16/default.nix
@@ -149,6 +149,10 @@ in let
       inherit llvm_meta;
     };
 
+    mlir = callPackage ../common/mlir {
+      inherit llvm_meta;
+    };
+
     lldb = callPackage ../common/lldb.nix {
       src = callPackage ({ runCommand }: runCommand "lldb-src-${version}" {} ''
         mkdir -p "$out"
diff --git a/pkgs/development/compilers/llvm/16/llvm/default.nix b/pkgs/development/compilers/llvm/16/llvm/default.nix
index 661866c1890bd..aed9c367d1ad3 100644
--- a/pkgs/development/compilers/llvm/16/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/16/llvm/default.nix
@@ -287,6 +287,8 @@ in
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeBuildType = if debugVersion then "Debug" else "Release";
 
   cmakeFlags = with stdenv; let
diff --git a/pkgs/development/compilers/llvm/9/llvm/default.nix b/pkgs/development/compilers/llvm/9/llvm/default.nix
index 7d5e8389eba9b..f8f1c67670ecc 100644
--- a/pkgs/development/compilers/llvm/9/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/9/llvm/default.nix
@@ -203,6 +203,8 @@ in stdenv.mkDerivation (rec {
     ln -sv $PWD/lib $out
   '';
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeBuildType = if debugVersion then "Debug" else "Release";
 
   cmakeFlags = with stdenv; let
diff --git a/pkgs/development/compilers/llvm/git/llvm/default.nix b/pkgs/development/compilers/llvm/git/llvm/default.nix
index b8cef22878060..6dc2b51aaf9a8 100644
--- a/pkgs/development/compilers/llvm/git/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/git/llvm/default.nix
@@ -290,6 +290,8 @@ stdenv.mkDerivation (rec {
   # E.g. mesa.drivers use the build-id as a cache key (see #93946):
   LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1";
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeBuildType = if debugVersion then "Debug" else "Release";
 
   cmakeFlags = with stdenv; let
diff --git a/pkgs/development/compilers/odin/default.nix b/pkgs/development/compilers/odin/default.nix
index e6691e2436a77..ff3efcb8a6ef8 100644
--- a/pkgs/development/compilers/odin/default.nix
+++ b/pkgs/development/compilers/odin/default.nix
@@ -12,13 +12,13 @@ let
   inherit (llvmPackages) stdenv;
 in stdenv.mkDerivation rec {
   pname = "odin";
-  version = "dev-2024-02";
+  version = "dev-2024-03";
 
   src = fetchFromGitHub {
     owner = "odin-lang";
     repo = "Odin";
     rev = version;
-    hash = "sha256-v9A0+kgREXALhnvFYWtE0+H4L7CYnyje+d2W5+/ZvHA=";
+    hash = "sha256-oK5OcWAZy9NVH19oep6QU4d5qaiO0p+d9FvxDIrzFLU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/rust/1_75.nix b/pkgs/development/compilers/rust/1_76.nix
index 2ca1e2d294bcb..e04939735df49 100644
--- a/pkgs/development/compilers/rust/1_75.nix
+++ b/pkgs/development/compilers/rust/1_76.nix
@@ -19,8 +19,8 @@
 } @ args:
 
 import ./default.nix {
-  rustcVersion = "1.75.0";
-  rustcSha256 = "sha256-W3OfRbydNB4tHFcNZdI3VZHiLC0j71uKN3EaA4arwIg=";
+  rustcVersion = "1.76.0";
+  rustcSha256 = "sha256-nlz/Azp/DSJmgYmCrZDk0+Tvj47hcVd2xuJQc6E2wCE=";
 
   llvmSharedForBuild = pkgsBuildBuild.llvmPackages_17.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForHost = pkgsBuildHost.llvmPackages_17.libllvm.override { enableSharedLibraries = true; };
@@ -34,24 +34,24 @@ import ./default.nix {
 
   # Note: the version MUST be one version prior to the version we're
   # building
-  bootstrapVersion = "1.74.1";
+  bootstrapVersion = "1.75.0";
 
   # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
   bootstrapHashes = {
-    i686-unknown-linux-gnu = "b883b98372c91bc6aa9dc6ebb2b4e02e7dacbbc2ac1ebe55923dc37134df70a4";
-    x86_64-unknown-linux-gnu = "d206888a2a9d55113940151ba16117ce2456d7de021bab18cfcb06dc48d3157c";
-    x86_64-unknown-linux-musl = "5af3115a1f16431630f288821bd7f3be8cf7e08a7611b3c3bce3976774aa6cd2";
-    arm-unknown-linux-gnueabihf = "1dd7d835af4afe9adb7f785046c907090ace66f1c975cfe9e8886847310d8ec9";
-    armv7-unknown-linux-gnueabihf = "a5038ae004bf86eed64ef67329f7ba047bb4d188663bfd260320d53a2fed33c4";
-    aarch64-unknown-linux-gnu = "0dbdfce647f3c7d9ff00a7aa5d6dbbd7010486f803a9749cff46189f5ecb438c";
-    aarch64-unknown-linux-musl = "02674b8e4311780464313c5773d43606fbf6880d5c4512930d59b6d5d369f0de";
-    x86_64-apple-darwin = "54e1ef01d73f6031fbee36bbecd9af4209eb682dea478696e8282ca64d5792e5";
-    aarch64-apple-darwin = "af6a982cbed85807fb8e5c4ba85b8a76162b58945f4787e0a7dec32e901e8b3b";
-    powerpc64le-unknown-linux-gnu = "bb1c9f0ab1016a2817afe8f72c03f8f1787fe44d0f9999669e0c1957a08e6213";
-    riscv64gc-unknown-linux-gnu = "86561a8d630f634fdd7cb5899d40027103c907d9763a32770b7e2fd57dbd8473";
+    i686-unknown-linux-gnu = "107b8d8825deab338f338b15f047829da6225bb34644790847e96f0957c6678f";
+    x86_64-unknown-linux-gnu = "473978b6f8ff216389f9e89315211c6b683cf95a966196e7914b46e8cf0d74f6";
+    x86_64-unknown-linux-musl = "cc6ef41aa811ab34f946fe2b4338d1107daf08642125fd566386bf45563597de";
+    arm-unknown-linux-gnueabihf = "985454b6c385cb461cc8a39d2d7d55dcf6c50495033fe5d28edcc717729d8ae9";
+    armv7-unknown-linux-gnueabihf = "bd876a75f72040d96be2fb882770b16b482ac0ab15d7e3ad24e6d25b7c74bcf7";
+    aarch64-unknown-linux-gnu = "30828cd904fcfb47f1ac43627c7033c903889ea4aca538f53dcafbb3744a9a73";
+    aarch64-unknown-linux-musl = "26b5989525b7cf623f3868a37549736e0efe1142a08f191a97e29758cc640ac4";
+    x86_64-apple-darwin = "ad066e4dec7ae5948c4e7afe68e250c336a5ab3d655570bb119b3eba9cf22851";
+    aarch64-apple-darwin = "878ecf81e059507dd2ab256f59629a4fb00171035d2a2f5638cb582d999373b1";
+    powerpc64le-unknown-linux-gnu = "2599cdfea5860b4efbceb7bca69845a96ac1c96aa50cf8261151e82280b397a0";
+    riscv64gc-unknown-linux-gnu = "7f7b73d8924d7dd24dcb2ef0da257eb48d9aed658b00fe68e8f1ade0b1ce4511";
   };
 
-  selectRustPackage = pkgs: pkgs.rust_1_75;
+  selectRustPackage = pkgs: pkgs.rust_1_76;
 
   rustcPatches = [ ];
 }
diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix
index 1377cfad6c6c1..b57ad0c811c23 100644
--- a/pkgs/development/compilers/rust/cargo.nix
+++ b/pkgs/development/compilers/rust/cargo.nix
@@ -24,42 +24,6 @@ rustPlatform.buildRustPackage.override {
     inherit (rustc.unwrapped) tests;
   };
 
-  # Upstream rustc still assumes that musl = static[1].  The fix for
-  # this is to disable crt-static by default for non-static musl
-  # targets.
-  #
-  # For every package apart from Cargo, we can fix this by just
-  # patching rustc to not have crt-static by default.  But Cargo is
-  # built with the upstream bootstrap binary for rustc, which we can't
-  # easily patch.  This means we need to find another way to make sure
-  # crt-static is not used during the build of pkgsMusl.cargo.
-  #
-  # By default, Cargo doesn't apply RUSTFLAGS when building build.rs
-  # if --target is passed, so the only good way to set -crt-static for
-  # build.rs files used in the Cargo build is to use the unstable
-  # -Zhost-config Cargo feature.  This allows us to specify flags that
-  # should be passed to rustc when building for the build platform.
-  # We also need to use -Ztarget-applies-to-host, because using
-  # -Zhost-config requires it.
-  #
-  # When doing this, we also have to specify the linker, or cargo
-  # won't pass a -C linker= argument to rustc.  This will make rustc
-  # try to use its default value of "cc", which won't be available
-  # when cross-compiling.
-  #
-  # [1]: https://github.com/rust-lang/compiler-team/issues/422
-  postPatch = lib.optionalString (with stdenv.buildPlatform; isMusl && !isStatic) ''
-    mkdir -p .cargo
-    cat <<EOF >> .cargo/config
-    [host]
-    rustflags = "-C target-feature=-crt-static"
-    linker = "${pkgsBuildHost.stdenv.cc}/bin/${pkgsBuildHost.stdenv.cc.targetPrefix}cc"
-    [unstable]
-    host-config = true
-    target-applies-to-host = true
-    EOF
-  '';
-
   # changes hash of vendor directory otherwise
   dontUpdateAutotoolsGnuConfigScripts = true;
 
diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix
index e22cb6d594afd..6ed724aae8216 100644
--- a/pkgs/development/compilers/rust/make-rust-platform.nix
+++ b/pkgs/development/compilers/rust/make-rust-platform.nix
@@ -1,4 +1,4 @@
-{ lib, buildPackages, callPackage, cargo-auditable, stdenv, runCommand }@prev:
+{ lib, buildPackages, callPackage, callPackages, cargo-auditable, stdenv, runCommand }@prev:
 
 { rustc
 , cargo
@@ -34,7 +34,7 @@ rec {
   };
 
   # Hooks
-  inherit (callPackage ../../../build-support/rust/hooks {
+  inherit (callPackages ../../../build-support/rust/hooks {
     inherit stdenv cargo rustc;
   }) cargoBuildHook cargoCheckHook cargoInstallHook cargoNextestHook cargoSetupHook maturinBuildHook bindgenHook;
 }
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 6e0afa1b8f571..0a4a351b1cfda 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -175,8 +175,7 @@ in stdenv.mkDerivation (finalAttrs: {
 
     python ./x.py --keep-stage=0 --stage=1 install library/std
     mkdir -v $out/bin $doc $man
-    ln -s ${rustc.unwrapped}/bin/rustc $out/bin
-    makeWrapper ${rustc.unwrapped}/bin/rustdoc $out/bin/rustdoc --add-flags "--sysroot $out"
+    ln -s ${rustc.unwrapped}/bin/{rustc,rustdoc} $out/bin
     ln -s ${rustc.unwrapped}/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} $out/lib/rustlib/
     echo rust-std-${stdenv.hostPlatform.rust.rustcTargetSpec} >> $out/lib/rustlib/components
     lndir ${rustc.doc} $doc
@@ -197,18 +196,6 @@ in stdenv.mkDerivation (finalAttrs: {
 
     # Useful debugging parameter
     # export VERBOSE=1
-  '' + lib.optionalString (stdenv.targetPlatform.isMusl && !stdenv.targetPlatform.isStatic) ''
-    # Upstream rustc still assumes that musl = static[1].  The fix for
-    # this is to disable crt-static by default for non-static musl
-    # targets.
-    #
-    # Even though Cargo will build build.rs files for the build platform,
-    # cross-compiling _from_ musl appears to work fine, so we only need
-    # to do this when rustc's target platform is dynamically linked musl.
-    #
-    # [1]: https://github.com/rust-lang/compiler-team/issues/422
-    substituteInPlace compiler/rustc_target/src/spec/base/linux_musl.rs \
-        --replace "base.crt_static_default = true" "base.crt_static_default = false"
   '' + lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
     # See https://github.com/jemalloc/jemalloc/issues/1997
     # Using a value of 48 should work on both emulated and native x86_64-darwin.
diff --git a/pkgs/development/compilers/zulu/common.nix b/pkgs/development/compilers/zulu/common.nix
index 75925ed81bece..c9056236ea6ad 100644
--- a/pkgs/development/compilers/zulu/common.nix
+++ b/pkgs/development/compilers/zulu/common.nix
@@ -19,7 +19,10 @@
 , gtkSupport ? stdenv.isLinux
 , cairo
 , glib
+, gtk2
 , gtk3
+  # runtime dependencies for JavaFX
+, ffmpeg
 }:
 let
   dist = dists.${stdenv.hostPlatform.system}
@@ -43,6 +46,10 @@ let
     cairo
     glib
     gtk3
+  ] ++ lib.optionals (gtkSupport && lib.versionOlder dist.jdkVersion "17") [
+    gtk2
+  ] ++ lib.optionals (stdenv.isLinux && enableJavaFX) [
+    ffmpeg.lib
   ];
 
   runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
@@ -83,8 +90,14 @@ let
       xorg.libXi
       xorg.libXrender
       xorg.libXtst
+      xorg.libXxf86vm
       zlib
-    ];
+    ] ++ lib.optionals (stdenv.isLinux && enableJavaFX) runtimeDependencies;
+
+    autoPatchelfIgnoreMissingDeps = if (stdenv.isLinux && enableJavaFX) then [
+      "libavcodec*.so.*"
+      "libavformat*.so.*"
+    ] else null;
 
     installPhase = ''
       mkdir -p $out
diff --git a/pkgs/development/embedded/fpga/openfpgaloader/default.nix b/pkgs/development/embedded/fpga/openfpgaloader/default.nix
index 615000e6eec18..ea0df4fa0419d 100644
--- a/pkgs/development/embedded/fpga/openfpgaloader/default.nix
+++ b/pkgs/development/embedded/fpga/openfpgaloader/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "openfpgaloader";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "trabucayre";
     repo = "openFPGALoader";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-OiyuhDrK4w13lRmgfmMlZ+1gvRZCJxsOF6MzLy3CFpg=";
+    hash = "sha256-fe0g8+q/4r7h++7/Bk7pbOJn1CsAc+2IzXN6lqtY2vY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/embedded/svdtools/default.nix b/pkgs/development/embedded/svdtools/default.nix
index 5611c3005a1e4..829e9019639e6 100644
--- a/pkgs/development/embedded/svdtools/default.nix
+++ b/pkgs/development/embedded/svdtools/default.nix
@@ -5,14 +5,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svdtools";
-  version = "0.3.10";
+  version = "0.3.11";
 
   src = fetchCrate {
     inherit version pname;
-    hash = "sha256-VEGLUc8ThhD/R+K2IFGvE800euz8oF0kuekGO627rvU=";
+    hash = "sha256-LmpYsG/2oEdbAK2ePI+LYbGrVN+wC9gQS6GXNcF8XFg=";
   };
 
-  cargoHash = "sha256-T0yTGCDgRQUySUHNkoB4kqoKS/0kJWDi04ysPGO79HY=";
+  cargoHash = "sha256-qsCa+YWE9dghG8T53TSDikWh+JhQt9v7A1Gn+/t5YZs=";
 
   meta = with lib; {
     description = "Tools to handle vendor-supplied, often buggy SVD files";
diff --git a/pkgs/development/interpreters/cel-go/default.nix b/pkgs/development/interpreters/cel-go/default.nix
index 88d0b19fc0a47..3943f89b423ce 100644
--- a/pkgs/development/interpreters/cel-go/default.nix
+++ b/pkgs/development/interpreters/cel-go/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "cel-go";
-  version = "0.20.0";
+  version = "0.20.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cel-go";
     rev = "v${version}";
-    hash = "sha256-rjhTKZ2d1jDby4tacLfbKJj0Y7F/KkECWAL/WsqJ6sg=";
+    hash = "sha256-RN3Eqdf1Zon0gSsP3jGxydVEa0NL5filAei4+xPFNv8=";
   };
 
   modRoot = "repl";
 
-  vendorHash = "sha256-h+f/ILk6mDzRBW1FI1jFyWxkV3bvrJ/BMsCuuf+E+J0=";
+  vendorHash = "sha256-jNlzsx1QII9UBHQDU7nSzkNLtfbuce4O1AcPaFqtj9c=";
 
   subPackages = [
     "main"
diff --git a/pkgs/development/interpreters/elixir/1.16.nix b/pkgs/development/interpreters/elixir/1.16.nix
index 2f57e371e28b1..2721ddd2207ba 100644
--- a/pkgs/development/interpreters/elixir/1.16.nix
+++ b/pkgs/development/interpreters/elixir/1.16.nix
@@ -1,7 +1,7 @@
 { mkDerivation }:
 mkDerivation {
-  version = "1.16.1";
-  sha256 = "sha256-rjUt3gCUszCbzGE7BriwH3ptrV81dqNB/d0nVOXrcGI=";
+  version = "1.16.2";
+  sha256 = "sha256-NUYYxf73Fuk3FUoVFKTo6IN9QCTvzz5wNshIf/nitJA=";
   # https://hexdocs.pm/elixir/1.16.0/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
   minimumOTPVersion = "24";
   escriptPath = "lib/elixir/scripts/generate_app.escript";
diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix
index 50dd86f7bd86b..281e2c1310b1b 100644
--- a/pkgs/development/interpreters/joker/default.nix
+++ b/pkgs/development/interpreters/joker/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "joker";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "sha256-sueFfR5KVj6HXR+5XWowL0Zjbuu7K+p/+skcTaXlOMc=";
+    sha256 = "sha256-aBZ0KlXWKAF70xFxc+WWXucLPnxyaCxu97IYkPuKcCA=";
   };
 
-  vendorHash = "sha256-rxWYNGFbFUKjy232DOhVlh341GV2VKLngJKM+DEd27o=";
+  vendorHash = "sha256-k17BthjOjZs0WB88AVVIM00HcSZl2S5u8n9eB2NFdrk=";
 
   doCheck = false;
 
diff --git a/pkgs/development/interpreters/luau/default.nix b/pkgs/development/interpreters/luau/default.nix
index 8f1f854c5763b..cf35e85361185 100644
--- a/pkgs/development/interpreters/luau/default.nix
+++ b/pkgs/development/interpreters/luau/default.nix
@@ -1,24 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages }:
 
 stdenv.mkDerivation rec {
   pname = "luau";
-  version = "0.615";
+  version = "0.616";
 
   src = fetchFromGitHub {
     owner = "luau-lang";
     repo = "luau";
     rev = version;
-    hash = "sha256-IwiPUiw3bH+9CzIAJqLjGpIBLQ+T0xW7c4jVXoxVZPc=";
+    hash = "sha256-MmyVBriesSXxMw1KLvRbNhTUKZFCCV3BawAKmGMnhfs=";
   };
 
-  patches = [
-    # Fix linker errors. Remove with the next release.
-    (fetchpatch {
-      url = "https://github.com/luau-lang/luau/commit/9323be6110beda90ef9d9dcb43e49b9acdc224e5.patch";
-      hash = "sha256-/uWXbv3ZSpGJ4Q9MYixz50o5HIp5keSaqMSlOq0TbzE=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   buildInputs = lib.optionals stdenv.cc.isClang [ llvmPackages.libunwind ];
diff --git a/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py b/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
index d4219192790ba..ad679d9f9f99e 100644
--- a/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
+++ b/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts.py
@@ -57,7 +57,8 @@ def find_packages(store_path: Path, site_packages_path: str, parents: List[str])
         with open(propagated_build_inputs, "r") as f:
             build_inputs: List[str] = f.read().strip().split(" ")
             for build_input in build_inputs:
-                find_packages(Path(build_input), site_packages_path, parents + [build_input])
+                if build_input not in parents:
+                    find_packages(Path(build_input), site_packages_path, parents + [build_input])
 
 
 find_packages(out_path, site_packages_path, [f"this derivation: {out_path}"])
diff --git a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
index f3d9235799e01..cba1034e0963d 100644
--- a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
+++ b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook-tests.nix
@@ -78,6 +78,15 @@ in {
       ];
     };
 
+  # multi-output derivation with dependency on itself must not crash
+  cyclic-dependencies =
+    generatePythonPackage {
+      pname = "cyclic-dependencies";
+      preFixup = ''
+        propagatedBuildInputs+=("$out")
+      '';
+    };
+
   # Simplest test case that should trigger a conflict
   catches-simple-conflict = let
     # this build must fail due to conflicts
diff --git a/pkgs/development/interpreters/quickjs/default.nix b/pkgs/development/interpreters/quickjs/default.nix
index 2f548207ea047..040516d6ba798 100644
--- a/pkgs/development/interpreters/quickjs/default.nix
+++ b/pkgs/development/interpreters/quickjs/default.nix
@@ -1,25 +1,23 @@
 { lib
 , stdenv
-, fetchFromGitHub
+, fetchurl
 , texinfo
 }:
 
 stdenv.mkDerivation rec {
   pname = "quickjs";
-  version = "2021-12-09";
+  version = "2024-01-13";
 
-  src = fetchFromGitHub {
-    owner = "bellard";
-    repo = pname;
-    rev = "daa35bc1e5d43192098af9b51caeb4f18f73f9f9";
-    hash = "sha256-BhAsa8tumCQ4jK/TbRbptj2iOIUFFjU1MQYdIrDMpko=";
+  src = fetchurl {
+    url = "https://bellard.org/quickjs/quickjs-${version}.tar.xz";
+    hash = "sha256-PEv4+JW/pUvrSGyNEhgRJ3Hs/FrDvhA2hR70FWghLgM=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace Makefile --replace "CONFIG_LTO=y" ""
   '';
 
-  makeFlags = [ "prefix=${placeholder "out"}" ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/scsh/default.nix b/pkgs/development/interpreters/scsh/default.nix
index 45b59124b7821..b3b7db8537a21 100644
--- a/pkgs/development/interpreters/scsh/default.nix
+++ b/pkgs/development/interpreters/scsh/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, scheme48 }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, scheme48, fetchpatch }:
 
 stdenv.mkDerivation {
   pname = "scsh";
@@ -12,6 +12,15 @@ stdenv.mkDerivation {
     fetchSubmodules = true;
   };
 
+  patches = [
+    # Don't not include util.h if libutil.h is available
+    # https://github.com/scheme/scsh/pull/49
+    (fetchpatch {
+      url = "https://github.com/scheme/scsh/commit/b04e902de983761d7f432b2cfa364ca5d162a364.patch";
+      hash = "sha256-XSHzzCOBkraqW2re1ePoFl9tKQB81iQ0W9wvv83iGdA=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ scheme48 ];
   configureFlags = [ "--with-scheme48=${scheme48}" ];
@@ -22,5 +31,6 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     maintainers = with maintainers; [ joachifm ];
     platforms = with platforms; unix;
+    mainProgram = "scsh";
   };
 }
diff --git a/pkgs/development/libraries/abseil-cpp/202401.nix b/pkgs/development/libraries/abseil-cpp/202401.nix
index f540a7f8260ae..0192241a9de93 100644
--- a/pkgs/development/libraries/abseil-cpp/202401.nix
+++ b/pkgs/development/libraries/abseil-cpp/202401.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "abseil-cpp";
-  version = "20240116.0";
+  version = "20240116.1";
 
   src = fetchFromGitHub {
     owner = "abseil";
     repo = "abseil-cpp";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-HtJh2oYGx87bNT6Ll3WLeYPPxH1f9JwVqCXGErykGnE=";
+    hash = "sha256-D4E11bICKr3Z5RRah7QkfXVsXtuUg32FMmKpiOGjZDM=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index df3d113dfd2cf..0381146988a0b 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -5,7 +5,6 @@
 , pkg-config
 , libdaemon
 , dbus
-, perlPackages
 , libpcap
 , expat
 , gettext
@@ -105,10 +104,7 @@ stdenv.mkDerivation rec {
     expat
     libiconv
     libevent
-  ] ++ (with perlPackages; [
-    perl
-    XMLParser
-  ]) ++ lib.optionals stdenv.isFreeBSD [
+  ] ++ lib.optionals stdenv.isFreeBSD [
     libpcap
   ] ++ lib.optionals gtk3Support [
     gtk3
diff --git a/pkgs/development/libraries/boost-ext/boost-sml/default.nix b/pkgs/development/libraries/boost-ext/boost-sml/default.nix
index 0383adca64a46..7987629b60d3b 100644
--- a/pkgs/development/libraries/boost-ext/boost-sml/default.nix
+++ b/pkgs/development/libraries/boost-ext/boost-sml/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "boost-sml";
-  version = "1.1.9";
+  version = "1.1.11";
 
   src = fetchFromGitHub {
     owner = "boost-ext";
     repo = "sml";
     rev = "v${version}";
-    hash = "sha256-RYgSpnsmgZybpkJALIzxpkDRfe9QF2FHG+nA3msFaK0=";
+    hash = "sha256-/eR/B8rE+mh5zDPjx1kS9nVJf1rCeHP04QDavh6z6fM=";
   };
 
   buildInputs = [ boost ];
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index e18f56fc2f48e..87b86036cff28 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "c-ares";
-  version = "1.26.0";
+  version = "1.27.0";
 
   src = fetchurl {
     url = "https://c-ares.org/download/${pname}-${version}.tar.gz";
-    hash = "sha256-vtWMTwKwCQgOvabCRnukaXIqxq679El9xEqD2MYZTlA=";
+    hash = "sha256-CnK+ZpWZVcQ+KvL70DQY6Cor1UZGBOyaYhR+N6zrQgs=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/catch2/3.nix b/pkgs/development/libraries/catch2/3.nix
index aa8bf62059bd5..403c4f729b059 100644
--- a/pkgs/development/libraries/catch2/3.nix
+++ b/pkgs/development/libraries/catch2/3.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
     cmake
   ];
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   cmakeFlags = [
     "-DCATCH_DEVELOPMENT_BUILD=ON"
     "-DCATCH_BUILD_TESTING=${if doCheck then "ON" else "OFF"}"
diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix
index 4e48536fa3afb..09b15ad4da789 100644
--- a/pkgs/development/libraries/dav1d/default.nix
+++ b/pkgs/development/libraries/dav1d/default.nix
@@ -26,13 +26,13 @@ assert useVulkan -> withExamples;
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "videolan";
     repo = pname;
     rev = version;
-    hash = "sha256-c7Dur+0HpteI7KkR9oo3WynoH/FCRaBwZA7bJmPDJp8=";
+    hash = "sha256-NDv4ZlmrbRoecd0qj/sy+camn4uRTrvte4/84L6oUUg=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index a44501fea081b..2410547e2df60 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -40,7 +40,7 @@
 , withDav1d ? withHeadlessDeps # AV1 decoder (focused on speed and correctness)
 , withDc1394 ? withFullDeps && !stdenv.isDarwin # IIDC-1394 grabbing (ieee 1394)
 , withDrm ? withHeadlessDeps && (with stdenv; isLinux || isFreeBSD) # libdrm support
-, withFdkAac ? withFullDeps && withUnfree # Fraunhofer FDK AAC de/encoder
+, withFdkAac ? withFullDeps && (!withGPL || withUnfree) # Fraunhofer FDK AAC de/encoder
 , withFlite ? withFullDeps # Voice Synthesis
 , withFontconfig ? withHeadlessDeps # Needed for drawtext filter
 , withFreetype ? withHeadlessDeps # Needed for drawtext filter
@@ -63,7 +63,8 @@
 , withOgg ? withHeadlessDeps # Ogg container used by vorbis & theora
 , withOpenal ? withFullDeps # OpenAL 1.1 capture support
 , withOpencl ? withFullDeps
-, withOpencoreAmrnb ? withFullDeps && withVersion3 # AMR-NB de/encoder & AMR-WB decoder
+, withOpencoreAmrnb ? withFullDeps && withVersion3 # AMR-NB de/encoder
+, withOpencoreAmrwb ? withFullDeps && withVersion3 # AMR-WB decoder
 , withOpengl ? false # OpenGL rendering
 , withOpenh264 ? withFullDeps # H.264/AVC encoder
 , withOpenjpeg ? withFullDeps # JPEG 2000 de/encoder
@@ -93,7 +94,7 @@
 , withVoAmrwbenc ? withFullDeps && withVersion3 # AMR-WB encoder
 , withVorbis ? withHeadlessDeps # Vorbis de/encoding, native encoder exists
 , withVpx ? withHeadlessDeps && stdenv.buildPlatform == stdenv.hostPlatform # VP8 & VP9 de/encoding
-, withVulkan ? withFullDeps && !stdenv.isDarwin
+, withVulkan ? withSmallDeps && !stdenv.isDarwin
 , withWebp ? withFullDeps # WebP encoder
 , withX264 ? withHeadlessDeps && withGPL # H.264/AVC encoder
 , withX265 ? withHeadlessDeps && withGPL # H.265/HEVC encoder
@@ -362,6 +363,14 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   patches = map (patch: fetchpatch patch) (extraPatches
+    ++ (lib.optional (lib.versionOlder version "6.1")
+      {
+        # Backport fix for binutils-2.41.
+        name = "binutils-2.41.patch";
+        url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb";
+        hash = "sha256-vlBUMJ1bORQHRNpuzc5iXsTWwS/CN5BmGIA8g7H7mJE=";
+      }
+    )
     ++ (lib.optional (lib.versionAtLeast finalAttrs.version "6" && lib.versionOlder finalAttrs.version "6.1")
       { # this can be removed post 6.1
         name = "fix_aacps_tablegen";
@@ -468,6 +477,7 @@ stdenv.mkDerivation (finalAttrs: {
     (enableFeature withBluray "libbluray")
     (enableFeature withBs2b "libbs2b")
     (enableFeature withBzlib "bzlib")
+    (enableFeature withCaca "libcaca")
     (enableFeature withCelt "libcelt")
     (enableFeature withChromaprint "chromaprint")
     (enableFeature withCuda "cuda")
@@ -478,6 +488,7 @@ stdenv.mkDerivation (finalAttrs: {
     (enableFeature withFdkAac "libfdk-aac")
     (enableFeature withFlite "libflite")
     (enableFeature withFontconfig "fontconfig")
+    (enableFeature withFontconfig "libfontconfig")
     (enableFeature withFreetype "libfreetype")
     (enableFeature withFrei0r "frei0r")
     (enableFeature withFribidi "libfribidi")
@@ -501,6 +512,7 @@ stdenv.mkDerivation (finalAttrs: {
     (enableFeature withOpenal "openal")
     (enableFeature withOpencl "opencl")
     (enableFeature withOpencoreAmrnb "libopencore-amrnb")
+    (enableFeature withOpencoreAmrwb "libopencore-amrwb")
     (enableFeature withOpengl "opengl")
     (enableFeature withOpenh264 "libopenh264")
     (enableFeature withOpenjpeg "libopenjpeg")
@@ -580,7 +592,7 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [ removeReferencesTo addOpenGLRunpath perl pkg-config texinfo yasm ]
   ++ optionals withCudaLLVM [ clang ];
 
-  buildInputs = optionals (withNvdec || withNvenc) [ (if (lib.versionAtLeast finalAttrs.version "6") then nv-codec-headers-12 else nv-codec-headers) ]
+  buildInputs = []
   ++ optionals withAlsa [ alsa-lib ]
   ++ optionals withAom [ libaom ]
   ++ optionals withAribcaption [ libaribcaption ]
@@ -612,10 +624,11 @@ stdenv.mkDerivation (finalAttrs: {
   ++ optionals withModplug [ libmodplug ]
   ++ optionals withMp3lame [ lame ]
   ++ optionals withMysofa [ libmysofa ]
+  ++ optionals (withNvdec || withNvenc) [ (if (lib.versionAtLeast finalAttrs.version "6") then nv-codec-headers-12 else nv-codec-headers) ]
   ++ optionals withOgg [ libogg ]
   ++ optionals withOpenal [ openal ]
   ++ optionals withOpencl [ ocl-icd opencl-headers ]
-  ++ optionals withOpencoreAmrnb [ opencore-amr ]
+  ++ optionals (withOpencoreAmrnb || withOpencoreAmrwb) [ opencore-amr ]
   ++ optionals withOpengl [ libGL libGLU ]
   ++ optionals withOpenh264 [ openh264 ]
   ++ optionals withOpenjpeg [ openjpeg ]
@@ -707,6 +720,10 @@ stdenv.mkDerivation (finalAttrs: {
   postFixup = optionalString (stdenv.isLinux && withLib) ''
     addOpenGLRunpath ${placeholder "lib"}/lib/libavcodec.so
     addOpenGLRunpath ${placeholder "lib"}/lib/libavutil.so
+  ''
+  # https://trac.ffmpeg.org/ticket/10809
+  + optionalString (versionAtLeast version "5.0" && withVulkan) ''
+    patchelf $lib/lib/libavcodec.so --add-needed libvulkan.so --add-rpath ${lib.makeLibraryPath [ vulkan-loader ]}
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/fmt/default.nix b/pkgs/development/libraries/fmt/default.nix
index e2677bdea25d0..4dd6d86fdaeb4 100644
--- a/pkgs/development/libraries/fmt/default.nix
+++ b/pkgs/development/libraries/fmt/default.nix
@@ -67,7 +67,7 @@ in
   };
 
   fmt_10 = generic {
-    version = "10.1.1";
-    sha256 = "sha256-H9+1lEaHM12nzXSmo9m8S6527t+97e6necayyjCPm1A=";
+    version = "10.2.1";
+    sha256 = "sha256-pEltGLAHLZ3xypD/Ur4dWPWJ9BGVXwqQyKcDWVmC3co=";
   };
 }
diff --git a/pkgs/development/libraries/freetts/default.nix b/pkgs/development/libraries/freetts/default.nix
index 06535c087dc66..698a7f6a28ac7 100644
--- a/pkgs/development/libraries/freetts/default.nix
+++ b/pkgs/development/libraries/freetts/default.nix
@@ -1,29 +1,53 @@
-{stdenv, fetchurl, apacheAnt, unzip, sharutils, lib, jdk}:
+{ lib
+, stdenv
+, fetchzip
+, ant
+, jdk8
+, sharutils
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "freetts";
   version = "1.2.2";
-  src = fetchurl {
-    url = "mirror://sourceforge/freetts/${pname}-${version}-src.zip";
-    sha256 = "0mnikqhpf4f4jdr0irmibr8yy0dnffx1i257y22iamxi7a6by2r7";
+
+  src = fetchzip {
+    url = "mirror://sourceforge/freetts/${finalAttrs.pname}-${finalAttrs.version}-src.zip";
+    hash = "sha256-+bhM0ErEZVnmcz5CBqn/AeGaOhKnCjZzGeqgO/89wms=";
+    stripRoot = false;
   };
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [ apacheAnt sharutils jdk ];
-  unpackPhase = ''
-    unzip $src -x META-INF/*
+
+  nativeBuildInputs = [
+    ant
+    jdk8
+    sharutils
+  ];
+
+  sourceRoot = "${finalAttrs.src.name}/freetts-${finalAttrs.version}";
+
+  postPatch = ''
+    # Fix jar timestamps for reproducibility
+    substituteInPlace build.xml demo.xml \
+        --replace-fail '<jar ' '<jar modificationtime="0" '
   '';
 
   buildPhase = ''
-    cd */lib
+    runHook preBuild
+
+    pushd lib
     sed -i -e "s/more/cat/" jsapi.sh
     echo y | sh jsapi.sh
-    cd ..
+    popd
+
     ln -s . src
     ant
+
+    runHook postBuild
   '';
+
   installPhase = ''
-    install -v -m755 -d $out/{lib,docs/{audio,images}}
-    install -v -m644 lib/*.jar $out/lib
+    runHook preInstall
+    install -Dm644 lib/*.jar -t $out/lib
+    runHook postInstall
   '';
 
   meta = {
@@ -32,8 +56,12 @@ stdenv.mkDerivation rec {
       Text to speech system based on Festival written in Java.
       Can be used in combination with KDE accessibility.
     '';
-    license = "GPL";
     homepage = "http://freetts.sourceforge.net";
-    maintainers = [ lib.maintainers.sander ];
+    license = lib.licenses.bsdOriginal;
+    maintainers = with lib.maintainers; [ sander ];
+    sourceProvenance = with lib.sourceTypes; [
+      fromSource
+      binaryBytecode # jsapi.jar is bundled in a self-extracting shell-script
+    ];
   };
-}
+})
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 2a1bae9cf41b1..9a5569cd1543b 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -2,6 +2,7 @@
 , lib
 , stdenv
 , fetchurl
+, fetchpatch
 , gettext
 , meson
 , ninja
@@ -63,6 +64,12 @@ stdenv.mkDerivation (finalAttrs: {
     ./quark_init_on_demand.patch
     ./gobject_init_on_demand.patch
   ] ++ [
+    (fetchpatch {
+      name = "GLib-against-PCRE2-10.43.patch";
+      url = "https://gitlab.gnome.org/GNOME/glib/-/commit/cce3ae98a2c1966719daabff5a4ec6cf94a846f6.patch";
+      hash = "sha256-vgKzb5hQmFQGD8zxRrXnuX9Gpg/TeSrzehlOH2vA1xU=";
+    })
+
     ./glib-appinfo-watch.patch
     ./schema-override-variable.patch
 
diff --git a/pkgs/development/libraries/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix
index 6cdc54acd290b..9b13a780250f3 100644
--- a/pkgs/development/libraries/gnome-online-accounts/default.nix
+++ b/pkgs/development/libraries/gnome-online-accounts/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
-, fetchFromGitLab
+, fetchurl
+, fetchpatch
 , pkg-config
 , vala
 , glib
@@ -30,20 +31,25 @@
 , wrapGAppsHook
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-online-accounts";
   version = "3.48.0";
 
   outputs = [ "out" "dev" ] ++ lib.optionals enableBackend [ "man" "devdoc" ];
 
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = "gnome-online-accounts";
-    rev = version;
-    sha256 = "sha256-USl0Qay9pSgbbp3n/L8eBaRQwaBYledht5j+afmo++o=";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-online-accounts/${lib.versions.majorMinor finalAttrs.version}/gnome-online-accounts-${finalAttrs.version}.tar.xz";
+    hash = "sha256-QYu5/P/b1yqYIFrTZRN2F/weNVGlTedPapjUXSZhdb8=";
   };
 
+  patches = [
+    # Fix crash with EWS and libxml2.12.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/commit/b9638e2418408be4906752297e700506766dcf20.patch";
+      hash = "sha256-l9+qS9WF3RuG9NtQQzSjpFSLNJV4FkXxOsLKYbINqrQ=";
+    })
+  ];
+
   mesonFlags = [
     "-Dfedora=false" # not useful in NixOS or for NixOS users.
     "-Dgoabackend=${lib.boolToString enableBackend}"
@@ -91,7 +97,7 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       versionPolicy = "odd-unstable";
-      packageName = pname;
+      packageName = "gnome-online-accounts";
     };
   };
 
@@ -102,4 +108,4 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl2Plus;
     maintainers = teams.gnome.members;
   };
-}
+})
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 86b22eb7cfd7c..3bef1d935564a 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -106,6 +106,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   buildInputs = [ lzo lzip libtasn1 libidn2 zlib gmp libunistring unbound gettext libiconv ]
     ++ lib.optional (withP11-kit) p11-kit
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers;
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index f6dec8b7b1b4c..ba1a4a8c123ec 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc";
-  version = "1.61.1"; # N.B: if you change this, please update:
+  version = "1.62.0"; # N.B: if you change this, please update:
     # pythonPackages.grpcio-tools
     # pythonPackages.grpcio-status
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-vrLkiNnsW6IpZNGhs6iZgEhdlV9Qpg8PLMDG2BKY2wo=";
+    hash = "sha256-iqoxgo/oocO9gBq0o5bmZvre/EwRguMrWnmwvyLGLr8=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/gstreamer/core/setup-hook.sh b/pkgs/development/libraries/gstreamer/core/setup-hook.sh
index 026a4e5f55a00..43d839eac7a72 100644
--- a/pkgs/development/libraries/gstreamer/core/setup-hook.sh
+++ b/pkgs/development/libraries/gstreamer/core/setup-hook.sh
@@ -1,9 +1,8 @@
 addGstreamer1LibPath () {
     if test -d "$1/lib/gstreamer-1.0"
     then
-        export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0-}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0"
+        addToSearchPath GST_PLUGIN_SYSTEM_PATH_1_0 "$1/lib/gstreamer-1.0"
     fi
 }
 
 addEnvHooks "$hostOffset" addGstreamer1LibPath
-
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 1935061e3c4b1..fbb79028bdaf7 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv
 , fetchurl
-, fetchpatch
+, substituteAll
 , meson
 , nasm
 , ninja
@@ -24,9 +24,10 @@
 , gdk-pixbuf
 , aalib
 , libcaca
-, libsoup
+, libsoup_3
 , libpulseaudio
 , libintl
+, libxml2
 , Cocoa
 , lame
 , mpg123
@@ -63,6 +64,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-JpWfz+v/9jfU6gjvQDFrrzG2G7dymCCwaE6ADDoUeLY=";
   };
 
+  patches = [
+    # dlopen libsoup_3 with an absolute path
+    (substituteAll {
+      src = ./souploader.diff;
+      nixLibSoup3Path = "${lib.getLib libsoup_3}/lib";
+    })
+  ];
+
   strictDeps = true;
 
   depsBuildBuild = [ pkg-config ];
@@ -102,8 +111,9 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     aalib
     libcaca
-    libsoup
+    libsoup_3
     libshout
+    libxml2
     lame
     mpg123
     twolame
diff --git a/pkgs/development/libraries/gstreamer/good/souploader.diff b/pkgs/development/libraries/gstreamer/good/souploader.diff
new file mode 100644
index 0000000000000..8662207de8f2f
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/good/souploader.diff
@@ -0,0 +1,13 @@
+diff --git a/ext/soup/gstsouploader.c b/ext/soup/gstsouploader.c
+index 85048ce303..d7d818cf95 100644
+--- a/ext/soup/gstsouploader.c
++++ b/ext/soup/gstsouploader.c
+@@ -181,7 +181,7 @@ gst_soup_load_library (void)
+       GST_DEBUG ("LibSoup 2 found");
+     } else {
+       GST_DEBUG ("Trying all libsoups");
+-      libsoup_sonames[0] = LIBSOUP_3_SONAME;
++      libsoup_sonames[0] = "@nixLibSoup3Path@/" LIBSOUP_3_SONAME;
+       libsoup_sonames[1] = LIBSOUP_2_SONAME;
+     }
+ 
diff --git a/pkgs/development/libraries/imath/default.nix b/pkgs/development/libraries/imath/default.nix
index 79b91afcd529f..ae7bbe2fba3fc 100644
--- a/pkgs/development/libraries/imath/default.nix
+++ b/pkgs/development/libraries/imath/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imath";
-  version = "3.1.10";
+  version = "3.1.11";
 
   src = fetchFromGitHub {
     owner = "AcademySoftwareFoundation";
     repo = "imath";
     rev = "v${version}";
-    sha256 = "sha256-Of/F2FfSvVnhrafRqAyV/2VZpRtDN5Pg5AnUAgL3wiM=";
+    sha256 = "sha256-Cnl0BTXUzkDvgLSNXJbh5ATczBdbxiwbS4J9L6N8sKI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index c46d69efbdc8f..ad11285ab3484 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -22,7 +22,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libadwaita";
-  version = "1.4.3";
+  version = "1.4.4";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "GNOME";
     repo = "libadwaita";
     rev = finalAttrs.version;
-    hash = "sha256-ctHAN0SY6k68jaBpmIpMm8DngC9DPiL1vAmGhECpNic=";
+    hash = "sha256-AZP5OH/LIroBeKioe7AIVx0FvFdTpWJ1INdRPZcjmHQ=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/libbacktrace/0001-libbacktrace-avoid-libtool-wrapping-tests.patch b/pkgs/development/libraries/libbacktrace/0001-libbacktrace-avoid-libtool-wrapping-tests.patch
index 3ee3198cb2291..61fd56ee08809 100644
--- a/pkgs/development/libraries/libbacktrace/0001-libbacktrace-avoid-libtool-wrapping-tests.patch
+++ b/pkgs/development/libraries/libbacktrace/0001-libbacktrace-avoid-libtool-wrapping-tests.patch
@@ -1,4 +1,4 @@
-From 1cf6b108882669f1b20c18fb5f2d6dff0fc83296 Mon Sep 17 00:00:00 2001
+From eadfee17e7d3a1c1bb2a0ff8585772b40331ebd7 Mon Sep 17 00:00:00 2001
 From: Jan Tojnar <jtojnar@gmail.com>
 Date: Sat, 24 Dec 2022 15:31:51 +0100
 Subject: [PATCH 1/4] libbacktrace: avoid libtool wrapping tests
@@ -21,7 +21,7 @@ https://autotools.info/libtool/wrappers.html
  1 file changed, 23 insertions(+), 5 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index c53cbae..6eab991 100644
+index 3d67909..06ccf3f 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -107,6 +107,8 @@ check_DATA =
@@ -90,7 +90,7 @@ index c53cbae..6eab991 100644
  unittest_LDADD = libbacktrace.la
  
  BUILDTESTS += unittest
-@@ -253,7 +263,7 @@ if HAVE_OBJCOPY_DEBUGLINK
+@@ -254,7 +264,7 @@ if HAVE_OBJCOPY_DEBUGLINK
  
  b2test_SOURCES = $(btest_SOURCES)
  b2test_CFLAGS = $(libbacktrace_TEST_CFLAGS)
@@ -99,7 +99,7 @@ index c53cbae..6eab991 100644
  b2test_LDADD = libbacktrace_elf_for_test.la
  
  check_PROGRAMS += b2test
-@@ -263,7 +273,7 @@ if HAVE_DWZ
+@@ -264,7 +274,7 @@ if HAVE_DWZ
  
  b3test_SOURCES = $(btest_SOURCES)
  b3test_CFLAGS = $(libbacktrace_TEST_CFLAGS)
@@ -108,7 +108,7 @@ index c53cbae..6eab991 100644
  b3test_LDADD = libbacktrace_elf_for_test.la
  
  check_PROGRAMS += b3test
-@@ -276,6 +286,7 @@ endif HAVE_ELF
+@@ -278,6 +288,7 @@ endif HAVE_ELF
  
  btest_SOURCES = btest.c testlib.c
  btest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -O
@@ -116,7 +116,7 @@ index c53cbae..6eab991 100644
  btest_LDADD = libbacktrace.la
  
  BUILDTESTS += btest
-@@ -330,6 +341,7 @@ endif HAVE_DWZ
+@@ -332,6 +343,7 @@ endif HAVE_DWZ
  
  stest_SOURCES = stest.c
  stest_CFLAGS = $(libbacktrace_TEST_CFLAGS)
@@ -124,7 +124,7 @@ index c53cbae..6eab991 100644
  stest_LDADD = libbacktrace.la
  
  BUILDTESTS += stest
-@@ -352,6 +364,7 @@ if HAVE_ELF
+@@ -354,6 +366,7 @@ if HAVE_ELF
  
  ztest_SOURCES = ztest.c testlib.c
  ztest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -DSRCDIR=\"$(srcdir)\"
@@ -132,7 +132,7 @@ index c53cbae..6eab991 100644
  ztest_LDADD = libbacktrace.la
  ztest_alloc_LDADD = libbacktrace_alloc.la
  
-@@ -371,6 +384,7 @@ BUILDTESTS += ztest_alloc
+@@ -373,6 +386,7 @@ BUILDTESTS += ztest_alloc
  
  zstdtest_SOURCES = zstdtest.c testlib.c
  zstdtest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -DSRCDIR=\"$(srcdir)\"
@@ -140,7 +140,7 @@ index c53cbae..6eab991 100644
  zstdtest_LDADD = libbacktrace.la
  zstdtest_alloc_LDADD = libbacktrace_alloc.la
  
-@@ -392,6 +406,7 @@ endif HAVE_ELF
+@@ -394,6 +408,7 @@ endif HAVE_ELF
  
  edtest_SOURCES = edtest.c edtest2_build.c testlib.c
  edtest_CFLAGS = $(libbacktrace_TEST_CFLAGS)
@@ -148,7 +148,7 @@ index c53cbae..6eab991 100644
  edtest_LDADD = libbacktrace.la
  
  BUILDTESTS += edtest
-@@ -422,6 +437,7 @@ BUILDTESTS += ttest
+@@ -424,6 +439,7 @@ BUILDTESTS += ttest
  
  ttest_SOURCES = ttest.c testlib.c
  ttest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -pthread
@@ -156,7 +156,7 @@ index c53cbae..6eab991 100644
  ttest_LDADD = libbacktrace.la
  
  if USE_DSYMUTIL
-@@ -460,12 +476,12 @@ if HAVE_COMPRESSED_DEBUG
+@@ -472,12 +488,12 @@ if HAVE_COMPRESSED_DEBUG
  
  ctestg_SOURCES = btest.c testlib.c
  ctestg_CFLAGS = $(libbacktrace_TEST_CFLAGS)
@@ -171,7 +171,7 @@ index c53cbae..6eab991 100644
  ctesta_LDADD = libbacktrace.la
  
  BUILDTESTS += ctestg ctesta
-@@ -474,7 +490,7 @@ if HAVE_COMPRESSED_DEBUG_ZSTD
+@@ -486,7 +502,7 @@ if HAVE_COMPRESSED_DEBUG_ZSTD
  
  ctestzstd_SOURCES = btest.c testlib.c
  ctestzstd_CFLAGS = $(libbacktrace_TEST_CFLAGS)
@@ -180,7 +180,7 @@ index c53cbae..6eab991 100644
  ctestzstd_LDADD = libbacktrace.la
  
  BUILDTESTS += ctestzstd
-@@ -521,6 +537,7 @@ endif
+@@ -533,6 +549,7 @@ endif
  
  mtest_SOURCES = mtest.c testlib.c
  mtest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -O
@@ -188,7 +188,7 @@ index c53cbae..6eab991 100644
  mtest_LDADD = libbacktrace.la
  
  BUILDTESTS += mtest
-@@ -553,6 +570,7 @@ if HAVE_ELF
+@@ -565,6 +582,7 @@ if HAVE_ELF
  
  xztest_SOURCES = xztest.c testlib.c
  xztest_CFLAGS = $(libbacktrace_TEST_CFLAGS) -DSRCDIR=\"$(srcdir)\"
@@ -197,5 +197,5 @@ index c53cbae..6eab991 100644
  
  xztest_alloc_SOURCES = $(xztest_SOURCES)
 -- 
-2.38.1
+2.43.1
 
diff --git a/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch b/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch
index 37da7ef4d964c..ee6063875091c 100644
--- a/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch
+++ b/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch
@@ -1,4 +1,4 @@
-From f409ee343fe6cdc059bb411746f27a515aec66a8 Mon Sep 17 00:00:00 2001
+From 2ceaa9bc8a9a0c8a02806a92e19bd21b3fccf3a0 Mon Sep 17 00:00:00 2001
 From: Jan Tojnar <jtojnar@gmail.com>
 Date: Sat, 24 Dec 2022 16:46:18 +0100
 Subject: [PATCH 2/4] libbacktrace: Allow configuring debug dir
@@ -14,13 +14,13 @@ the path can be changed. The same flag is supported by gdb:
 
 https://github.com/bminor/binutils-gdb/blob/095f84c7e3cf85cd68c657c46b80be078f336bc9/gdb/configure.ac#L113-L115
 ---
- Makefile.am  | 11 ++++++-----
+ Makefile.am  | 13 +++++++------
  configure.ac |  8 ++++++++
  elf.c        |  4 ++--
- 3 files changed, 16 insertions(+), 7 deletions(-)
+ 3 files changed, 17 insertions(+), 8 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 6eab991..da443c1 100644
+index 06ccf3f..6304faa 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -33,7 +33,8 @@ ACLOCAL_AMFLAGS = -I config
@@ -53,7 +53,7 @@ index 6eab991..da443c1 100644
  	$(SED) "s%$$SEARCH%$$REPLACE%" \
  		$< \
  		> $@.tmp
-@@ -468,7 +469,7 @@ endif HAVE_OBJCOPY_DEBUGLINK
+@@ -474,13 +475,13 @@ endif HAVE_OBJCOPY_DEBUGLINK
  
  %_buildid: %
  	./install-debuginfo-for-buildid.sh \
@@ -62,8 +62,15 @@ index 6eab991..da443c1 100644
  	  $<
  	$(OBJCOPY) --strip-debug $< $@
  
+ %_buildidfull: %
+ 	./install-debuginfo-for-buildid.sh \
+-	  "$(TEST_BUILD_ID_DIR)" \
++	  "$(TEST_DEBUG_DIR)/.build-id" \
+ 	  $<
+ 	$(OBJCOPY) --strip-all $< $@
+ 
 diff --git a/configure.ac b/configure.ac
-index 7f122cb..bb590ab 100644
+index 69304ea..aeb2ee9 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -67,6 +67,14 @@ AM_MAINTAINER_MODE
@@ -82,7 +89,7 @@ index 7f122cb..bb590ab 100644
  # the wrong, non-multilib-adjusted value will be used in multilibs.
  # As a side effect, we have to subst CFLAGS ourselves.
 diff --git a/elf.c b/elf.c
-index e82ecc5..8b1189c 100644
+index 3ef07bb..21fbe4f 100644
 --- a/elf.c
 +++ b/elf.c
 @@ -856,7 +856,7 @@ elf_readlink (struct backtrace_state *state, const char *filename,
@@ -104,5 +111,5 @@ index e82ecc5..8b1189c 100644
    const char * const suffix = ".debug";
    const size_t suffix_len = strlen (suffix);
 -- 
-2.38.1
+2.43.1
 
diff --git a/pkgs/development/libraries/libbacktrace/0003-libbacktrace-Support-multiple-build-id-directories.patch b/pkgs/development/libraries/libbacktrace/0003-libbacktrace-Support-multiple-build-id-directories.patch
index f223217a83130..7b8f8f0f61dc5 100644
--- a/pkgs/development/libraries/libbacktrace/0003-libbacktrace-Support-multiple-build-id-directories.patch
+++ b/pkgs/development/libraries/libbacktrace/0003-libbacktrace-Support-multiple-build-id-directories.patch
@@ -1,4 +1,4 @@
-From de122af5382d8017cae63bdee946206c6c6c23ab Mon Sep 17 00:00:00 2001
+From 47c3503938c863d55c835463d8815b5fa4ab8326 Mon Sep 17 00:00:00 2001
 From: Jan Tojnar <jtojnar@gmail.com>
 Date: Sat, 24 Dec 2022 20:19:27 +0100
 Subject: [PATCH 3/4] libbacktrace: Support multiple build id directories
@@ -16,7 +16,7 @@ to debug data installed using distribution’s package manager.
  1 file changed, 36 insertions(+), 21 deletions(-)
 
 diff --git a/elf.c b/elf.c
-index 8b1189c..65c647a 100644
+index 21fbe4f..ccffa95 100644
 --- a/elf.c
 +++ b/elf.c
 @@ -865,12 +865,12 @@ elf_readlink (struct backtrace_state *state, const char *filename,
@@ -34,7 +34,7 @@ index 8b1189c..65c647a 100644
    const size_t prefix_len = strlen (prefix);
    const char * const suffix = ".debug";
    const size_t suffix_len = strlen (suffix);
-@@ -6936,27 +6936,42 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor,
+@@ -6947,27 +6947,42 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor,
    if (buildid_data != NULL)
      {
        int d;
@@ -53,9 +53,9 @@ index 8b1189c..65c647a 100644
 -	    elf_release_view (state, &debuglink_view, error_callback, data);
 -	  if (debugaltlink_view_valid)
 -	    elf_release_view (state, &debugaltlink_view, error_callback, data);
--	  ret = elf_add (state, "", d, NULL, 0, base_address, error_callback,
--			 data, fileline_fn, found_sym, found_dwarf, NULL, 0,
--			 1, NULL, 0);
+-	  ret = elf_add (state, "", d, NULL, 0, base_address, opd,
+-			 error_callback, data, fileline_fn, found_sym,
+-			 found_dwarf, NULL, 0, 1, NULL, 0);
 -	  if (ret < 0)
 -	    backtrace_close (d, error_callback, data);
 -	  else if (descriptor >= 0)
@@ -81,9 +81,9 @@ index 8b1189c..65c647a 100644
 +              elf_release_view (state, &debuglink_view, error_callback, data);
 +            if (debugaltlink_view_valid)
 +              elf_release_view (state, &debugaltlink_view, error_callback, data);
-+            ret = elf_add (state, "", d, NULL, 0, base_address, error_callback,
-+                           data, fileline_fn, found_sym, found_dwarf, NULL, 0,
-+                           1, NULL, 0);
++            ret = elf_add (state, "", d, NULL, 0, base_address, opd,
++                           error_callback, data, fileline_fn, found_sym,
++                           found_dwarf, NULL, 0, 1, NULL, 0);
 +            if (ret < 0)
 +              backtrace_close (d, error_callback, data);
 +            else if (descriptor >= 0)
@@ -97,5 +97,5 @@ index 8b1189c..65c647a 100644
  
    if (buildid_view_valid)
 -- 
-2.38.1
+2.43.1
 
diff --git a/pkgs/development/libraries/libbacktrace/0004-libbacktrace-Support-NIX_DEBUG_INFO_DIRS-environment.patch b/pkgs/development/libraries/libbacktrace/0004-libbacktrace-Support-NIX_DEBUG_INFO_DIRS-environment.patch
index 9abbbedb9eaab..2da495e955216 100644
--- a/pkgs/development/libraries/libbacktrace/0004-libbacktrace-Support-NIX_DEBUG_INFO_DIRS-environment.patch
+++ b/pkgs/development/libraries/libbacktrace/0004-libbacktrace-Support-NIX_DEBUG_INFO_DIRS-environment.patch
@@ -1,4 +1,4 @@
-From a3b7510e4c9e7201a4301f2a45d8569b06354607 Mon Sep 17 00:00:00 2001
+From 884ef7c843be906d62e4240c2a0e885dcd5a5726 Mon Sep 17 00:00:00 2001
 From: Jan Tojnar <jtojnar@gmail.com>
 Date: Sat, 24 Dec 2022 20:30:22 +0100
 Subject: [PATCH 4/4] libbacktrace: Support NIX_DEBUG_INFO_DIRS environment
@@ -13,10 +13,10 @@ Let’s make debug data lookup work on NixOS just like in gdb.
  1 file changed, 9 insertions(+), 2 deletions(-)
 
 diff --git a/elf.c b/elf.c
-index 65c647a..5c8abc0 100644
+index ccffa95..e86950d 100644
 --- a/elf.c
 +++ b/elf.c
-@@ -6935,11 +6935,18 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor,
+@@ -6946,11 +6946,18 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor,
  
    if (buildid_data != NULL)
      {
@@ -38,5 +38,5 @@ index 65c647a..5c8abc0 100644
        debug_dir = strtok (debug_directories, ":");
        while (debug_dir != NULL)
 -- 
-2.38.1
+2.43.1
 
diff --git a/pkgs/development/libraries/libbacktrace/default.nix b/pkgs/development/libraries/libbacktrace/default.nix
index 288185f92281d..32c199a57c4e5 100644
--- a/pkgs/development/libraries/libbacktrace/default.nix
+++ b/pkgs/development/libraries/libbacktrace/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation {
   pname = "libbacktrace";
-  version = "unstable-2023-11-30";
+  version = "0-unstable-2024-03-02";
 
   src = fetchFromGitHub {
     owner = "ianlancetaylor";
     repo = "libbacktrace";
-    rev = "14818b7783eeb9a56c3f0fca78cefd3143f8c5f6";
-    sha256 = "DQZQsqzeQ/0v87bfqs6sXqS2M5Tunc1OydTWRSB3PCw=";
+    rev = "28824f2cc9069e3fdc39d3702acdf753e35c41b4";
+    sha256 = "1k1O1GT22hZAWPF8NYP0y4qe+e3pGfzT9Mz2TH+H/v4=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libcbor/default.nix b/pkgs/development/libraries/libcbor/default.nix
index 43a73d374ea56..349f4589172a8 100644
--- a/pkgs/development/libraries/libcbor/default.nix
+++ b/pkgs/development/libraries/libcbor/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , cmocka
 
@@ -14,28 +13,17 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libcbor";
-  version = "0.10.2";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "PJK";
     repo = "libcbor";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-eE11hYPsOKqfoX8fx/oYfOAichhUe4mMpNQNVZ6vAUI=";
+    hash = "sha256-N1xYkZw/6lX/nX/TE6/pVuEFgSyDiUJ50msK42NrKwI=";
   };
 
   outputs = [ "out" "dev" ];
 
-  patches = [
-    # Pull fix pending upstream inclusion to support
-    # `CMAKE_INSTALL_INCLUDEDIR`:
-    #   https://github.com/PJK/libcbor/pull/297
-    (fetchpatch {
-      name = "includedir.patch";
-      url = "https://github.com/PJK/libcbor/commit/d00a63e6d6858a2ed6be9b431b42799ed2c99ad8.patch";
-      hash = "sha256-kBCSbAHOCGOs/4Yu6Vh0jcmzA/jYPkkPXPGPrptRfyk=";
-    })
-  ];
-
   strictDeps = true;
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/development/libraries/libdeltachat/Cargo.lock b/pkgs/development/libraries/libdeltachat/Cargo.lock
index 551b2d30e951f..ae5294d3104f7 100644
--- a/pkgs/development/libraries/libdeltachat/Cargo.lock
+++ b/pkgs/development/libraries/libdeltachat/Cargo.lock
@@ -32,9 +32,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aes"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
+checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
 dependencies = [
  "cfg-if",
  "cipher",
@@ -43,9 +43,9 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.6"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
  "once_cell",
@@ -115,15 +115,15 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
 dependencies = [
  "backtrace",
 ]
@@ -159,7 +159,7 @@ dependencies = [
  "num-traits",
  "rusticata-macros",
  "thiserror",
- "time 0.3.30",
+ "time 0.3.34",
 ]
 
 [[package]]
@@ -198,12 +198,12 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "2.1.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 4.0.0",
+ "event-listener 5.2.0",
  "event-listener-strategy",
  "futures-core",
  "pin-project-lite",
@@ -224,12 +224,12 @@ dependencies = [
 
 [[package]]
 name = "async-imap"
-version = "0.9.4"
+version = "0.9.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d736a74edf6c327b53dd9c932eae834253470ac5f0c55770e7e133bcbf986362"
+checksum = "98892ebee4c05fc66757e600a7466f0d9bfcde338f645d64add323789f26cb36"
 dependencies = [
- "async-channel 2.1.1",
- "base64 0.21.5",
+ "async-channel 2.2.0",
+ "base64 0.21.7",
  "bytes",
  "chrono",
  "futures",
@@ -284,13 +284,13 @@ dependencies = [
 
 [[package]]
 name = "async-trait"
-version = "0.1.74"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -315,19 +315,20 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "axum"
-version = "0.6.20"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
+checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e"
 dependencies = [
  "async-trait",
  "axum-core",
- "base64 0.21.5",
- "bitflags 1.3.2",
+ "base64 0.21.7",
  "bytes",
  "futures-util",
- "http",
- "http-body",
- "hyper",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "http-body-util",
+ "hyper 1.2.0",
+ "hyper-util",
  "itoa",
  "matchit",
  "memchr",
@@ -346,23 +347,28 @@ dependencies = [
  "tower",
  "tower-layer",
  "tower-service",
+ "tracing",
 ]
 
 [[package]]
 name = "axum-core"
-version = "0.3.4"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
+checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3"
 dependencies = [
  "async-trait",
  "bytes",
  "futures-util",
- "http",
- "http-body",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "http-body-util",
  "mime",
+ "pin-project-lite",
  "rustversion",
+ "sync_wrapper",
  "tower-layer",
  "tower-service",
+ "tracing",
 ]
 
 [[package]]
@@ -412,9 +418,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base64ct"
@@ -445,9 +451,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "blake3"
@@ -522,9 +528,9 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.8.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
 dependencies = [
  "memchr",
  "serde",
@@ -532,25 +538,24 @@ dependencies = [
 
 [[package]]
 name = "buffer-redux"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2886ea01509598caac116942abd33ab5a88fa32acdf7e4abfa0fc489ca520c9"
+checksum = "4c9f8ddd22e0a12391d1e7ada69ec3b0da1914f1cec39c5cf977143c5b2854f5"
 dependencies = [
  "memchr",
- "safemem",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 
 [[package]]
 name = "byteorder"
@@ -585,9 +590,9 @@ dependencies = [
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.5"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff"
+checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f"
 dependencies = [
  "serde",
 ]
@@ -656,23 +661,23 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "js-sys",
  "num-traits",
  "wasm-bindgen",
- "windows-targets",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
 name = "ciborium"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
 dependencies = [
  "ciborium-io",
  "ciborium-ll",
@@ -681,15 +686,15 @@ dependencies = [
 
 [[package]]
 name = "ciborium-io"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
 
 [[package]]
 name = "ciborium-ll"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
 dependencies = [
  "ciborium-io",
  "half",
@@ -707,18 +712,18 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.10"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272"
+checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
 dependencies = [
  "clap_builder",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.4.9"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1"
+checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
 dependencies = [
  "anstyle",
  "clap_lex",
@@ -732,13 +737,11 @@ checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 
 [[package]]
 name = "clipboard-win"
-version = "4.5.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
+checksum = "12f9a0700e0127ba15d1d52dd742097f821cd9c65939303a44d970465040a297"
 dependencies = [
  "error-code",
- "str-buf",
- "winapi",
 ]
 
 [[package]]
@@ -755,18 +758,18 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
 name = "concurrent-queue"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "const-oid"
-version = "0.9.5"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "const_format"
@@ -824,9 +827,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -839,9 +842,9 @@ checksum = "fd121741cf3eb82c08dd3023eb55bf2665e5f60ec20f89760cf836ae4562e6a0"
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
@@ -886,36 +889,34 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
 name = "crypto-bigint"
@@ -966,9 +967,9 @@ dependencies = [
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.1.1"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -989,7 +990,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1087,20 +1088,21 @@ dependencies = [
 
 [[package]]
 name = "deltachat"
-version = "1.131.9"
+version = "1.136.3"
 dependencies = [
  "ansi_term",
  "anyhow",
- "async-channel 2.1.1",
+ "async-channel 2.2.0",
  "async-imap",
  "async-native-tls",
  "async-smtp",
  "async_zip",
  "backtrace",
- "base64 0.21.5",
+ "base64 0.21.7",
  "brotli",
  "chrono",
  "criterion",
+ "deltachat-time",
  "deltachat_derive",
  "email",
  "encoded-words",
@@ -1125,6 +1127,7 @@ dependencies = [
  "num-traits",
  "num_cpus",
  "once_cell",
+ "openssl-src",
  "parking_lot",
  "percent-encoding",
  "pgp",
@@ -1134,6 +1137,7 @@ dependencies = [
  "proptest",
  "qrcodegen",
  "quick-xml",
+ "quoted_printable",
  "rand 0.8.5",
  "ratelimit",
  "regex",
@@ -1165,12 +1169,12 @@ dependencies = [
 
 [[package]]
 name = "deltachat-jsonrpc"
-version = "1.131.9"
+version = "1.136.3"
 dependencies = [
  "anyhow",
- "async-channel 2.1.1",
+ "async-channel 2.2.0",
  "axum",
- "base64 0.21.5",
+ "base64 0.21.7",
  "deltachat",
  "env_logger",
  "futures",
@@ -1189,7 +1193,7 @@ dependencies = [
 
 [[package]]
 name = "deltachat-repl"
-version = "1.131.9"
+version = "1.136.3"
 dependencies = [
  "ansi_term",
  "anyhow",
@@ -1204,7 +1208,7 @@ dependencies = [
 
 [[package]]
 name = "deltachat-rpc-server"
-version = "1.131.9"
+version = "1.136.3"
 dependencies = [
  "anyhow",
  "deltachat",
@@ -1220,16 +1224,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "deltachat-time"
+version = "1.0.0"
+
+[[package]]
 name = "deltachat_derive"
 version = "2.0.0"
 dependencies = [
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "deltachat_ffi"
-version = "1.131.9"
+version = "1.136.3"
 dependencies = [
  "anyhow",
  "deltachat",
@@ -1296,9 +1304,9 @@ dependencies = [
 
 [[package]]
 name = "deranged"
-version = "0.3.9"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
  "powerfmt",
 ]
@@ -1411,7 +1419,7 @@ dependencies = [
  "libc",
  "option-ext",
  "redox_users",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -1433,7 +1441,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1460,10 +1468,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "dsa"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48bc224a9084ad760195584ce5abb3c2c34a225fa312a128ad245a6b412b7689"
+dependencies = [
+ "digest 0.10.7",
+ "num-bigint-dig",
+ "num-traits",
+ "pkcs8 0.10.2",
+ "rfc6979 0.4.0",
+ "sha2 0.10.8",
+ "signature 2.2.0",
+ "zeroize",
+]
+
+[[package]]
 name = "dyn-clone"
-version = "1.0.16"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d"
+checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
 
 [[package]]
 name = "ecdsa"
@@ -1488,7 +1512,7 @@ dependencies = [
  "elliptic-curve 0.13.8",
  "rfc6979 0.4.0",
  "signature 2.2.0",
- "spki 0.7.2",
+ "spki 0.7.3",
 ]
 
 [[package]]
@@ -1528,11 +1552,11 @@ dependencies = [
 
 [[package]]
 name = "ed25519-dalek"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
 dependencies = [
- "curve25519-dalek 4.1.1",
+ "curve25519-dalek 4.1.2",
  "ed25519 2.2.3",
  "serde",
  "sha2 0.10.8",
@@ -1554,9 +1578,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "elliptic-curve"
@@ -1600,8 +1624,8 @@ dependencies = [
 
 [[package]]
 name = "email"
-version = "0.0.21"
-source = "git+https://github.com/deltachat/rust-email?branch=master#37778c89d5eb5a94b7983f3f37ff67769bde3cf9"
+version = "0.0.20"
+source = "git+https://github.com/deltachat/rust-email?branch=master#5179cd68db44101ee3d3df7bfef96f014507352b"
 dependencies = [
  "base64 0.11.0",
  "chrono",
@@ -1609,7 +1633,6 @@ dependencies = [
  "encoding",
  "lazy_static",
  "rand 0.7.3",
- "time 0.1.45",
  "version_check",
 ]
 
@@ -1727,7 +1750,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -1740,14 +1763,14 @@ dependencies = [
  "num-traits",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -1764,23 +1787,19 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "error-code"
-version = "2.3.1"
+version = "3.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
-dependencies = [
- "libc",
- "str-buf",
-]
+checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b"
 
 [[package]]
 name = "escaper"
@@ -1799,9 +1818,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "4.0.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1810,11 +1829,11 @@ dependencies = [
 
 [[package]]
 name = "event-listener-strategy"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
 dependencies = [
- "event-listener 4.0.0",
+ "event-listener 5.2.0",
  "pin-project-lite",
 ]
 
@@ -1832,11 +1851,12 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
 
 [[package]]
 name = "fast-socks5"
-version = "0.8.2"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "961ce1761191c157145a8c9f0c3ceabecd3a729d65c9a8d443674eaee3420f7e"
+checksum = "cbcc731f3c17a5053e07e6a2290918da75cd8b9b1217b419721f715674ac520c"
 dependencies = [
  "anyhow",
+ "async-trait",
  "log",
  "thiserror",
  "tokio",
@@ -1860,20 +1880,20 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fd-lock"
-version = "3.0.13"
+version = "4.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5"
+checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947"
 dependencies = [
  "cfg-if",
  "rustix",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "fdeflate"
-version = "0.3.1"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
@@ -1900,20 +1920,20 @@ dependencies = [
 
 [[package]]
 name = "fiat-crypto"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
+checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382"
 
 [[package]]
 name = "filetime"
-version = "0.2.22"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.3.5",
- "windows-sys",
+ "redox_syscall 0.4.1",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1928,14 +1948,13 @@ dependencies = [
 
 [[package]]
 name = "flume"
-version = "0.10.14"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
  "futures-core",
  "futures-sink",
  "nanorand",
- "pin-project",
  "spin 0.9.8",
 ]
 
@@ -1962,9 +1981,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1975,9 +1994,9 @@ version = "1.0.0"
 
 [[package]]
 name = "futures"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1990,9 +2009,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -2000,15 +2019,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -2017,52 +2036,51 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
-version = "2.0.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
 dependencies = [
  "fastrand",
  "futures-core",
  "futures-io",
- "memchr",
  "parking",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "futures-macro"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2100,9 +2118,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -2113,9 +2131,9 @@ dependencies = [
 
 [[package]]
 name = "gif"
-version = "0.12.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
+checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
 dependencies = [
  "color_quant",
  "weezl",
@@ -2151,16 +2169,35 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.22"
+version = "0.3.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http 0.2.12",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "h2"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
+checksum = "31d030e59af851932b72ceebadf4a2b5986dba4c3b99dd2493f8273a0f151943"
 dependencies = [
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
  "futures-util",
- "http",
+ "http 1.1.0",
  "indexmap",
  "slab",
  "tokio",
@@ -2170,9 +2207,13 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "1.8.2"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
 
 [[package]]
 name = "hashbrown"
@@ -2186,9 +2227,9 @@ dependencies = [
 
 [[package]]
 name = "hashlink"
-version = "0.8.4"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
+checksum = "692eaaf7f7607518dd3cef090f1474b61edc5301d8012f09579920df68b725ee"
 dependencies = [
  "hashbrown",
 ]
@@ -2201,9 +2242,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -2224,7 +2265,7 @@ dependencies = [
  "futures-channel",
  "futures-io",
  "futures-util",
- "idna",
+ "idna 0.4.0",
  "ipnet",
  "once_cell",
  "rand 0.8.5",
@@ -2258,9 +2299,9 @@ dependencies = [
 
 [[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -2276,11 +2317,11 @@ dependencies = [
 
 [[package]]
 name = "home"
-version = "0.5.5"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2296,9 +2337,20 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
 dependencies = [
  "bytes",
  "fnv",
@@ -2307,12 +2359,35 @@ dependencies = [
 
 [[package]]
 name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+dependencies = [
+ "bytes",
+ "http 0.2.12",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "http-body"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
+dependencies = [
+ "bytes",
+ "http 1.1.0",
+]
+
+[[package]]
+name = "http-body-util"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840"
 dependencies = [
  "bytes",
- "http",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
  "pin-project-lite",
 ]
 
@@ -2330,9 +2405,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "human-panic"
-version = "1.2.2"
+version = "1.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a79a67745be0cb8dd2771f03b24c2f25df98d5471fe7a595d668cfa2e6f843d"
+checksum = "c4f016c89920bbb30951a8405ecacbb4540db5524313b9445736e7e1855cf370"
 dependencies = [
  "backtrace",
  "os_info",
@@ -2359,22 +2434,22 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
  "bytes",
  "futures-channel",
  "futures-core",
  "futures-util",
- "h2",
- "http",
- "http-body",
+ "h2 0.3.24",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "httparse",
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.10",
+ "socket2",
  "tokio",
  "tower-service",
  "tracing",
@@ -2382,23 +2457,59 @@ dependencies = [
 ]
 
 [[package]]
+name = "hyper"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-util",
+ "h2 0.4.2",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "smallvec",
+ "tokio",
+]
+
+[[package]]
 name = "hyper-tls"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
 dependencies = [
  "bytes",
- "hyper",
+ "hyper 0.14.28",
  "native-tls",
  "tokio",
  "tokio-native-tls",
 ]
 
 [[package]]
+name = "hyper-util"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
+dependencies = [
+ "bytes",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "hyper 1.2.0",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+]
+
+[[package]]
 name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -2443,34 +2554,44 @@ dependencies = [
 ]
 
 [[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
 name = "image"
-version = "0.24.7"
+version = "0.24.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
  "gif",
  "jpeg-decoder",
- "num-rational",
  "num-traits",
  "png",
 ]
 
 [[package]]
 name = "imap-proto"
-version = "0.16.3"
-source = "git+https://github.com/djc/tokio-imap.git?rev=01ff256a7e42a9f7d2732706f8b71a16ce93427e#01ff256a7e42a9f7d2732706f8b71a16ce93427e"
+version = "0.16.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22e70cd66882c8cb1c9802096ba75212822153c51478dc61621e1a22f6c92361"
 dependencies = [
  "nom",
 ]
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -2491,9 +2612,9 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
 dependencies = [
- "socket2 0.5.5",
+ "socket2",
  "widestring",
- "windows-sys",
+ "windows-sys 0.48.0",
  "winreg",
 ]
 
@@ -2506,11 +2627,12 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 [[package]]
 name = "iroh"
 version = "0.4.2"
-source = "git+https://github.com/n0-computer/iroh?branch=maint-0.4#9881b7886235035a1124e4371f7a4cd59379e51b"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85075391dcb8491a4939266334b28601052d418b37d20b33c58ffb5776adc912"
 dependencies = [
  "abao",
  "anyhow",
- "base64 0.21.5",
+ "base64 0.21.7",
  "blake3",
  "bytes",
  "default-net",
@@ -2548,16 +2670,22 @@ dependencies = [
 
 [[package]]
 name = "is-terminal"
-version = "0.4.9"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
 dependencies = [
  "hermit-abi",
- "rustix",
- "windows-sys",
+ "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
+name = "iter-read"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a598c1abae8e3456ebda517868b254b6bc2a9bb6501ffd5b9d0875bf332e048b"
+
+[[package]]
 name = "itertools"
 version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2568,26 +2696,40 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 
 [[package]]
 name = "js-sys"
-version = "0.3.65"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
+name = "k256"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b"
+dependencies = [
+ "cfg-if",
+ "ecdsa 0.16.9",
+ "elliptic-curve 0.13.8",
+ "once_cell",
+ "sha2 0.10.8",
+ "signature 2.2.0",
+]
+
+[[package]]
 name = "kamadak-exif"
 version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2598,9 +2740,9 @@ dependencies = [
 
 [[package]]
 name = "keccak"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940"
+checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
 dependencies = [
  "cpufeatures",
 ]
@@ -2640,9 +2782,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.150"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libm"
@@ -2656,16 +2798,16 @@ version = "0.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libc",
  "redox_syscall 0.4.1",
 ]
 
 [[package]]
 name = "libsqlite3-sys"
-version = "0.27.0"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
+checksum = "0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f"
 dependencies = [
  "cc",
  "openssl-sys",
@@ -2681,9 +2823,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.11"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
@@ -2697,9 +2839,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lru-cache"
@@ -2712,9 +2854,9 @@ dependencies = [
 
 [[package]]
 name = "mailparse"
-version = "0.14.0"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b56570f5f8c0047260d1c8b5b331f62eb9c660b9dd4071a8c46f8c7d3f280aa"
+checksum = "2d096594926cab442e054e047eb8c1402f7d5b2272573b97ba68aa40629f9757"
 dependencies = [
  "charset",
  "data-encoding",
@@ -2760,18 +2902,9 @@ checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1"
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
-
-[[package]]
-name = "memoffset"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
-dependencies = [
- "autocfg",
-]
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "mime"
@@ -2787,9 +2920,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
  "simd-adler32",
@@ -2797,13 +2930,13 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.9"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -2818,7 +2951,7 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
 ]
 
 [[package]]
@@ -2899,11 +3032,11 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.26.4"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "cfg-if",
  "libc",
 ]
@@ -2967,42 +3100,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
 name = "num-derive"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "num-integer"
-version = "0.1.45"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
  "num-traits",
 ]
 
 [[package]]
 name = "num-iter"
-version = "0.1.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-rational"
-version = "0.4.1"
+version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -3011,9 +3138,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
  "libm",
@@ -3030,10 +3157,31 @@ dependencies = [
 ]
 
 [[package]]
+name = "num_enum"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
 name = "object"
-version = "0.32.1"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
@@ -3049,9 +3197,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "oorandom"
@@ -3061,17 +3209,17 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
 
 [[package]]
 name = "opaque-debug"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
 
 [[package]]
 name = "openssl"
-version = "0.10.60"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -3088,7 +3236,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -3108,9 +3256,9 @@ dependencies = [
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.96"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
  "cc",
  "libc",
@@ -3214,7 +3362,7 @@ dependencies = [
  "libc",
  "redox_syscall 0.4.1",
  "smallvec",
- "windows-targets",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -3258,12 +3406,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pgp"
-version = "0.10.2"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27e1f8e085bfa9b85763fe3ddaacbe90a09cd847b3833129153a6cb063bbe132"
+checksum = "031fa1e28c4cb54c90502ef0642a44ef10ec8349349ebe6372089f1b1ef4f297"
 dependencies = [
  "aes",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bitfield",
  "block-padding",
  "blowfish",
@@ -3275,28 +3423,32 @@ dependencies = [
  "cfb-mode",
  "chrono",
  "cipher",
+ "const-oid",
  "crc24",
- "curve25519-dalek 4.1.1",
+ "curve25519-dalek 4.1.2",
  "derive_builder",
  "des",
  "digest 0.10.7",
- "ed25519-dalek 2.1.0",
+ "dsa",
+ "ed25519-dalek 2.1.1",
  "elliptic-curve 0.13.8",
  "flate2",
  "generic-array",
  "hex",
  "idea",
+ "iter-read",
+ "k256",
  "log",
  "md-5",
  "nom",
  "num-bigint-dig",
- "num-derive",
  "num-traits",
+ "num_enum",
  "p256 0.13.2",
  "p384 0.13.0",
  "rand 0.8.5",
  "ripemd",
- "rsa 0.9.5",
+ "rsa 0.9.6",
  "sha1",
  "sha2 0.10.8",
  "sha3",
@@ -3310,22 +3462,22 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -3360,7 +3512,7 @@ checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
 dependencies = [
  "der 0.7.8",
  "pkcs8 0.10.2",
- "spki 0.7.2",
+ "spki 0.7.3",
 ]
 
 [[package]]
@@ -3380,20 +3532,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
 dependencies = [
  "der 0.7.8",
- "spki 0.7.2",
+ "spki 0.7.3",
 ]
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "platforms"
-version = "3.2.0"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
 
 [[package]]
 name = "plotters"
@@ -3425,9 +3577,9 @@ dependencies = [
 
 [[package]]
 name = "png"
-version = "0.17.10"
+version = "0.17.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -3438,9 +3590,9 @@ dependencies = [
 
 [[package]]
 name = "portable-atomic"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
 
 [[package]]
 name = "postcard"
@@ -3508,6 +3660,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.1",
+]
+
+[[package]]
 name = "proc-macro-error"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3533,9 +3694,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -3546,7 +3707,7 @@ version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "lazy_static",
  "num-traits",
  "rand 0.8.5",
@@ -3564,9 +3725,9 @@ checksum = "4339fc7a1021c9c1621d87f5e3505f2805c8c105420ba2f2a4df86814590c142"
 
 [[package]]
 name = "quic-rpc"
-version = "0.6.1"
+version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d60c2fc2390baad4b9d41ae9957ae88c3095496f88e252ef50722df8b5b78d7"
+checksum = "1428fcf30c17a159ff10c1f3c69fca92fd7cfa11e9fef7d573f3c6f0da3b5920"
 dependencies = [
  "bincode",
  "educe",
@@ -3639,25 +3800,25 @@ checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7"
 dependencies = [
  "bytes",
  "libc",
- "socket2 0.5.5",
+ "socket2",
  "tracing",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "quoted_printable"
-version = "0.4.8"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49"
+checksum = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0"
 
 [[package]]
 name = "radix_trie"
@@ -3728,7 +3889,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
 ]
 
 [[package]]
@@ -3755,9 +3916,9 @@ version = "1.0.0"
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd"
 dependencies = [
  "either",
  "rayon-core",
@@ -3765,9 +3926,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -3781,7 +3942,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b"
 dependencies = [
  "pem",
  "ring 0.16.20",
- "time 0.3.30",
+ "time 0.3.34",
  "yasna",
 ]
 
@@ -3809,20 +3970,20 @@ version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.6",
  "regex-syntax 0.8.2",
 ]
 
@@ -3837,9 +3998,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3860,19 +4021,19 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "reqwest"
-version = "0.11.22"
+version = "0.11.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
+checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
  "futures-util",
- "h2",
- "http",
- "http-body",
- "hyper",
+ "h2 0.3.24",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
  "hyper-tls",
  "ipnet",
  "js-sys",
@@ -3882,9 +4043,11 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
+ "rustls-pemfile",
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
  "tokio-native-tls",
@@ -3944,16 +4107,17 @@ dependencies = [
 
 [[package]]
 name = "ring"
-version = "0.17.5"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
- "getrandom 0.2.11",
+ "cfg-if",
+ "getrandom 0.2.12",
  "libc",
  "spin 0.9.8",
  "untrusted 0.9.0",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3988,9 +4152,9 @@ dependencies = [
 
 [[package]]
 name = "rsa"
-version = "0.9.5"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af6c4b23d99685a1408194da11270ef8e9809aff951cc70ec9b17350b087e474"
+checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
 dependencies = [
  "const-oid",
  "digest 0.10.7",
@@ -4001,18 +4165,18 @@ dependencies = [
  "pkcs8 0.10.2",
  "rand_core 0.6.4",
  "signature 2.2.0",
- "spki 0.7.2",
+ "spki 0.7.3",
  "subtle",
  "zeroize",
 ]
 
 [[package]]
 name = "rusqlite"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d"
+checksum = "b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "fallible-iterator",
  "fallible-streaming-iterator",
  "hashlink",
@@ -4058,24 +4222,24 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.25"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "errno",
  "libc",
  "linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustls"
-version = "0.21.9"
+version = "0.21.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
+checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
 dependencies = [
- "ring 0.17.5",
+ "ring 0.17.8",
  "rustls-webpki",
  "sct",
 ]
@@ -4098,7 +4262,7 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
 ]
 
 [[package]]
@@ -4107,7 +4271,7 @@ version = "0.101.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 dependencies = [
- "ring 0.17.5",
+ "ring 0.17.8",
  "untrusted 0.9.0",
 ]
 
@@ -4119,11 +4283,11 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "rustyline"
-version = "12.0.0"
+version = "13.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "994eca4bca05c87e86e15d90fc7a91d1be64b4482b38cb2d27474568fe7c9db9"
+checksum = "02a2d683a4ac90aeef5b1013933f6d977bd37d51ff3f4dad829d4931a7e6be86"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cfg-if",
  "clipboard-win",
  "fd-lock",
@@ -4133,7 +4297,6 @@ dependencies = [
  "memchr",
  "nix",
  "radix_trie",
- "scopeguard",
  "unicode-segmentation",
  "unicode-width",
  "utf8parse",
@@ -4142,15 +4305,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
-
-[[package]]
-name = "safemem"
-version = "0.3.3"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "same-file"
@@ -4173,11 +4330,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4216,7 +4373,7 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
- "ring 0.17.5",
+ "ring 0.17.8",
  "untrusted 0.9.0",
 ]
 
@@ -4273,24 +4430,24 @@ dependencies = [
 
 [[package]]
 name = "self_cell"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e388332cd64eb80cd595a00941baf513caffae8dce9cfd0467fc9c66397dade6"
+checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.193"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
@@ -4306,22 +4463,22 @@ dependencies = [
 
 [[package]]
 name = "serde_bytes"
-version = "0.11.12"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff"
+checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.193"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -4337,9 +4494,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.108"
+version = "1.0.114"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
 dependencies = [
  "itoa",
  "ryu",
@@ -4348,9 +4505,9 @@ dependencies = [
 
 [[package]]
 name = "serde_path_to_error"
-version = "0.1.14"
+version = "0.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335"
+checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c"
 dependencies = [
  "itoa",
  "serde",
@@ -4358,9 +4515,9 @@ dependencies = [
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.4"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
@@ -4488,9 +4645,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "smawk"
@@ -4500,22 +4657,12 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
 
 [[package]]
 name = "socket2"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "socket2"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
 dependencies = [
  "libc",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4545,9 +4692,9 @@ dependencies = [
 
 [[package]]
 name = "spki"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
 dependencies = [
  "base64ct",
  "der 0.7.8",
@@ -4595,12 +4742,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "str-buf"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
-
-[[package]]
 name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4608,21 +4749,21 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "strum"
-version = "0.25.0"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
+checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f"
 
 [[package]]
 name = "strum_macros"
-version = "0.25.3"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
+checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -4644,9 +4785,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.39"
+version = "2.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
+checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4714,31 +4855,30 @@ checksum = "094c9f64d6de9a8506b1e49b63a29333b37ed9e821ee04be694d431b3264c3c5"
 
 [[package]]
 name = "tempfile"
-version = "3.8.1"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
  "fastrand",
- "redox_syscall 0.4.1",
  "rustix",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "testdir"
-version = "0.8.1"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "480060a2e7e1d3c779d3dea588a81c0df78b6a6322b7ce25c0d2ec14a0d5d869"
+checksum = "ee79e927b64d193f5abb60d20a0eb56be0ee5a242fdeb8ce3bf054177006de52"
 dependencies = [
  "anyhow",
  "backtrace",
@@ -4750,9 +4890,9 @@ dependencies = [
 
 [[package]]
 name = "textwrap"
-version = "0.16.0"
+version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
 dependencies = [
  "smawk",
  "unicode-linebreak",
@@ -4761,29 +4901,29 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.50"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.50"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.1.7"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
 dependencies = [
  "cfg-if",
  "once_cell",
@@ -4802,12 +4942,13 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.30"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
  "deranged",
  "itoa",
+ "num-conv",
  "powerfmt",
  "serde",
  "time-core",
@@ -4822,10 +4963,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
@@ -4856,9 +4998,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.34.0"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes",
@@ -4868,9 +5010,9 @@ dependencies = [
  "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.5",
+ "socket2",
  "tokio-macros",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -4891,7 +5033,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -4947,9 +5089,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-tungstenite"
-version = "0.20.1"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
+checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38"
 dependencies = [
  "futures-util",
  "log",
@@ -4973,14 +5115,14 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.8"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.22.6",
 ]
 
 [[package]]
@@ -4994,15 +5136,26 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.21.0"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.5",
 ]
 
 [[package]]
@@ -5053,7 +5206,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -5107,20 +5260,20 @@ dependencies = [
 
 [[package]]
 name = "try-lock"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "tungstenite"
-version = "0.20.1"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
+checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
 dependencies = [
  "byteorder",
  "bytes",
  "data-encoding",
- "http",
+ "http 1.1.0",
  "httparse",
  "log",
  "rand 0.8.5",
@@ -5147,9 +5300,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "typescript-type-def"
-version = "0.5.9"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a548b68faefac1ef83c3682cece0046b4f3efc943a067aacb4dfb99be299f60"
+checksum = "19d9560109be8840693dcb09ed745851f3713bee7b23534b8cab65b7ff9383f1"
 dependencies = [
  "serde_json",
  "typescript-type-def-derive",
@@ -5157,9 +5310,9 @@ dependencies = [
 
 [[package]]
 name = "typescript-type-def-derive"
-version = "0.5.9"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f205a929a19c5dd74f80c9f795c33b4416f7efef7d7b2772f0eff96bdd71c35"
+checksum = "2835fe6badda3e20a012d19d6593ded0fc11f659d5d5152394061ffbb03b4b04"
 dependencies = [
  "darling 0.13.4",
  "ident_case",
@@ -5177,9 +5330,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -5195,18 +5348,18 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-width"
@@ -5234,12 +5387,12 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
- "idna",
+ "idna 0.5.0",
  "percent-encoding",
 ]
 
@@ -5257,11 +5410,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "serde",
 ]
 
@@ -5285,9 +5438,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -5321,10 +5474,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
+name = "wasite"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
+
+[[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -5332,24 +5491,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.38"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -5359,9 +5518,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -5369,28 +5528,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "web-sys"
-version = "0.3.65"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -5398,17 +5557,18 @@ dependencies = [
 
 [[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "whoami"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
+checksum = "0fec781d48b41f8163426ed18e8fc2864c12937df9ce54c88ede7bd47270893e"
 dependencies = [
- "wasm-bindgen",
+ "redox_syscall 0.4.1",
+ "wasite",
  "web-sys",
 ]
 
@@ -5464,11 +5624,11 @@ dependencies = [
 
 [[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -5477,7 +5637,16 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -5486,22 +5655,43 @@ version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm",
+ "windows_aarch64_gnullvm 0.48.5",
  "windows_aarch64_msvc 0.48.5",
  "windows_i686_gnu 0.48.5",
  "windows_i686_msvc 0.48.5",
  "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm",
+ "windows_x86_64_gnullvm 0.48.5",
  "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5514,6 +5704,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5526,6 +5722,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5538,6 +5740,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5550,12 +5758,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5568,10 +5788,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+
+[[package]]
+name = "winnow"
+version = "0.5.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "winnow"
-version = "0.5.19"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
 dependencies = [
  "memchr",
 ]
@@ -5583,16 +5818,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
 dependencies = [
  "cfg-if",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "x25519-dalek"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
 dependencies = [
- "curve25519-dalek 4.1.1",
+ "curve25519-dalek 4.1.2",
  "rand_core 0.6.4",
  "serde",
  "zeroize",
@@ -5613,16 +5848,18 @@ dependencies = [
  "oid-registry",
  "rusticata-macros",
  "thiserror",
- "time 0.3.30",
+ "time 0.3.34",
 ]
 
 [[package]]
 name = "xattr"
-version = "1.0.1"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
+ "linux-raw-sys",
+ "rustix",
 ]
 
 [[package]]
@@ -5637,14 +5874,14 @@ version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd"
 dependencies = [
- "time 0.3.30",
+ "time 0.3.34",
 ]
 
 [[package]]
 name = "yerpc"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75b5547af776328f66a5476ea3b7c0789e6fed164eb32d1a2122cfb39ffa505d"
+checksum = "31978be1300d9d078f34ebb05660fbf3b5114611316a4777bb9ce269a7a33f38"
 dependencies = [
  "anyhow",
  "async-channel 1.9.0",
@@ -5665,9 +5902,9 @@ dependencies = [
 
 [[package]]
 name = "yerpc_derive"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f321bb5f728fb066af06c5a994e4375f1f8b054ee6d650766f0bd68dfa4faefe"
+checksum = "0e510aa045bc7be964b982c68f001933fce4fbe609bb98de60068fa8cefe6308"
 dependencies = [
  "convert_case 0.5.0",
  "darling 0.14.4",
@@ -5678,22 +5915,22 @@ dependencies = [
 
 [[package]]
 name = "zerocopy"
-version = "0.7.27"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43de342578a3a14a9314a2dab1942cbfcbe5686e1f91acdc513058063eafe18"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.27"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1012d89e3acb79fad7a799ce96866cfb8098b74638465ea1b1533d35900ca90"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -5713,5 +5950,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.52",
 ]
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index 0d7b96562104a..75ba9ab621b2f 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -23,22 +23,20 @@ let
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "email-0.0.21" = "sha256-u4CsK/JqFgq5z3iJGxxGtb7QbSkOAqmOvrmagsqfXIU=";
+      "email-0.0.20" = "sha256-rV4Uzqt2Qdrfi5Ti1r+Si1c2iW1kKyWLwOgLkQ5JGGw=";
       "encoded-words-0.2.0" = "sha256-KK9st0hLFh4dsrnLd6D8lC6pRFFs8W+WpZSGMGJcosk=";
-      "imap-proto-0.16.3" = "sha256-okIHA8MQ1K/tcKHZYGh83zom1ULGHZ/KGxgcwiE1+sE=";
-      "iroh-0.4.2" = "sha256-VXNMmj+AvlY/W2JRWMICoNOqpFEahsUDxypHRg185Ao=";
       "lettre-0.9.2" = "sha256-+hU1cFacyyeC9UGVBpS14BWlJjHy90i/3ynMkKAzclk=";
     };
   };
 in stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.131.9";
+  version = "1.136.3";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = "v${version}";
-    hash = "sha256-xZai5RsrfT6bYzMpNdKncmDzBzcAcEtZZmh7f+3g5Hs=";
+    hash = "sha256-/ZWpPpxnOCLGswrfbEPvfUn1LpdBQeR5LecRAB0PEhI=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
deleted file mode 100644
index 97636e36e8481..0000000000000
--- a/pkgs/development/libraries/libedit/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib, stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation rec {
-  pname = "libedit";
-  version = "20230828-3.1";
-
-  src = fetchurl {
-    url = "https://thrysoee.dk/editline/${pname}-${version}.tar.gz";
-    sha256 = "sha256-TugYK25WkpDn0fRPD3jayHFrNfZWt2Uo9pnGnJiBTa0=";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
-  # NROFF = "${groff}/bin/nroff";
-
-  # GCC automatically include `stdc-predefs.h` while Clang does not do
-  # this by default. While Musl is ISO 10646 compliant, doesn't define
-  # __STDC_ISO_10646__. This definition is in `stdc-predefs.h` that's
-  # why libedit builds just fine with GCC and Musl.
-  # There is a DR to fix this issue with Clang which is not merged
-  # yet.
-  # https://reviews.llvm.org/D137043
-  env.NIX_CFLAGS_COMPILE =
-    lib.optionalString (stdenv.targetPlatform.isMusl && stdenv.cc.isClang)
-      "-D__STDC_ISO_10646__=201103L";
-
-  patches = [ ./01-cygwin.patch ];
-
-  propagatedBuildInputs = [ ncurses ];
-
-  postInstall = ''
-    find $out/lib -type f | grep '\.\(la\|pc\)''$' | xargs sed -i \
-      -e 's,-lncurses[a-z]*,-L${ncurses.out}/lib -lncursesw,g'
-  '';
-
-  meta = with lib; {
-    homepage = "http://www.thrysoee.dk/editline/";
-    description = "A port of the NetBSD Editline library (libedit)";
-    license = licenses.bsd3;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/liberfa/default.nix b/pkgs/development/libraries/liberfa/default.nix
index b59d3aab4a336..612d5ec34b782 100644
--- a/pkgs/development/libraries/liberfa/default.nix
+++ b/pkgs/development/libraries/liberfa/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "erfa";
-  version = "2.0.0";
+  version = "2.0.1";
 
   nativeBuildInputs = [ autoreconfHook ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "liberfa";
     repo = "erfa";
     rev = "v${version}";
-    sha256 = "sha256-xBE8mWwmvlu0v3Up5y6J8jMhToMSACdKeQzPJoG8LWk=";
+    sha256 = "sha256-NtHYgiN5mo3kWC2H+5TUDbU1nFrwuhNyOIhg2jZbssM=";
   };
 
   configureFlags = [ "--enable-shared" ];
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index ac910dc3d6490..edd16ec21506e 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libffi";
-  version = "3.4.4";
+  version = "3.4.6";
 
   src = fetchurl {
     url = with finalAttrs; "https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-1mxWrSWags8qnfxAizK/XaUjcVALhHRff7i2RXEt9nY=";
+    hash = "sha256-sN6p3yPIY6elDoJUQPPr/6vWXfFJcQjl1Dd0eEOJWk4=";
   };
 
   # Note: this package is used for bootstrapping fetchurl, and thus
@@ -23,9 +23,6 @@ stdenv.mkDerivation (finalAttrs: {
   # cgit) that are needed here should be included directly in Nixpkgs as
   # files.
   patches = [
-    # Fix implicit function declarations (clang-16 build failure):
-    #     https://github.com/libffi/libffi/pull/764
-    ./fix-implicit-fun-decl.patch
   ];
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/libffi/fix-implicit-fun-decl.patch b/pkgs/development/libraries/libffi/fix-implicit-fun-decl.patch
deleted file mode 100644
index c0bd32d4333cf..0000000000000
--- a/pkgs/development/libraries/libffi/fix-implicit-fun-decl.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://github.com/libffi/libffi/commit/ce077e5565366171aa1b4438749b0922fce887a4.patch
-
-From ce077e5565366171aa1b4438749b0922fce887a4 Mon Sep 17 00:00:00 2001
-From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
-Date: Thu, 2 Feb 2023 14:46:29 +0000
-Subject: [PATCH] Forward declare open_temp_exec_file (#764)
-
-It's defined in closures.c and used in tramp.c.
-Also declare it as an hidden symbol, as it should be.
-
-Co-authored-by: serge-sans-paille <sguelton@mozilla.com>
----
- include/ffi_common.h | 4 ++++
- src/tramp.c          | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/include/ffi_common.h b/include/ffi_common.h
-index 2bd31b03d..c53a79493 100644
---- a/include/ffi_common.h
-+++ b/include/ffi_common.h
-@@ -128,6 +128,10 @@ void *ffi_data_to_code_pointer (void *data) FFI_HIDDEN;
-    static trampoline. */
- int ffi_tramp_is_present (void *closure) FFI_HIDDEN;
- 
-+/* Return a file descriptor of a temporary zero-sized file in a
-+   writable and executable filesystem. */
-+int open_temp_exec_file(void) FFI_HIDDEN;
-+
- /* Extended cif, used in callback from assembly routine */
- typedef struct
- {
-diff --git a/src/tramp.c b/src/tramp.c
-index 7e005b054..5f19b557f 100644
---- a/src/tramp.c
-+++ b/src/tramp.c
-@@ -39,6 +39,10 @@
- #ifdef __linux__
- #define _GNU_SOURCE 1
- #endif
-+
-+#include <ffi.h>
-+#include <ffi_common.h>
-+
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index eec93fa111696..bd3ece4235993 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libgsf";
-  version = "1.14.51";
+  version = "1.14.52";
 
   outputs = [ "out" "dev" ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libgsf";
     rev = "LIBGSF_${lib.replaceStrings ["."] ["_"] version}";
-    hash = "sha256-iJcfR+iy1bbRkh+yCAEhY5ks8V6vXIPH7namZSvP98c=";
+    hash = "sha256-uSi2/pZiST07YutU8SHNoY2LifEQhohQeyaH9spyG2s=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libheif/default.nix b/pkgs/development/libraries/libheif/default.nix
index d14df84d3483c..cdff03fc09aec 100644
--- a/pkgs/development/libraries/libheif/default.nix
+++ b/pkgs/development/libraries/libheif/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, autoreconfHook
+, cmake
 , pkg-config
 , dav1d
 , rav1e
@@ -22,7 +22,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libheif";
-  version = "1.15.2";
+  version = "1.17.6";
 
   outputs = [ "bin" "out" "dev" "man" ];
 
@@ -30,12 +30,12 @@ stdenv.mkDerivation rec {
     owner = "strukturag";
     repo = "libheif";
     rev = "v${version}";
-    sha256 = "sha256-VbMBZ17leGezng2FYKgiSq04Se0PT0a3WqjM6xZ3zS4=";
+    sha256 = "sha256-pp+PjV/pfExLqzFE61mxliOtVAYOePh1+i1pwZxDLAM=";
   };
 
   nativeBuildInputs = [
-    autoreconfHook
     pkg-config
+    cmake
   ];
 
   buildInputs = [
@@ -49,11 +49,15 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
   ];
 
-  enableParallelBuilding = true;
-
   # Fix installation path for gdk-pixbuf module
   PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${placeholder "out"}/${gdk-pixbuf.moduleDir}";
 
+  # Wrong include path in .cmake.  It's a bit difficult to patch because of special characters.
+  postFixup = ''
+    sed '/^  INTERFACE_INCLUDE_DIRECTORIES/s|"[^"]*/include"|"${placeholder "dev"}/include"|' \
+      -i "$dev"/lib/cmake/libheif/libheif-config.cmake
+  '';
+
   passthru.tests = {
     inherit gimp imagemagick imlib2Full imv vips;
   };
diff --git a/pkgs/development/libraries/libmicrohttpd/0.9.77.nix b/pkgs/development/libraries/libmicrohttpd/0.9.77.nix
new file mode 100644
index 0000000000000..189b691e0b60e
--- /dev/null
+++ b/pkgs/development/libraries/libmicrohttpd/0.9.77.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchurl }:
+
+callPackage ./generic.nix ( rec {
+  version = "0.9.77";
+
+  src = fetchurl {
+    url = "mirror://gnu/libmicrohttpd/libmicrohttpd-${version}.tar.gz";
+    hash = "sha256-nnAjoVESAGDSgGpupME8qZM+zk6s/FyUZNIO3dt2sKA=";
+  };
+})
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index e960c8d1bf481..c424879a81911 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   buildInputs = [ libmnl ];
   propagatedBuildInputs = [ libnfnetlink ];
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 3c5b5c489c077..514b8c05177b3 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsecret";
-  version = "0.21.3";
+  version = "0.21.4";
 
   outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    hash = "sha256-mj4lcfEEgDXYAjj1LIdgEliEpDuvilgP7bclDBrQqec=";
+    hash = "sha256-Fj0I14O+bUq5qXnOtaT+y8HZZg08NBaMWBMBzVORKyA=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/mesa/backport-radeon-crash-fix.patch b/pkgs/development/libraries/mesa/backport-radeon-crash-fix.patch
new file mode 100644
index 0000000000000..62915abcf242a
--- /dev/null
+++ b/pkgs/development/libraries/mesa/backport-radeon-crash-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+index 2e1d9c488e2..7979cad75fa 100644
+--- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
++++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+@@ -729,7 +729,7 @@ bool radeon_bo_can_reclaim_slab(void *priv, struct pb_slab_entry *entry)
+ {
+    struct radeon_bo *bo = container_of(entry, struct radeon_bo, u.slab.entry);
+ 
+-   return radeon_bo_can_reclaim(NULL, &bo->base);
++   return radeon_bo_can_reclaim(priv, &bo->base);
+ }
+ 
+ static void radeon_bo_slab_destroy(void *winsys, struct pb_buffer_lean *_buf)
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index dff2f0021d468..a40f5c6b15e49 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -3,7 +3,7 @@
 , intltool, bison, flex, file, python3Packages, wayland-scanner
 , expat, libdrm, xorg, wayland, wayland-protocols, openssl
 , llvmPackages, libffi, libomxil-bellagio, libva-minimal
-, libelf, libvdpau
+, elfutils, libvdpau
 , libglvnd, libunwind, lm_sensors
 , vulkan-loader, glslang
 , galliumDrivers ?
@@ -81,8 +81,8 @@
 # nix build .#mesa .#pkgsi686Linux.mesa .#pkgsCross.aarch64-multiplatform.mesa .#pkgsMusl.mesa
 
 let
-  version = "24.0.1";
-  hash = "sha256-84cZKwjEccVFWQ3RIjCio0MkSAS1/oZv7GrqAuq1dhM=";
+  version = "24.0.2";
+  hash = "sha256-lOKKjtrQbY7SuD61PyU7nrWqYsMID5OXAuGzA5tWyeg=";
 
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
@@ -141,6 +141,11 @@ self = stdenv.mkDerivation {
 
   patches = [
     ./opencl.patch
+
+    # Backport crash fix for Radeon (legacy) kernel driver
+    # see https://gitlab.freedesktop.org/mesa/mesa/-/issues/10613
+    # FIXME: remove when merged upstream
+    ./backport-radeon-crash-fix.patch
   ];
 
   postPatch = ''
@@ -241,7 +246,7 @@ self = stdenv.mkDerivation {
   buildInputs = with xorg; [
     expat glslang llvmPackages.libllvm libglvnd xorgproto
     libX11 libXext libxcb libXt libXfixes libxshmfence libXrandr
-    libffi libvdpau libelf libXvMC
+    libffi libvdpau libXvMC
     libpthreadstubs openssl
     zstd
   ] ++ lib.optionals withLibunwind [
@@ -249,7 +254,7 @@ self = stdenv.mkDerivation {
   ] ++ [
     python3Packages.python # for shebang
   ] ++ lib.optionals haveWayland [ wayland wayland-protocols ]
-    ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal udev lm_sensors ]
+    ++ lib.optionals stdenv.isLinux [ elfutils libomxil-bellagio libva-minimal udev lm_sensors ]
     ++ lib.optionals enableOpenCL [ llvmPackages.libclc llvmPackages.clang llvmPackages.clang-unwrapped spirv-llvm-translator ]
     ++ lib.optional withValgrind valgrind-light
     ++ lib.optional haveZink vulkan-loader
diff --git a/pkgs/development/libraries/nv-codec-headers/10_x.nix b/pkgs/development/libraries/nv-codec-headers/10_x.nix
deleted file mode 100644
index b1fe1611301ff..0000000000000
--- a/pkgs/development/libraries/nv-codec-headers/10_x.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, stdenv, fetchgit }:
-
-stdenv.mkDerivation rec {
-  pname = "nv-codec-headers";
-  version = "10.0.26.2";
-
-  src = fetchgit {
-    url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
-    rev = "n${version}";
-    sha256 = "0n5jlwjfv5irx1if1g0n52m279bw7ab6bd3jz2v4vwg9cdzbxx85";
-  };
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  meta = {
-    description = "FFmpeg version of headers for NVENC";
-    homepage = "https://ffmpeg.org/";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.MP2E ];
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/nv-codec-headers/11_x.nix b/pkgs/development/libraries/nv-codec-headers/11_x.nix
deleted file mode 100644
index fba333ff6dbe6..0000000000000
--- a/pkgs/development/libraries/nv-codec-headers/11_x.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv
-, lib
-, fetchgit
-}:
-
-stdenv.mkDerivation rec {
-  pname = "nv-codec-headers";
-  version = "11.1.5.2";
-
-  src = fetchgit {
-    url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
-    rev = "n${version}";
-    sha256 = "sha256-KzaqwpzISHB7tSTruynEOJmSlJnAFK2h7/cRI/zkNPk=";
-  };
-
-  makeFlags = [
-    "PREFIX=$(out)"
-  ];
-
-  meta = with lib; {
-    description = "FFmpeg version of headers for NVENC";
-    homepage = "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git";
-    license = licenses.mit;
-    maintainers = with maintainers; [ MP2E ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/nv-codec-headers/12_x.nix b/pkgs/development/libraries/nv-codec-headers/12_x.nix
deleted file mode 100644
index dcbb34e33cdb0..0000000000000
--- a/pkgs/development/libraries/nv-codec-headers/12_x.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv
-, lib
-, fetchgit
-}:
-
-stdenv.mkDerivation rec {
-  pname = "nv-codec-headers";
-  version = "12.1.14.0";
-
-  src = fetchgit {
-    url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
-    rev = "n${version}";
-    sha256 = "sha256-WJYuFmMGSW+B32LwE7oXv/IeTln6TNEeXSkquHh85Go=";
-  };
-
-  makeFlags = [
-    "PREFIX=$(out)"
-  ];
-
-  meta = with lib; {
-    description = "FFmpeg version of headers for NVENC";
-    homepage = "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git";
-    license = licenses.mit;
-    maintainers = with maintainers; [ MP2E ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/nv-codec-headers/default.nix b/pkgs/development/libraries/nv-codec-headers/default.nix
index 9b8323e6c978b..b582548d79f5c 100644
--- a/pkgs/development/libraries/nv-codec-headers/default.nix
+++ b/pkgs/development/libraries/nv-codec-headers/default.nix
@@ -1,22 +1,32 @@
-{ lib, stdenv, fetchgit }:
+{ lib
+, fetchgit
+, stdenvNoCC
+}:
 
-stdenv.mkDerivation rec {
-  pname = "nv-codec-headers";
-  version = "9.1.23.1";
-
-  src = fetchgit {
-    url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
-    rev = "n${version}";
-    sha256 = "1xfvb3mhz6wfx9c732888xa82ivaig903lhvvrqqzs31qfznsplh";
+let
+  make-nv-codec-headers = (import ./make-nv-codec-headers.nix) {
+    inherit lib fetchgit stdenvNoCC;
   };
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  meta = {
-    description = "FFmpeg version of headers for NVENC";
-    homepage = "https://ffmpeg.org/";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.MP2E ];
-    platforms = lib.platforms.all;
+in
+{
+  nv-codec-headers-8 = make-nv-codec-headers {
+    version = "8.2.15.2";
+    hash = "sha256-TKYT8vXqnUpq+M0grDeOR37n/ffqSWDYTrXIbl++BG4=";
+  };
+  nv-codec-headers-9 = make-nv-codec-headers {
+    version = "9.1.23.1";
+    hash = "sha256-kF5tv8Nh6I9x3hvSAdKLakeBVEcIiXFY6o6bD+tY2/U=";
+  };
+  nv-codec-headers-10 = make-nv-codec-headers {
+    version = "10.0.26.2";
+    hash = "sha256-BfW+fmPp8U22+HK0ZZY6fKUjqigWvOBi6DmW7SSnslg=";
+  };
+  nv-codec-headers-11 = make-nv-codec-headers {
+    version = "11.1.5.2";
+    hash = "sha256-KzaqwpzISHB7tSTruynEOJmSlJnAFK2h7/cRI/zkNPk=";
+  };
+  nv-codec-headers-12 = make-nv-codec-headers {
+    version = "12.1.14.0";
+    hash = "sha256-WJYuFmMGSW+B32LwE7oXv/IeTln6TNEeXSkquHh85Go=";
   };
 }
diff --git a/pkgs/development/libraries/nv-codec-headers/make-nv-codec-headers.nix b/pkgs/development/libraries/nv-codec-headers/make-nv-codec-headers.nix
new file mode 100644
index 0000000000000..b6bdc6dd58d7a
--- /dev/null
+++ b/pkgs/development/libraries/nv-codec-headers/make-nv-codec-headers.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenvNoCC
+, fetchgit
+}:
+
+{ pname ? "nv-codec-headers"
+, version
+, hash
+}:
+
+stdenvNoCC.mkDerivation {
+  inherit pname version;
+
+  src = fetchgit {
+    url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
+    rev = "n${version}";
+    inherit hash;
+  };
+
+  makeFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  meta = {
+    description = "FFmpeg version of headers for NVENC";
+    homepage = "https://ffmpeg.org/";
+    downloadPage = "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git";
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index f6cd2987aa0da..6749be599a405 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -34,7 +34,16 @@
 }:
 
 let
-  common = { version, hash }: stdenv.mkDerivation {
+  common = { version, hash, imguiVersion, imguiHash }:
+  let
+    imgui.src = fetchFromGitHub {
+      owner = "ocornut";
+      repo = "imgui";
+      rev = "v${imguiVersion}";
+      hash = imguiHash;
+    };
+  in
+  stdenv.mkDerivation {
     pname = "ogre";
     inherit version;
 
@@ -45,6 +54,12 @@ let
       inherit hash;
     };
 
+    postPatch = ''
+      mkdir -p build
+      cp -R ${imgui.src} build/imgui-${imguiVersion}
+      chmod -R u+w build/imgui-${imguiVersion}
+    '';
+
     nativeBuildInputs = [
       cmake
       pkg-config
@@ -80,11 +95,10 @@ let
     ];
 
     cmakeFlags = [
-      "-DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=FALSE"
-      "-DOGRE_BUILD_DEPENDENCIES=OFF"
-      "-DOGRE_BUILD_SAMPLES=${toString withSamples}"
+      (lib.cmakeBool "OGRE_BUILD_DEPENDENCIES" false)
+      (lib.cmakeBool "OGRE_BUILD_SAMPLES" withSamples)
     ] ++ lib.optionals stdenv.isDarwin [
-      "-DOGRE_BUILD_LIBS_AS_FRAMEWORKS=FALSE"
+      (lib.cmakeBool "OGRE_BUILD_LIBS_AS_FRAMEWORKS" false)
     ];
 
     meta = {
@@ -98,12 +112,18 @@ let
 in
 {
   ogre_14 = common {
-    version = "14.1.2";
-    hash = "sha256-qPoC5VXA9IC1xiFLrvE7cqCZFkuiEM0OMowUXDlmhF4=";
+    version = "14.2.2";
+    hash = "sha256-85hpujmlM3N81mkiA80xx2C4GsdzWkP61bwdfmw1zt8=";
+    # https://github.com/OGRECave/ogre/blob/v14.2.2/Components/Overlay/CMakeLists.txt
+    imguiVersion = "1.90.4";
+    imguiHash = "sha256-7+Ay7H97tIO6CUsEyaQv4i9q2FCw98eQUq/KYZyfTAw=";
   };
 
   ogre_13 = common {
     version = "13.6.5";
     hash = "sha256-8VQqePrvf/fleHijVIqWWfwOusGjVR40IIJ13o+HwaE=";
+    # https://github.com/OGRECave/ogre/blob/v13.6.5/Components/Overlay/CMakeLists.txt
+    imguiVersion = "1.87";
+    imguiHash = "sha256-H5rqXZFw+2PfVMsYvAK+K+pxxI8HnUC0GlPhooWgEYM=";
   };
 }
diff --git a/pkgs/development/libraries/oneDNN/default.nix b/pkgs/development/libraries/oneDNN/default.nix
index 2518cecb9b6c6..44ff2ee1f88ad 100644
--- a/pkgs/development/libraries/oneDNN/default.nix
+++ b/pkgs/development/libraries/oneDNN/default.nix
@@ -9,13 +9,13 @@
 # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
 stdenv.mkDerivation (finalAttrs: {
   pname = "oneDNN";
-  version = "3.3.1";
+  version = "3.4";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneDNN";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-br2ssI4MRk9O6u+5voBmxBZtmTFPKoJJe3ZEN2blq7Y=";
+    hash = "sha256-uV/Skp//tGy/hZBeN2NCbectlSoaz+H0ukYQd2j1lC4=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix
index d528e2fc0302d..12b05df234d83 100644
--- a/pkgs/development/libraries/openjpeg/default.nix
+++ b/pkgs/development/libraries/openjpeg/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
 , libdeflate, libpng, libtiff, zlib, lcms2, jpylyzer
 , jpipLibSupport ? false # JPIP library & executables
 , jpipServerSupport ? false, curl, fcgi # JPIP Server
@@ -12,32 +12,17 @@ in
 
 stdenv.mkDerivation rec {
   pname = "openjpeg";
-  version = "2.5.0";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "uclouvain";
     repo = "openjpeg";
     rev = "v${version}";
-    sha256 = "sha256-/0o3Fl6/jx5zu854TCqMyOz/8mnEyEC9lpZ6ij/tbHc=";
+    hash = "sha256-mQ9B3MJY2/bg0yY/7jUJrAXM6ozAHT5fmwES5Q1SGxw=";
   };
 
   outputs = [ "out" "dev" ];
 
-  patches = [
-    # modernise cmake files, also fixes them for multiple outputs
-    # https://github.com/uclouvain/openjpeg/pull/1424
-    (fetchpatch {
-      name = "uclouvain-openjpeg-pull-1424.patch";
-      url = "https://github.com/uclouvain/openjpeg/compare/52927287402a9f7353de8854c88f931051211e2f...9d4f70cfe99626f82f9c8dcbf45f07709e3511b2.patch";
-      sha256 = "sha256-CxVRt1u4HVOMUjWiZ2plmZC29t/zshCpSY+N4Wlrlvg=";
-    })
-    # fix cmake files cross compilation
-    (fetchpatch {
-      url = "https://github.com/uclouvain/openjpeg/commit/c6ceb84c221b5094f1e8a4c0c247dee3fb5074e8.patch";
-      sha256 = "sha256-gBUtmO/7RwSWEl7rc8HGr8gNtvNFdhjEwm0Dd51p5O8=";
-    })
-  ];
-
   cmakeFlags = [
     "-DCMAKE_INSTALL_NAME_DIR=\${CMAKE_INSTALL_PREFIX}/lib"
     "-DBUILD_SHARED_LIBS=ON"
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 2113b52047d66..4d1c256e301bc 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pcre2";
-  version = "10.42";
+  version = "10.43";
 
   src = fetchurl {
     url = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-${version}/pcre2-${version}.tar.bz2";
-    hash = "sha256-jTbNjLbqKkwrs1j/ZBGwx4hjOipF2rvxrrS3AdG16EA=";
+    hash = "sha256-4qU5hP8LB9/bWuRIa7ubIcyo598kNAlsyb8bcow1C8s=";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 3a37fcb87e6bc..6e22ec349d5fd 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -46,13 +46,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: rec {
   pname = "poppler-${suffix}";
-  version = "24.01.0"; # beware: updates often break cups-filters build, check scribus too!
+  version = "24.02.0"; # beware: updates often break cups-filters build, check scribus too!
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
-    hash = "sha256-x972k6ekkoMPSdSXqAzGuchctXsV6b4tLWFRU7ecrgg=";
+    hash = "sha256-GRh6P90F8z59YExHmcGD3lygEYZAyIs3DdzzE2NDIi4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/qt-6/modules/qtbase.nix b/pkgs/development/libraries/qt-6/modules/qtbase.nix
index 0a16f725c4771..c223a22363532 100644
--- a/pkgs/development/libraries/qt-6/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtbase.nix
@@ -263,6 +263,10 @@ stdenv.mkDerivation rec {
     moveToOutput      "mkspecs/modules" "$dev"
     fixQtModulePaths  "$dev/mkspecs/modules"
     fixQtBuiltinPaths "$out" '*.pr?'
+  '' + lib.optionalString stdenv.isLinux ''
+
+    # FIXME: not sure why this isn't added automatically?
+    patchelf --add-rpath "${libmysqlclient}/lib/mariadb" $out/${qtPluginPrefix}/sqldrivers/libqsqlmysql.so
   '';
 
   dontStrip = debugSymbols;
diff --git a/pkgs/development/libraries/rapidfuzz-cpp/default.nix b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
index 1544eff83621d..ab0a5edb7d421 100644
--- a/pkgs/development/libraries/rapidfuzz-cpp/default.nix
+++ b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rapidfuzz-cpp";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "rapidfuzz";
     repo = "rapidfuzz-cpp";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-v/apbqRyv93PZsO397lvyIMtA1JtYrOpbWAVAbMCmP4=";
+    hash = "sha256-4J2j+/0ZVMNlrgLbEQk3me/EX07TZ/rLsT1/5ufxbic=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/rapidjson/unstable.nix b/pkgs/development/libraries/rapidjson/unstable.nix
index 0f4c3d40403e1..fd7ffe61ba394 100644
--- a/pkgs/development/libraries/rapidjson/unstable.nix
+++ b/pkgs/development/libraries/rapidjson/unstable.nix
@@ -6,8 +6,6 @@
 , graphviz
 , gtest
 , valgrind
-# One of "11" or "17"; default in source is CXX 11
-, cxxStandard ? "11"
 , buildDocs ? true
 , buildTests ? !stdenv.hostPlatform.isStatic && !stdenv.isDarwin
 , buildExamples ? true
@@ -49,8 +47,9 @@ stdenv.mkDerivation (finalAttrs: {
     (lib.cmakeBool "RAPIDJSON_BUILD_DOC" buildDocs)
     (lib.cmakeBool "RAPIDJSON_BUILD_TESTS" buildTests)
     (lib.cmakeBool "RAPIDJSON_BUILD_EXAMPLES" buildExamples)
-    (lib.cmakeBool "RAPIDJSON_BUILD_CXX11" (cxxStandard == "11"))
-    (lib.cmakeBool "RAPIDJSON_BUILD_CXX17" (cxxStandard == "17"))
+    # gtest 1.13+ requires C++14 or later.
+    (lib.cmakeBool "RAPIDJSON_BUILD_CXX11" false)
+    (lib.cmakeBool "RAPIDJSON_BUILD_CXX17" true)
   ] ++ lib.optionals buildTests [
     (lib.cmakeFeature "GTEST_INCLUDE_DIR" "${lib.getDev gtest}")
   ];
@@ -77,6 +76,5 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ Madouura ];
-    broken = (cxxStandard != "11" && cxxStandard != "17");
   };
 })
diff --git a/pkgs/development/libraries/s2geometry/default.nix b/pkgs/development/libraries/s2geometry/default.nix
index afd5ffa0a0a2d..a8893b698a488 100644
--- a/pkgs/development/libraries/s2geometry/default.nix
+++ b/pkgs/development/libraries/s2geometry/default.nix
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ openssl gtest ];
 
+  # Default of C++11 is too low for gtest.
+  # In newer versions of s2geometry this can be done with cmakeFlags.
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --replace "CMAKE_CXX_STANDARD 11" "CMAKE_CXX_STANDARD 14"
+  '';
+
   meta = with lib; {
     description = "Computational geometry and spatial indexing on the sphere";
     homepage = "http://s2geometry.io/";
diff --git a/pkgs/development/libraries/sentry-native/default.nix b/pkgs/development/libraries/sentry-native/default.nix
index 95ba1dc68e512..c08e0f2112c99 100644
--- a/pkgs/development/libraries/sentry-native/default.nix
+++ b/pkgs/development/libraries/sentry-native/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sentry-native";
-  version = "0.6.7";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-native";
     rev = version;
-    hash = "sha256-pEFfs8xjc+6r+60aJF4Sjjy/oSU/+ADWgOBpS3t9rWI=";
+    hash = "sha256-e2VjQ3U72X+bwRAi/6StLDWT8tf/MjatnmC/+jCgzTo=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DSENTRY_BREAKPAD_SYSTEM=On"
+    "-DSENTRY_BACKEND=breakpad"
   ];
 
   meta = with lib; {
@@ -40,6 +41,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/getsentry/sentry-native/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ wheelsandmetal ];
+    maintainers = with maintainers; [ wheelsandmetal daniel-fahey ];
   };
 }
diff --git a/pkgs/development/libraries/simdjson/default.nix b/pkgs/development/libraries/simdjson/default.nix
index cf56180551fd0..9e28ea4eed380 100644
--- a/pkgs/development/libraries/simdjson/default.nix
+++ b/pkgs/development/libraries/simdjson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simdjson";
-  version = "3.7.0";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "simdjson";
     repo = "simdjson";
     rev = "v${version}";
-    sha256 = "sha256-0fizP+j06NAp4CJynjzHG25OBmTa7wjkLZ2MBs1NxG4=";
+    sha256 = "sha256-1WxQU9WAIZKVoNTYJRnwxLAloBfW1g5XSPH4b29x9rE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/spdlog/default.nix b/pkgs/development/libraries/spdlog/default.nix
index ff42a5ba3b5c3..f9255e3df5950 100644
--- a/pkgs/development/libraries/spdlog/default.nix
+++ b/pkgs/development/libraries/spdlog/default.nix
@@ -1,35 +1,27 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , fmt
 , catch2_3
 , staticBuild ? stdenv.hostPlatform.isStatic
 
 # tests
-, bear, tiledb
+, bear
+, tiledb
 }:
 
 stdenv.mkDerivation rec {
   pname = "spdlog";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "gabime";
     repo  = "spdlog";
     rev   = "v${version}";
-    hash  = "sha256-cxTaOuLXHRU8xMz9gluYz0a93O0ez2xOxbloyc1m1ns=";
+    hash  = "sha256-3n8BnjZ7uMH8quoiT60yTU7poyOtoEmzNMOLa1+r7X0=";
   };
 
-  patches = [
-    # Fix a broken test, remove with the next release.
-    (fetchpatch {
-      url = "https://github.com/gabime/spdlog/commit/2ee8bac78e6525a8ad9a9196e65d502ce390d83a.patch";
-      hash = "sha256-L79yOkm3VY01jmxNctfneTLmOA5DEQeNNGC8LbpJiOc=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
   # Required to build tests, even if they aren't executed
   buildInputs = [ catch2_3 ];
diff --git a/pkgs/development/libraries/tevent/default.nix b/pkgs/development/libraries/tevent/default.nix
index 1d68421c6dcdd..18e4522de9ea2 100644
--- a/pkgs/development/libraries/tevent/default.nix
+++ b/pkgs/development/libraries/tevent/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tevent";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchurl {
     url = "mirror://samba/tevent/${pname}-${version}.tar.gz";
-    sha256 = "sha256-GqWPIQF+2ML2Bq6Eqn55W1Q57dTdX2jxo4in1vtA9oI=";
+    sha256 = "sha256-Nilx4PMtwZBfb+RzYxnEuDSMItyFqmw/aQoo7+VIAp4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 7edf2cdf7c46b..6d9758f75a402 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -79,6 +79,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./darwin.patch
+
+    # gcc-13 build fix for mixxign <cstdint> includes
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url  = "https://chromium.googlesource.com/v8/v8/+/c2792e58035fcbaa16d0cb70998852fbeb5df4cc^!?format=TEXT";
+      decode = "base64 -d";
+      hash = "sha256-hoPAkSaCmzXflPFXaKUwVPLECMpt6N6/8m8mBSTAHbU=";
+    })
   ];
 
   src = v8Src;
diff --git a/pkgs/development/libraries/xvidcore/default.nix b/pkgs/development/libraries/xvidcore/default.nix
index 82520572c3764..5ec3d44dfb625 100644
--- a/pkgs/development/libraries/xvidcore/default.nix
+++ b/pkgs/development/libraries/xvidcore/default.nix
@@ -35,12 +35,17 @@ stdenv.mkDerivation rec {
     rm $out/lib/*.a
   '';
 
+  # Dependants of xvidcore don't know to look in bin for dependecies. Link them
+  # in lib so other depedants of xvidcore can find the dlls.
+  postFixup = lib.optionalString stdenv.hostPlatform.isMinGW ''
+    ln -s $out/bin/*.dll $out/lib
+  '';
+
   meta = with lib; {
     description = "MPEG-4 video codec for PC";
-    homepage    = "https://www.xvid.com/";
-    license     = licenses.gpl2;
+    homepage = "https://www.xvid.com/";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ codyopel lovek323 ];
-    platforms   = platforms.all;
+    platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/development/libraries/zeroc-ice/default.nix b/pkgs/development/libraries/zeroc-ice/default.nix
index f62dec911d819..3ccb7c17f9c99 100644
--- a/pkgs/development/libraries/zeroc-ice/default.nix
+++ b/pkgs/development/libraries/zeroc-ice/default.nix
@@ -22,13 +22,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "zeroc-ice";
-  version = "3.7.7";
+  version = "3.7.10";
 
   src = fetchFromGitHub {
     owner = "zeroc-ice";
     repo = "ice";
     rev = "v${version}";
-    sha256 = "sha256-h455isEmnRyoasXhh1UaA5PICcEEM8/C3IJf5yHRl5g=";
+    hash = "sha256-l3cKsR8HSdtFGw1S12xueQOu/U9ABlOxQQtbHBj2izs=";
   };
 
   buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl libxcrypt ];
diff --git a/pkgs/development/misc/resholve/oildev.nix b/pkgs/development/misc/resholve/oildev.nix
index 2098ec80f5ae7..767cedee3913f 100644
--- a/pkgs/development/misc/resholve/oildev.nix
+++ b/pkgs/development/misc/resholve/oildev.nix
@@ -4,34 +4,17 @@
 , callPackage
 , fetchFromGitHub
 , makeWrapper
-, # re2c deps
-  autoreconfHook
 , # py-yajl deps
   git
 , # oil deps
-  file
-, pkgsBuildBuild
+  pkgsBuildBuild
+, re2c
+, file
 , six
 , typing
 }:
 
 rec {
-  re2c = stdenv.mkDerivation rec {
-    pname = "re2c";
-    version = "1.0.3";
-    sourceRoot = "${src.name}/re2c";
-    src = fetchFromGitHub {
-      owner = "skvadrik";
-      repo = "re2c";
-      rev = version;
-      sha256 = "0grx7nl9fwcn880v5ssjljhcb9c5p2a6xpwil7zxpmv0rwnr3yqi";
-    };
-    nativeBuildInputs = [ autoreconfHook ];
-    preCheck = ''
-      patchShebangs run_tests.sh
-    '';
-  };
-
   py-yajl = python27.pkgs.buildPythonPackage rec {
     pname = "oil-pyyajl-unstable";
     version = "2022-09-01";
@@ -103,7 +86,9 @@ rec {
       "--without-readline"
     ];
 
-    nativeBuildInputs = [ re2c file makeWrapper ];
+    depsBuildBuild = [ re2c ];
+
+    nativeBuildInputs = [ file makeWrapper ];
 
     propagatedBuildInputs = [ six typing py-yajl ];
 
diff --git a/pkgs/development/ocaml-modules/cry/default.nix b/pkgs/development/ocaml-modules/cry/default.nix
index 8e475a7987ccf..e4339ef7563ba 100644
--- a/pkgs/development/ocaml-modules/cry/default.nix
+++ b/pkgs/development/ocaml-modules/cry/default.nix
@@ -2,17 +2,17 @@
 
 buildDunePackage rec {
   pname = "cry";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "savonet";
     repo = "ocaml-cry";
     rev = "v${version}";
-    sha256 = "sha256-wn9hLqbydzFTdYsJ1e76dmDLtwcZ7CGjbzFe5o9veYQ=";
+    hash = "sha256-wtilYOUOHElW8ZVxolMNomvT//ho2tACmoubEvU2bpQ=";
   };
 
   postPatch = ''
-    substituteInPlace src/dune --replace bytes ""
+    substituteInPlace src/dune --replace-warn bytes ""
   '';
 
   minimalOCamlVersion = "4.12";
diff --git a/pkgs/development/ocaml-modules/eio/default.nix b/pkgs/development/ocaml-modules/eio/default.nix
index dcffdd7dbe48b..0eafead13cf10 100644
--- a/pkgs/development/ocaml-modules/eio/default.nix
+++ b/pkgs/development/ocaml-modules/eio/default.nix
@@ -1,6 +1,6 @@
 { lib
 , ocaml
-, version ? if lib.versionAtLeast ocaml.version "5.1" then "0.15" else "0.12"
+, version ? if lib.versionAtLeast ocaml.version "5.1" then "1.0" else "0.12"
 , buildDunePackage
 , bigstringaf
 , cstruct
@@ -24,9 +24,9 @@ let
       minimalOCamlVersion = "5.0";
       hash = "sha256-2EhHzoX/t4ZBSWrSS+PGq1zCxohc7a1q4lfsrFnZJqA=";
     };
-    "0.15" = {
+    "1.0" = {
       minimalOCamlVersion = "5.1";
-      hash = "sha256-gH7O8zfdqEmwXT29F6ko5vXGNudusV4iE2Z8kRJ3GKc=";
+      hash = "sha256-2iYNnaOLPd6fMWZSogsTomHPkLhaJJisZpt9Vk5hlC0=";
     };
   }."${version}";
 in
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index d1c0462c4dcab..48b9a153f5b3e 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -17,13 +17,13 @@
 
 buildDunePackage rec {
   pname = "eliom";
-  version = "10.1.2";
+  version = "10.3.1";
 
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "eliom";
     rev = version;
-    hash = "sha256-Cxwp534ADUO7AHnxZnGsrqxGDkhcJ314M5wytO4e8/0=";
+    hash = "sha256-REOyxwnQqWOKywVYwN/WP22cNKZv5Nv0OpFVbNBPJN8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/octave-modules/signal/default.nix b/pkgs/development/octave-modules/signal/default.nix
index 2579efc518897..0c4c2d9c6e235 100644
--- a/pkgs/development/octave-modules/signal/default.nix
+++ b/pkgs/development/octave-modules/signal/default.nix
@@ -6,11 +6,11 @@
 
 buildOctavePackage rec {
   pname = "signal";
-  version = "1.4.3";
+  version = "1.4.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "sha256-VFuXVA6+ujtCDwiQb905d/wpOzvI/Db2uosJTOqI8zk=";
+    sha256 = "sha256-VVreL/gPcRiQk5XDNAXwoXpPvNIrxtL7nD9/Rf72SOc=";
   };
 
   requiredOctavePackages = [
diff --git a/pkgs/development/php-packages/castor/default.nix b/pkgs/development/php-packages/castor/default.nix
index 241980e93d6f8..1b6b3f6be9d4e 100644
--- a/pkgs/development/php-packages/castor/default.nix
+++ b/pkgs/development/php-packages/castor/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , installShellFiles
 , php
 , nix-update-script
@@ -8,16 +9,25 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "castor";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "jolicode";
     repo = "castor";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Sm6I306iKVr66sBp+ADeTZAKGToVMc+Y/BCymUdszNc=";
+    hash = "sha256-sSIkXNW6RR1mx15dKouQLMaHBr5FEkTTc/0QIkWV8sg=";
   };
 
-  vendorHash = "sha256-KbmovAnejShyVclF4IcZ9ckUOWysfEz3DFqE8OxlzI0=";
+  patches = [
+    # Upstream lock is invalid. https://github.com/jolicode/castor/issues/319
+    (fetchpatch {
+      name = "fix-invalid-lock.patch";
+      url = "https://github.com/jolicode/castor/commit/5ff0c3ecbdddad20146adbc2f055b83f5aadba0f.patch";
+      hash = "sha256-1a3Dpk/UXp92Ugw9zSoLPsbWOJEuP2FBWc/pQ/EKwaM=";
+    })
+  ];
+
+  vendorHash = "sha256-HfEjwlkozeuT4LDnYwiCu7T0spcf4GLhkd7Kc1VRnro=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/python-modules/acquire/default.nix b/pkgs/development/python-modules/acquire/default.nix
index c2c4e125e3287..555a60412bf45 100644
--- a/pkgs/development/python-modules/acquire/default.nix
+++ b/pkgs/development/python-modules/acquire/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "acquire";
-  version = "3.12";
+  version = "3.13";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "acquire";
     rev = "refs/tags/${version}";
-    hash = "sha256-anRNCnLDKHAEfOWi6m1n4R9lvFTlZgw5xxh39exvzH0=";
+    hash = "sha256-Z85bHM3MtS2MLX9BaKi8VqA13QjO9KdrgqhuyBzjILQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ago/default.nix b/pkgs/development/python-modules/ago/default.nix
new file mode 100644
index 0000000000000..ad095c441db26
--- /dev/null
+++ b/pkgs/development/python-modules/ago/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+, pythonOlder
+
+, pytestCheckHook
+
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "ago";
+  version = "0.0.95";
+  pyproject = true;
+
+  disabled = pythonOlder "3.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-0gEPXqw99UTsSOwRYQLgaFkaNFsaWA8ylz24pQX8p0Q=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "ago" ];
+
+  meta = with lib; {
+    description = "Human Readable Time Deltas";
+    homepage = "https://git.unturf.com/python/ago";
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index 15eeb18989cc0..21883ceab8aa8 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -13,6 +13,7 @@
 , setuptools
 , pytest-asyncio
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , wrapt
 }:
@@ -96,6 +97,10 @@ buildPythonPackage rec {
     "test_required_config_not_set"
     "test_sso_cred_fetcher_raises_helpful_message_on_unauthorized_exception"
     "test_sso_credential_fetcher_can_fetch_credentials"
+  ] ++ lib.optionals (pythonAtLeast "3.12.") [
+    # AttributeError: 'called_with' is not a valid assertion. Use a spec for the mock if 'called_with' is meant to be an attribute.
+    "test_max_rate_updated_on_success_response"
+    "test_max_rate_cant_exceed_20_percent_max"
   ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/aiocache/default.nix b/pkgs/development/python-modules/aiocache/default.nix
index 215a4029daca3..fd4e5f3a154a3 100644
--- a/pkgs/development/python-modules/aiocache/default.nix
+++ b/pkgs/development/python-modules/aiocache/default.nix
@@ -1,28 +1,33 @@
 { lib
-, aioredis
 , buildPythonPackage
 , fetchFromGitHub
 , msgpack
 , pythonOlder
+, redis
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aiocache";
   version = "0.12.2";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
-    repo = pname;
+    repo = "aiocache";
     rev = "refs/tags/v${version}";
     hash = "sha256-yvXDNJL8uxReaU81klVWudJwh1hmvg5GeeILcNpm/YA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   passthru.optional-dependencies = {
     redis = [
-      aioredis
+      redis
     ];
     msgpack = [
       msgpack
diff --git a/pkgs/development/python-modules/aiocoap/default.nix b/pkgs/development/python-modules/aiocoap/default.nix
index 4feb6fc185c4f..af2b220a21c2b 100644
--- a/pkgs/development/python-modules/aiocoap/default.nix
+++ b/pkgs/development/python-modules/aiocoap/default.nix
@@ -1,15 +1,31 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pytestCheckHook
-, pygments
+, pythonAtLeast
 , pythonOlder
+
+# build-system
+, setuptools
+
+# optionals
+, cbor2
+, cbor-diag
+, cryptography
+, filelock
+, ge25519
+, dtlssocket
+, websockets
+, termcolor
+, pygments
+
+# tests
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "aiocoap";
   version = "0.4.7";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -20,14 +36,52 @@ buildPythonPackage rec {
     hash = "sha256-4iwoPfmIwk+PlWUp60aqA5qZgzyj34pnZHf9uH5UhnY=";
   };
 
-  propagatedBuildInputs = [
-    pygments
+  nativeBuildInputs = [
+    setuptools
   ];
 
+  passthru.optional-dependencies = {
+    oscore = [
+      cbor2
+      cryptography
+      filelock
+      ge25519
+    ];
+    tinydtls = [
+      dtlssocket
+    ];
+    ws = [
+      websockets
+    ];
+    prettyprint = [
+      termcolor
+      cbor2
+      pygments
+      cbor-diag
+    ];
+  };
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
+  pytestFlagsArray = lib.optionals (pythonAtLeast "3.12") [
+    # https://github.com/chrysn/aiocoap/issues/339
+    "--deselect=tests/test_server.py::TestServerTCP::test_big_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_empty_accept"
+    "--deselect=tests/test_server.py::TestServerTCP::test_error_resources"
+    "--deselect=tests/test_server.py::TestServerTCP::test_fast_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_js_accept"
+    "--deselect=tests/test_server.py::TestServerTCP::test_manualbig_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_nonexisting_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_replacing_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_root_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_slow_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_slowbig_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_spurious_resource"
+    "--deselect=tests/test_server.py::TestServerTCP::test_unacceptable_accept"
+  ];
+
   disabledTestPaths = [
     # Don't test the plugins
     "tests/test_tls.py"
diff --git a/pkgs/development/python-modules/aiomisc/default.nix b/pkgs/development/python-modules/aiomisc/default.nix
index 06466ca2963d8..63038d99f3cc3 100644
--- a/pkgs/development/python-modules/aiomisc/default.nix
+++ b/pkgs/development/python-modules/aiomisc/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "aiomisc";
-  version = "17.3.48";
+  version = "17.4.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AVavnUsx/hUrT1gspfMNxtmyDLUty+ocPqRZAun036I=";
+    hash = "sha256-SJyCxKncHRdWZUdsosOCLLRYG+ym8utXwAJjn3BRRHU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aionotion/default.nix b/pkgs/development/python-modules/aionotion/default.nix
index ce0bf222341d8..918900c34a477 100644
--- a/pkgs/development/python-modules/aionotion/default.nix
+++ b/pkgs/development/python-modules/aionotion/default.nix
@@ -19,16 +19,16 @@
 
 buildPythonPackage rec {
   pname = "aionotion";
-  version = "2024.02.2";
-  format = "pyproject";
+  version = "2024.03.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "aionotion";
     rev = "refs/tags/${version}";
-    hash = "sha256-xehHOB4iUMT1kKEK4jQzaj7hH9fmiY7mZxGC3CLnpAs=";
+    hash = "sha256-BsbfLb5wCVxR8v2U2Zzt7LMl7XJcZWfVjZN47VDkhFc=";
   };
 
   nativeBuildInputs = [
@@ -66,7 +66,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for Notion Home Monitoring";
     homepage = "https://github.com/bachya/aionotion";
-    changelog = "https://github.com/bachya/aionotion/releases/tag/${src.rev}";
+    changelog = "https://github.com/bachya/aionotion/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/aiopvpc/default.nix b/pkgs/development/python-modules/aiopvpc/default.nix
index 602128265fdc6..853d012577404 100644
--- a/pkgs/development/python-modules/aiopvpc/default.nix
+++ b/pkgs/development/python-modules/aiopvpc/default.nix
@@ -14,21 +14,21 @@
 
 buildPythonPackage rec {
   pname = "aiopvpc";
-  version = "4.2.2";
-  format = "pyproject";
+  version = "4.3.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "azogue";
-    repo = pname;
+    repo = "aiopvpc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-k02lNjFjOcMfHa1jLJlMFUOOVrdTrACNoEXDSZ693K8=";
+    hash = "sha256-8CNmrE3EMFg/bCrdI+K/8f0MRzKtGI74ILFMuSg1Ivo=";
   };
 
   postPatch = ''
-    substituteInPlace pyproject.toml --replace \
-      " --cov --cov-report term --cov-report html" ""
+    substituteInPlace pyproject.toml \
+      --replace-fail " --cov --cov-report term --cov-report html" ""
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioquic/default.nix b/pkgs/development/python-modules/aioquic/default.nix
index 0d9801df1f82f..071fe70dd962c 100644
--- a/pkgs/development/python-modules/aioquic/default.nix
+++ b/pkgs/development/python-modules/aioquic/default.nix
@@ -3,6 +3,7 @@
 , certifi
 , cryptography
 , fetchPypi
+, fetchpatch
 , openssl
 , pylsqpack
 , pyopenssl
@@ -24,6 +25,13 @@ buildPythonPackage rec {
     hash = "sha256-cHlceJBTJthVwq5SQHIjSq5YbHibgSkuJy0CHpsEMKM=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/aiortc/aioquic/commit/e899593805e0b31325a1d347504eb8e6100fe87d.diff";
+      hash = "sha256-TTpIIWX/R4k2KxhsN17O9cRW/dN0AARYnju8JTht3D8=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
   ];
diff --git a/pkgs/development/python-modules/aioswitcher/default.nix b/pkgs/development/python-modules/aioswitcher/default.nix
index 245f9f44a3aeb..4534dcf09687d 100644
--- a/pkgs/development/python-modules/aioswitcher/default.nix
+++ b/pkgs/development/python-modules/aioswitcher/default.nix
@@ -8,6 +8,7 @@
 , pytest-resource-path
 , pytest-sugar
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , time-machine
 }:
@@ -52,6 +53,10 @@ buildPythonPackage rec {
     "test_schedule_parser_with_a_daily_recurring_enabled_schedule_data"
     "test_schedule_parser_with_a_partial_daily_recurring_enabled_schedule_data"
     "test_schedule_parser_with_a_non_recurring_enabled_schedule_data"
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    # ssertionError: Expected <'I' format requires 0 <= number <= 4294967295> to be equal to <argument out of range>, but was not.
+    "test_minutes_to_hexadecimal_seconds_with_a_negative_value_should_throw_an_error"
+    "test_current_timestamp_to_hexadecimal_with_errornous_value_should_throw_an_error"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/airly/default.nix b/pkgs/development/python-modules/airly/default.nix
index b51da08516c00..7153890494e2c 100644
--- a/pkgs/development/python-modules/airly/default.nix
+++ b/pkgs/development/python-modules/airly/default.nix
@@ -5,6 +5,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -21,6 +22,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ aiohttp ];
 
+  # aiounittest is not supported on 3.12
+  doCheck = pythonOlder "3.12";
+
   nativeCheckInputs = [
     aioresponses
     aiounittest
diff --git a/pkgs/development/python-modules/alarmdecoder/default.nix b/pkgs/development/python-modules/alarmdecoder/default.nix
index 0504f4bc6f6d4..3573990876a2f 100644
--- a/pkgs/development/python-modules/alarmdecoder/default.nix
+++ b/pkgs/development/python-modules/alarmdecoder/default.nix
@@ -23,6 +23,11 @@ buildPythonPackage rec {
     hash = "sha256-q2s+wngDKtWm5mxGHNAc63Ed6tiQD9gLHVoQZNWFB0w=";
   };
 
+  postPatch = ''
+    substituteInPlace test/test_{ad2,devices,messages}.py \
+      --replace-fail assertEquals assertEqual
+  '';
+
   propagatedBuildInputs = [
     pyftdi
     pyopenssl
diff --git a/pkgs/development/python-modules/amaranth-boards/default.nix b/pkgs/development/python-modules/amaranth-boards/default.nix
index 719ac71ec5e1b..01f5dde3b562f 100644
--- a/pkgs/development/python-modules/amaranth-boards/default.nix
+++ b/pkgs/development/python-modules/amaranth-boards/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "amaranth-boards";
-  version = "unstable-2021-12-17";
+  version = "0-unstable-2023-12-13";
   format = "setuptools";
   # python setup.py --version
   realVersion = "0.1.dev202+g${lib.substring 0 7 src.rev}";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "amaranth-lang";
     repo = "amaranth-boards";
-    rev = "8e2615765e255144403431ca95c5cdf6c78eb638";
-    sha256 = "3EOG8SO5xBNevshXMRrxKWoJUbeaVi8ckbkmqd6Tw70=";
+    rev = "170675812b71ee722bcf8ccdb88409a9ad97ffe2";
+    hash = "sha256-dwZCKMJnEY9RjzkcJ9r3TEC7W+Wfi/P7Hjl4/d60/qo=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
@@ -34,6 +34,6 @@ buildPythonPackage rec {
     description = "Board definitions for Amaranth HDL";
     homepage = "https://github.com/amaranth-lang/amaranth-boards";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ emily thoughtpolice ];
+    maintainers = with maintainers; [ emily thoughtpolice pbsds ];
   };
 }
diff --git a/pkgs/development/python-modules/amaranth-soc/default.nix b/pkgs/development/python-modules/amaranth-soc/default.nix
index 11f331d033c7d..b509ec551cf84 100644
--- a/pkgs/development/python-modules/amaranth-soc/default.nix
+++ b/pkgs/development/python-modules/amaranth-soc/default.nix
@@ -2,35 +2,34 @@
 , buildPythonPackage
 , fetchFromGitHub
 , amaranth
-, setuptools
-, setuptools-scm
+, pdm-backend
 }:
 
 buildPythonPackage rec {
   pname = "amaranth-soc";
-  version = "unstable-2023-09-15";
-  format = "setuptools";
-  # python setup.py --version
-  realVersion = "0.1.dev70+g${lib.substring 0 7 src.rev}";
+  version = "0-unstable-2024-02-16";
+  pyproject = true;
+  # from `pdm show`
+  realVersion = "0.1a1.dev1+g${lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "amaranth-lang";
     repo = "amaranth-soc";
-    rev = "cce8a79a37498f4d5900be21a295ba77e51e6c9d";
-    sha256 = "sha256-hfkJaqICuy3iSTwLM9lbUPvSMDBLW8GdxqswyAOsowo=";
+    rev = "9f46553aa4289e2a11788a73fade6410a371b162";
+    hash = "sha256-ZllDSrZEu16jZtbQ7crQSj3XCbsthueXtaAvyf45dmY=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ setuptools amaranth ];
+  nativeBuildInputs = [ pdm-backend ];
+  propagatedBuildInputs = [ amaranth ];
 
   preBuild = ''
-    export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
+    export PDM_BUILD_SCM_VERSION="${realVersion}"
   '';
 
   meta = with lib; {
     description = "System on Chip toolkit for Amaranth HDL";
     homepage = "https://github.com/amaranth-lang/amaranth-soc";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ emily thoughtpolice ];
+    maintainers = with maintainers; [ emily thoughtpolice pbsds ];
   };
 }
diff --git a/pkgs/development/python-modules/amaranth/default.nix b/pkgs/development/python-modules/amaranth/default.nix
index ad2cacb2ced8d..e441daefcd433 100644
--- a/pkgs/development/python-modules/amaranth/default.nix
+++ b/pkgs/development/python-modules/amaranth/default.nix
@@ -19,15 +19,14 @@
 buildPythonPackage rec {
   pname = "amaranth";
   format = "pyproject";
-  # python -m setuptools_scm
-  version = "0.4.dev197+g${lib.substring 0 7 src.rev}";
+  version = "0.4.3";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "amaranth-lang";
     repo = "amaranth";
-    rev = "11d5bb19eb34463918c07dc5e2e0eac7dbf822b0";
-    sha256 = "sha256-Ji5oYfF2hKSunAdAQTniv8Ajj6NE/bvW5cvadrGKa+U=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-03uAaD4aEMxu/T1D8Hb7XcWvZZuaCK5HmdOD9bx+ZIc=";
   };
 
   nativeBuildInputs = [
@@ -55,6 +54,6 @@ buildPythonPackage rec {
     description = "A modern hardware definition language and toolchain based on Python";
     homepage = "https://amaranth-lang.org/docs/amaranth";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ emily thoughtpolice ];
+    maintainers = with maintainers; [ emily thoughtpolice pbsds ];
   };
 }
diff --git a/pkgs/development/python-modules/anywidget/default.nix b/pkgs/development/python-modules/anywidget/default.nix
index d12798092413b..fa5a0aa10209d 100644
--- a/pkgs/development/python-modules/anywidget/default.nix
+++ b/pkgs/development/python-modules/anywidget/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "anywidget";
-  version = "0.9.2";
+  version = "0.9.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-S6nB3Df17sD1Zrsp+1Di66FNeaVmE1rqt8hogjI/3I4=";
+    hash = "sha256-Coae8oretZHhb1c9i5x0Sm1nVruN89kRZSEMyeLibbg=";
   };
 
   # We do not need the jupyterlab build dependency, because we do not need to
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index 4ada8729cba21..0ae5af5730a21 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "1.7.3";
+  version = "1.7.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MeKmOUB7uNJmJJ/Adf8xfp00/1lRxuFr/u/dwq9f6Ew=";
+    hash = "sha256-716DAFEUDUIop1nFvC1oV7zH+GZN8+RPMPZGF84MenM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/arcam-fmj/default.nix b/pkgs/development/python-modules/arcam-fmj/default.nix
index df5bcc40836f4..7e2d9aa7b92a2 100644
--- a/pkgs/development/python-modules/arcam-fmj/default.nix
+++ b/pkgs/development/python-modules/arcam-fmj/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, pythonAtLeast
 , pythonOlder
 , fetchFromGitHub
 , aiohttp
@@ -36,6 +37,18 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    # stuck on EpollSelector.poll()
+    "test_power"
+    "test_multiple"
+    "test_invalid_command"
+    "test_state"
+    "test_silent_server_request"
+    "test_silent_server_disconnect"
+    "test_heartbeat"
+    "test_cancellation"
+  ];
+
   pythonImportsCheck = [
     "arcam.fmj"
     "arcam.fmj.client"
diff --git a/pkgs/development/python-modules/asf-search/default.nix b/pkgs/development/python-modules/asf-search/default.nix
index 56e2e7fe8991e..8ce547ee08d83 100644
--- a/pkgs/development/python-modules/asf-search/default.nix
+++ b/pkgs/development/python-modules/asf-search/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "asf-search";
-  version = "7.0.4";
+  version = "7.0.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "asfadmin";
     repo = "Discovery-asf_search";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eq8VKML50TfOnHZFXr+Ht7FUMm+NHJOksKvv3uMcq3g=";
+    hash = "sha256-mumnr3jeiinSLagBfYuMVcdUcM5HkUPD8iwvu9YychA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/autopep8/default.nix b/pkgs/development/python-modules/autopep8/default.nix
index 4bfffd8a780b3..34dd0baa4c99d 100644
--- a/pkgs/development/python-modules/autopep8/default.nix
+++ b/pkgs/development/python-modules/autopep8/default.nix
@@ -1,27 +1,33 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , glibcLocales
 , pycodestyle
 , pytestCheckHook
 , pythonOlder
+, setuptools
 , tomli
 }:
 
 buildPythonPackage rec {
   pname = "autopep8";
-  version = "2.0.4";
-  format = "setuptools";
+  version = "2.0.4-unstable-2023-10-27";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "hhatto";
     repo = "autopep8";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-TuaDnZqn9mRUsoDJkj9JK4ztvzl9JTwAk8nghIkZBvw=";
+    rev = "af7399d90926f2fe99a71f15197a08fa197f73a1";
+    hash = "sha256-psGl9rXxTQGHyXf1VskJ/I/goVH5hRRP5bUXQdaT/8M=";
   };
 
+  build-system = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     pycodestyle
   ] ++ lib.optionals (pythonOlder "3.11") [
diff --git a/pkgs/development/python-modules/axis/default.nix b/pkgs/development/python-modules/axis/default.nix
index 34c0911f3ee58..1d77c3409c948 100644
--- a/pkgs/development/python-modules/axis/default.nix
+++ b/pkgs/development/python-modules/axis/default.nix
@@ -7,23 +7,34 @@
 , orjson
 , packaging
 , pythonOlder
+, setuptools
 , xmltodict
 }:
 
 buildPythonPackage rec {
   pname = "axis";
-  version = "50";
-  format = "setuptools";
+  version = "53";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "Kane610";
-    repo = pname;
+    repo = "axis";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Zu8hT6t7ZxlgXQKb2o20FpB15n9y/+n1qMctzcRP8F8=";
+    hash = "sha256-M5uaRiZP66RApSztvgzzpAUBKCcSCqC6fxzmB52mibY=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "setuptools==68.0.0" "setuptools" \
+      --replace-fail "wheel==0.40.0" "wheel"
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     async-timeout
     attrs
diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix
index b376126432b5c..90a16ee098204 100644
--- a/pkgs/development/python-modules/azure-core/default.nix
+++ b/pkgs/development/python-modules/azure-core/default.nix
@@ -19,7 +19,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.30.0";
+  version = "1.30.1";
   pname = "azure-core";
   pyproject = true;
 
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bzp4g+8YRyL2vZlyYu3a+Az+fls+DKqvjbFpVpWJPTU=";
+    hash = "sha256-Jic6JUEx+EJp6OpEZPNWDHMfKcDB9prJkBCEXyOcGo8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bandit/default.nix b/pkgs/development/python-modules/bandit/default.nix
index f2f30079954d3..e309643e8c6e8 100644
--- a/pkgs/development/python-modules/bandit/default.nix
+++ b/pkgs/development/python-modules/bandit/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy3k
 , pythonOlder
 , gitpython
 , pbr
@@ -12,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "bandit";
-  version = "1.7.7";
-  format = "setuptools";
+  version = "1.7.8";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UnkGvsYIjLSZquMbyWKGS053Vp6dUp7lHfOpO0uKsoo=";
+    hash = "sha256-Nt5Q9yCFarJKJNuqX+4sZgUO2XwUd+ChFZ3qsXdeq2s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bc-detect-secrets/default.nix b/pkgs/development/python-modules/bc-detect-secrets/default.nix
index 0b7d04c69e856..e15cae2562407 100644
--- a/pkgs/development/python-modules/bc-detect-secrets/default.nix
+++ b/pkgs/development/python-modules/bc-detect-secrets/default.nix
@@ -10,13 +10,14 @@
 , pyyaml
 , requests
 , responses
+, setuptools
 , unidiff
 }:
 
 buildPythonPackage rec {
   pname = "bc-detect-secrets";
-  version = "1.4.30";
-  format = "setuptools";
+  version = "1.5.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -24,9 +25,13 @@ buildPythonPackage rec {
     owner = "bridgecrewio";
     repo = "detect-secrets";
     rev = "refs/tags/${version}";
-    hash = "sha256-wq+SKOiMcVO7OiK+RdRk4RNsjSAT7lBdAjLHfurSIRo=";
+    hash = "sha256-Gm8PYN9vqYkGaGKpLZkx0Ehd1P3G2d5LkSjWXxpPerI=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     pyyaml
     requests
diff --git a/pkgs/development/python-modules/bcrypt/default.nix b/pkgs/development/python-modules/bcrypt/default.nix
index fa440cc7fd2d1..9ae71f9ffef6a 100644
--- a/pkgs/development/python-modules/bcrypt/default.nix
+++ b/pkgs/development/python-modules/bcrypt/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "bcrypt";
-  version = "4.0.1";
+  version = "4.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-J9N1kDrIJhz+QEf2cJ0W99GNObHskqr3KvmJVSplDr0=";
+    hash = "sha256-3zf1QY1PHNz/hF9g50egFTifpOY3A8kYMwhl4GrYAAc=";
   };
 
   cargoRoot = "src/_bcrypt";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     inherit src;
     sourceRoot = "${pname}-${version}/${cargoRoot}";
     name = "${pname}-${version}";
-    hash = "sha256-lDWX69YENZFMu7pyBmavUZaalGvFqbHSHfkwkzmDQaY=";
+    hash = "sha256-QYg1+DsZEdXB74vuS4SFvV0n5GXkuwHkOS9j1ogSTjA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bidict/default.nix b/pkgs/development/python-modules/bidict/default.nix
index 2ecbd1124685b..f2c2ce7958f11 100644
--- a/pkgs/development/python-modules/bidict/default.nix
+++ b/pkgs/development/python-modules/bidict/default.nix
@@ -10,13 +10,14 @@
 , pytest-benchmark
 , sortedcollections
 , sortedcontainers
+, typing-extensions
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "bidict";
-  version = "0.22.1";
-  format = "pyproject";
+  version = "0.23.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "jab";
     repo = "bidict";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mPBruasjQwErl5M91OBf71hArztdRVONOCnqos180DY=";
+    hash = "sha256-WE0YaRT4a/byvU2pzcByuf1DfMlOpYA9i0PPrKXsS+M=";
   };
 
   nativeBuildInputs = [
@@ -43,6 +44,7 @@ buildPythonPackage rec {
     pytest-benchmark
     sortedcollections
     sortedcontainers
+    typing-extensions
   ];
 
   pythonImportsCheck = [ "bidict" ];
diff --git a/pkgs/development/python-modules/bless/default.nix b/pkgs/development/python-modules/bless/default.nix
index dbe92d76c73f6..3f24aef8bf539 100644
--- a/pkgs/development/python-modules/bless/default.nix
+++ b/pkgs/development/python-modules/bless/default.nix
@@ -5,24 +5,34 @@
 , dbus-next
 , fetchFromGitHub
 , numpy
+, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "bless";
-  version = "0.2.5";
-  format = "setuptools";
+  version = "0.2.6";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "kevincar";
-    repo = pname;
+    repo = "bless";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+rnMLqNfhIJASCKkIfOKpVil3S/d8BcMxnLHmdOcRIY=";
+    hash = "sha256-dAdA+d75iE6v6t4mfgvwhRsIARLW+IqCGmaMABaDlZg=";
   };
 
+  postPatch = ''
+    sed -i "/pysetupdi/d" setup.py
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     bleak
     dbus-next
@@ -31,6 +41,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aioconsole
     numpy
+    pytest-asyncio
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index 46adc95f6c9e8..a1097629a6b8e 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -365,14 +365,14 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.34.57";
+  version = "1.34.59";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-K3Jxu2h23GprPx5hlEcdpd6qks6cTuVqv0LeDcOb5FY=";
+    hash = "sha256-Yb6i+oGvd1TBCG4WHkuDm7+MCOSKr27i/2rN2OtuFuU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index f1ab0c4f28e34..aa9bcd2246b5a 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , jmespath
+, pytest-xdist
 , pytestCheckHook
 , pythonOlder
 , pythonRelaxDepsHook
@@ -41,6 +42,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    pytest-xdist
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index 1da32d28840a2..b3d4ffe2def91 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.34.57";
+  version = "1.34.59";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-LesD8hhGnFp23+/rLR6fFZmRStu1+L2MwNetfXoHrjM=";
+    hash = "sha256-uUbRzDRMafLopqi7EgZQ5Iwf0yEvdvWGurKw+K/qynU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix
index 90c610b492d3e..3c167ad2bfbc7 100644
--- a/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/pkgs/development/python-modules/bthome-ble/default.nix
@@ -13,8 +13,8 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "3.6.0";
-  format = "pyproject";
+  version = "3.7.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "bthome-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CgPmBZGciK5WsDc46B+v7FmDRwRjxt7VasZg+3xSLN0=";
+    hash = "sha256-ALLeJdEYCFtGZb7dO7xW8Mv331kmQpl0e/CUt9erjHc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cashaddress/default.nix b/pkgs/development/python-modules/cashaddress/default.nix
new file mode 100644
index 0000000000000..8458f9b7fba61
--- /dev/null
+++ b/pkgs/development/python-modules/cashaddress/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pythonOlder
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "cashaddress";
+  version = "1.0.6-unstable-2015-05-19";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "oskyk";
+    repo = "cashaddress";
+    rev = "0ca44cff6bd3e63a67b494296c0d1eeaf6cc120d";
+    hash = "sha256-4izWD2KZqy1F7CAgdbe1fpjMlMZC0clrkHKS9IIQuoc=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "cashaddress"
+  ];
+
+  meta = with lib; {
+    description = "Python tool for convert bitcoin cash legacy addresses";
+    homepage = "https://github.com/oskyk/cashaddress";
+    changelog = "https://github.com/oskyk/cashaddress/releases/tag/${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/chameleon/default.nix b/pkgs/development/python-modules/chameleon/default.nix
index fccfec53512ea..3c97002f5dcd1 100644
--- a/pkgs/development/python-modules/chameleon/default.nix
+++ b/pkgs/development/python-modules/chameleon/default.nix
@@ -1,25 +1,45 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
+, importlib-metadata
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "Chameleon";
-  version = "3.8.1";
+  pname = "chameleon";
+  version = "4.5.2";
+  pyproject = true;
 
-  # tests not included in pypi tarball
   src = fetchFromGitHub {
     owner = "malthe";
     repo = "chameleon";
-    rev = version;
-    sha256 = "0nf8x4w2vh1a31wdb86nnvlic9xmr23j3in1f6fq4z6mv2jkwa87";
+    rev = "refs/tags/${version}";
+    hash = "sha256-SVLKT6JeFUpF7gYkq3B7Lm9b9SG2qa6Ekp8i8xM0Xh0=";
   };
 
-  pythonImportsCheck = [ "chameleon" ];
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "chameleon"
+  ];
 
   meta = with lib; {
-    homepage = "https://chameleon.readthedocs.io/";
+    changelog = "https://github.com/malthe/chameleon/blob/${version}/CHANGES.rst";
     description = "Fast HTML/XML Template Compiler";
+    downloadPage = "https://github.com/malthe/chameleon";
+    homepage = "https://chameleon.readthedocs.io";
     license = licenses.bsd0;
     maintainers = with maintainers; [ domenkozar ];
   };
diff --git a/pkgs/development/python-modules/cherrypy/default.nix b/pkgs/development/python-modules/cherrypy/default.nix
index 51c8b62c97168..903be65bf068e 100644
--- a/pkgs/development/python-modules/cherrypy/default.nix
+++ b/pkgs/development/python-modules/cherrypy/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , cheroot
+, fetchpatch
 , fetchPypi
 , jaraco-collections
 , more-itertools
@@ -24,23 +25,34 @@
 
 buildPythonPackage rec {
   pname = "cherrypy";
-  version = "18.8.0";
-  format = "setuptools";
+  version = "18.9.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "CherryPy";
     inherit version;
-    hash = "sha256-m0jPuoovFtW2QZzGV+bVHbAFujXF44JORyi7A7vH75s=";
+    hash = "sha256-awbBkc5xqGRh8wVyoatX/8CfQxQ7qOQsEDx7M0ciDrE=";
   };
 
+  patches = [
+    # Replace distutils.spawn.find_executable with shutil.which, https://github.com/cherrypy/cherrypy/pull/2023
+    (fetchpatch {
+      name = "remove-distutils.patch";
+      url = "https://github.com/cherrypy/cherrypy/commit/8a19dd5f1e712a326a3613b17e6fc900012ed09a.patch";
+      hash = "sha256-fXECX0CdU74usiq9GEkIG9CF+dueszblT4qOeF6B700=";
+    })
+  ];
+
   postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail '"setuptools_scm_git_archive >= 1.1",' ""
     # Disable doctest plugin because times out
     substituteInPlace pytest.ini \
-      --replace "--doctest-modules" "-vvv" \
-      --replace "-p pytest_cov" "" \
-      --replace "--no-cov-on-fail" ""
+      --replace-fail "--doctest-modules" "-vvv" \
+      --replace-fail "-p pytest_cov" "" \
+      --replace-fail "--no-cov-on-fail" ""
     sed -i "/--cov/d" pytest.ini
   '';
 
@@ -50,10 +62,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     cheroot
-    portend
+    jaraco-collections
     more-itertools
+    portend
     zc-lockfile
-    jaraco-collections
   ];
 
   nativeCheckInputs = [
@@ -126,6 +138,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Object-oriented HTTP framework";
     homepage = "https://cherrypy.dev/";
+    changelog = "https://github.com/cherrypy/cherrypy/blob/v${version}/CHANGES.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/chromadb/default.nix b/pkgs/development/python-modules/chromadb/default.nix
index 0cc5484332df7..37cc44da3f72d 100644
--- a/pkgs/development/python-modules/chromadb/default.nix
+++ b/pkgs/development/python-modules/chromadb/default.nix
@@ -150,6 +150,8 @@ buildPythonPackage rec {
     "chromadb/test/stress/"
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "The AI-native open-source embedding database";
     homepage = "https://github.com/chroma-core/chroma";
diff --git a/pkgs/development/python-modules/clickhouse-connect/default.nix b/pkgs/development/python-modules/clickhouse-connect/default.nix
index b51949f73a13d..4c073d21c9675 100644
--- a/pkgs/development/python-modules/clickhouse-connect/default.nix
+++ b/pkgs/development/python-modules/clickhouse-connect/default.nix
@@ -23,7 +23,7 @@
 }:
 buildPythonPackage rec {
   pname = "clickhouse-connect";
-  version = "0.7.1";
+  version = "0.7.2";
 
   format = "setuptools";
 
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     repo = "clickhouse-connect";
     owner = "ClickHouse";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Qdv0DcdIjqz8NtyMsVNQxGTxsB3TpXUGDA3oL8QbBDc=";
+    hash = "sha256-UOS0Z8KsMqyFBPfVc8Lag7zfw1DNgNDEnvAbmG15FGg=";
   };
 
   nativeBuildInputs = [ cython_3 ];
diff --git a/pkgs/development/python-modules/cloudsmith-api/default.nix b/pkgs/development/python-modules/cloudsmith-api/default.nix
index efc930341be2d..bd17a7791f1bc 100644
--- a/pkgs/development/python-modules/cloudsmith-api/default.nix
+++ b/pkgs/development/python-modules/cloudsmith-api/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "cloudsmith-api";
-  version = "2.0.10";
+  version = "2.0.11";
   format = "wheel";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "cloudsmith_api";
     inherit format version;
-    hash = "sha256-h193MX8W12dYQnUVG20iWiSnnIFMdUc4amhJ7rGqb/4=";
+    hash = "sha256-GwRN3nVMf/OusgJICf/GCCcZ4szEIGl8AZQ7J7LBzro=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/coconut/default.nix b/pkgs/development/python-modules/coconut/default.nix
index 3a00891e60dd2..19571b93ac1e1 100644
--- a/pkgs/development/python-modules/coconut/default.nix
+++ b/pkgs/development/python-modules/coconut/default.nix
@@ -1,4 +1,6 @@
 { lib
+, anyio
+, async-generator
 , buildPythonPackage
 , fetchFromGitHub
 , cpyparsing
@@ -30,6 +32,8 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    anyio
+    async-generator
     cpyparsing
     ipykernel
     mypy
@@ -50,11 +54,14 @@ buildPythonPackage rec {
     "coconut/tests/constants_test.py"
   ];
 
-  pythonImportsCheck = [ "coconut" ];
+  pythonImportsCheck = [
+    "coconut"
+  ];
 
   meta = with lib; {
-    homepage = "http://coconut-lang.org/";
     description = "Simple, elegant, Pythonic functional programming";
+    homepage = "http://coconut-lang.org/";
+    changelog = "https://github.com/evhub/coconut/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fabianhjr ];
   };
diff --git a/pkgs/development/python-modules/cohere/default.nix b/pkgs/development/python-modules/cohere/default.nix
index 86b7e7b1b739a..323efb118503f 100644
--- a/pkgs/development/python-modules/cohere/default.nix
+++ b/pkgs/development/python-modules/cohere/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "cohere";
-  version = "4.51";
+  version = "4.52";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AfsJLqkDjdT7Ng77NQb60kUe0jHLZ3TjJLmTyTdKVQo=";
+    hash = "sha256-C2w447+hxsFrjLpV3wrSzptuVb1JTyppq+NUzMCU+Iw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cpyparsing/default.nix b/pkgs/development/python-modules/cpyparsing/default.nix
index cd34ebf1da1f0..c475652799ea8 100644
--- a/pkgs/development/python-modules/cpyparsing/default.nix
+++ b/pkgs/development/python-modules/cpyparsing/default.nix
@@ -1,28 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, cython
+, cython_3
 , pexpect
 , python
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "cpyparsing";
   version = "2.4.7.2.3.2";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "evhub";
-    repo = pname;
+    repo = "cpyparsing";
     rev = "refs/tags/v${version}";
     hash = "sha256-vnzZdJ7pZz1QxlTqw5UKjxB4GVcXuCfKWX4lu3ORWas=";
   };
 
   nativeBuildInputs = [
-    cython
+    cython_3
+    setuptools
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix
index 6ac6f5db0509e..03f7c636393bb 100644
--- a/pkgs/development/python-modules/croniter/default.nix
+++ b/pkgs/development/python-modules/croniter/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "croniter";
-  version = "2.0.1";
+  version = "2.0.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0Zmy7D6l6CmI0fcgIkM8X5MCs7Pqnmv9ahUY9upecAo=";
+    hash = "sha256-i/8Wya9O8ftvBUFpc7j3y1SZfALy+DZSUfm/Hd7ZGGY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/css-inline/Cargo.lock b/pkgs/development/python-modules/css-inline/Cargo.lock
index 58bca2b6e0f77..429622a63cb85 100644
--- a/pkgs/development/python-modules/css-inline/Cargo.lock
+++ b/pkgs/development/python-modules/css-inline/Cargo.lock
@@ -3,6 +3,15 @@
 version = 3
 
 [[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
 name = "adler"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -24,25 +33,31 @@ dependencies = [
 ]
 
 [[package]]
-name = "attohttpc"
-version = "0.25.0"
+name = "autocfg"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e57d6e7a84f33ff3316e97af3180fe7f86597a6a60161c0be70c0e45f382620"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
- "flate2",
- "http",
- "log",
- "rustls",
- "url",
- "webpki",
- "webpki-roots",
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
 ]
 
 [[package]]
-name = "autocfg"
-version = "1.1.0"
+name = "base64"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "bitflags"
@@ -51,10 +66,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
+[[package]]
 name = "built"
-version = "0.6.1"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b99c4cdc7b2c2364182331055623bdf45254fcb679fea565c40c3c11c101889a"
+checksum = "38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53"
 dependencies = [
  "cargo-lock",
  "chrono",
@@ -62,21 +83,21 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "d32a994c2b3ca201d9b263612a374263f05e7adde37c4707f693dcd375076d1f"
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cargo-lock"
@@ -92,9 +113,12 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "cfg-if"
@@ -104,89 +128,66 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.26"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "num-traits",
- "winapi",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
-name = "convert_case"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
+name = "core-foundation"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
- "cfg-if",
+ "core-foundation-sys",
+ "libc",
 ]
 
 [[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
+name = "core-foundation-sys"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "css-inline"
-version = "0.10.1"
+version = "0.13.0"
 dependencies = [
- "attohttpc",
  "cssparser",
  "html5ever",
  "indexmap",
- "memchr",
+ "reqwest",
+ "rustc-hash",
  "selectors",
  "smallvec",
  "url",
@@ -194,7 +195,7 @@ dependencies = [
 
 [[package]]
 name = "css-inline-python"
-version = "0.10.1"
+version = "0.13.0"
 dependencies = [
  "built",
  "css-inline",
@@ -206,19 +207,15 @@ dependencies = [
 
 [[package]]
 name = "cssparser"
-version = "0.29.6"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa"
+checksum = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be"
 dependencies = [
  "cssparser-macros",
  "dtoa-short",
  "itoa",
- "matches",
- "phf 0.10.1",
- "proc-macro2",
- "quote",
+ "phf 0.11.2",
  "smallvec",
- "syn 1.0.109",
 ]
 
 [[package]]
@@ -228,7 +225,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
 dependencies = [
  "quote",
- "syn 2.0.18",
+ "syn 2.0.49",
 ]
 
 [[package]]
@@ -237,18 +234,16 @@ version = "0.99.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
 dependencies = [
- "convert_case",
  "proc-macro2",
  "quote",
- "rustc_version",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "dtoa"
-version = "1.0.6"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65d09067bfacaa79114679b279d7f5885b53295b1e2cfb4e79c8e4bd3d633169"
+checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
 
 [[package]]
 name = "dtoa-short"
@@ -261,21 +256,26 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
-name = "flate2"
-version = "1.0.26"
+name = "encoding_rs"
+version = "0.8.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 dependencies = [
- "crc32fast",
- "miniz_oxide",
+ "cfg-if",
 ]
 
 [[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
 name = "fnv"
 version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -283,9 +283,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -301,6 +301,54 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-core",
+ "futures-io",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
 name = "fxhash"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -311,40 +359,57 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.1.16"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
-name = "getrandom"
-version = "0.2.10"
+name = "gimli"
+version = "0.28.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+
+[[package]]
+name = "h2"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
 dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
 
 [[package]]
 name = "html5ever"
@@ -362,9 +427,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
@@ -372,17 +437,78 @@ dependencies = [
 ]
 
 [[package]]
+name = "http-body"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "hyper"
+version = "0.14.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
+dependencies = [
+ "futures-util",
+ "http",
+ "hyper",
+ "rustls",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
 name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows",
+ "windows-core",
 ]
 
 [[package]]
@@ -396,9 +522,9 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -406,46 +532,52 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
 dependencies = [
- "autocfg",
+ "equivalent",
  "hashbrown",
 ]
 
 [[package]]
 name = "indoc"
-version = "1.0.9"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
+[[package]]
+name = "ipnet"
+version = "2.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
 name = "itoa"
-version = "1.0.6"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "libc"
-version = "0.2.146"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -453,9 +585,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "mac"
@@ -471,23 +603,17 @@ checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
 dependencies = [
  "log",
  "phf 0.10.1",
- "phf_codegen 0.10.0",
+ "phf_codegen",
  "string_cache",
  "string_cache_codegen",
  "tendril",
 ]
 
 [[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memoffset"
@@ -499,50 +625,70 @@ dependencies = [
 ]
 
 [[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
 ]
 
 [[package]]
-name = "new_debug_unreachable"
-version = "1.0.4"
+name = "mio"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys",
+]
 
 [[package]]
-name = "nodrop"
-version = "0.1.14"
+name = "new_debug_unreachable"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
  "hermit-abi",
  "libc",
 ]
 
 [[package]]
+name = "object"
+version = "0.32.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "parking_lot"
@@ -556,31 +702,22 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-targets",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
-
-[[package]]
-name = "phf"
-version = "0.8.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
-dependencies = [
- "phf_shared 0.8.0",
-]
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
@@ -588,19 +725,17 @@ version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
 dependencies = [
- "phf_macros",
  "phf_shared 0.10.0",
- "proc-macro-hack",
 ]
 
 [[package]]
-name = "phf_codegen"
-version = "0.8.0"
+name = "phf"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
- "phf_generator 0.8.0",
- "phf_shared 0.8.0",
+ "phf_macros",
+ "phf_shared 0.11.2",
 ]
 
 [[package]]
@@ -615,57 +750,68 @@ dependencies = [
 
 [[package]]
 name = "phf_generator"
-version = "0.8.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
+checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
 dependencies = [
- "phf_shared 0.8.0",
- "rand 0.7.3",
+ "phf_shared 0.10.0",
+ "rand",
 ]
 
 [[package]]
 name = "phf_generator"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
 dependencies = [
- "phf_shared 0.10.0",
- "rand 0.8.5",
+ "phf_shared 0.11.2",
+ "rand",
 ]
 
 [[package]]
 name = "phf_macros"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
 dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
- "proc-macro-hack",
+ "phf_generator 0.11.2",
+ "phf_shared 0.11.2",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.49",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.8.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
 dependencies = [
  "siphasher",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
 dependencies = [
  "siphasher",
 ]
 
 [[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -678,25 +824,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
 
 [[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-
-[[package]]
 name = "proc-macro2"
-version = "1.0.60"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "pyo3"
-version = "0.19.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cffef52f74ec3b1a1baf295d9b8fcc3070327aefc39a6d00656b13c1d0b8885c"
+checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
 dependencies = [
  "cfg-if",
  "indoc",
@@ -711,9 +851,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-build-config"
-version = "0.19.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713eccf888fb05f1a96eb78c0dbc51907fee42b3377272dc902eb38985f418d5"
+checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
 dependencies = [
  "once_cell",
  "target-lexicon",
@@ -727,9 +867,9 @@ checksum = "be6d574e0f8cab2cdd1eeeb640cbf845c974519fa9e9b62fa9c08ecece0ca5de"
 
 [[package]]
 name = "pyo3-ffi"
-version = "0.19.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b2ecbdcfb01cbbf56e179ce969a048fd7305a66d4cdf3303e0da09d69afe4c3"
+checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
 dependencies = [
  "libc",
  "pyo3-build-config",
@@ -737,69 +877,46 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros"
-version = "0.19.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b78fdc0899f2ea781c463679b20cb08af9247febc8d052de941951024cd8aea0"
+checksum = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3"
 dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.49",
 ]
 
 [[package]]
 name = "pyo3-macros-backend"
-version = "0.19.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60da7b84f1227c3e2fe7593505de274dcf4c8928b4e0a1c23d551a14e4e80a0f"
+checksum = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f"
 dependencies = [
+ "heck",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.49",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.28"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
- "rand_pcg",
-]
-
-[[package]]
-name = "rand"
 version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
+ "rand_chacha",
+ "rand_core",
 ]
 
 [[package]]
@@ -809,16 +926,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
+ "rand_core",
 ]
 
 [[package]]
@@ -827,32 +935,14 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.10",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-dependencies = [
- "rand_core 0.5.1",
+ "getrandom",
 ]
 
 [[package]]
 name = "rayon"
-version = "1.7.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -860,54 +950,95 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.11.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.11.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
+dependencies = [
+ "base64",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-rustls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "system-configuration",
+ "tokio",
+ "tokio-rustls",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "webpki-roots",
+ "winreg",
 ]
 
 [[package]]
 name = "ring"
-version = "0.16.20"
+version = "0.17.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
 dependencies = [
  "cc",
+ "getrandom",
  "libc",
- "once_cell",
  "spin",
  "untrusted",
- "web-sys",
- "winapi",
+ "windows-sys",
 ]
 
 [[package]]
-name = "rustc_version"
-version = "0.4.0"
+name = "rustc-demangle"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver",
-]
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustls"
-version = "0.21.2"
+version = "0.21.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e32ca28af694bc1bbf399c33a516dbdf1c90090b8ab23c2bc24f834aa2247f5f"
+checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
 dependencies = [
  "log",
  "ring",
@@ -916,26 +1047,41 @@ dependencies = [
 ]
 
 [[package]]
+name = "rustls-pemfile"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+dependencies = [
+ "base64",
+]
+
+[[package]]
 name = "rustls-webpki"
-version = "0.100.1"
+version = "0.101.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 dependencies = [
  "ring",
  "untrusted",
 ]
 
 [[package]]
+name = "ryu"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+
+[[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "sct"
-version = "0.7.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
  "ring",
  "untrusted",
@@ -943,17 +1089,18 @@ dependencies = [
 
 [[package]]
 name = "selectors"
-version = "0.24.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416"
+checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.2",
  "cssparser",
  "derive_more",
  "fxhash",
  "log",
- "phf 0.8.0",
- "phf_codegen 0.8.0",
+ "new_debug_unreachable",
+ "phf 0.10.1",
+ "phf_codegen",
  "precomputed-hash",
  "servo_arc",
  "smallvec",
@@ -961,69 +1108,110 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.164"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.164"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.49",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.113"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.2"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
 dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
  "serde",
 ]
 
 [[package]]
 name = "servo_arc"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741"
+checksum = "d036d71a959e00c77a63538b90a6c2390969f9772b096ea837205c6bd0491a44"
 dependencies = [
- "nodrop",
  "stable_deref_trait",
 ]
 
 [[package]]
 name = "siphasher"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
 
 [[package]]
 name = "spin"
-version = "0.5.2"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
 
 [[package]]
 name = "stable_deref_trait"
@@ -1070,9 +1258,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.18"
+version = "2.0.49"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
+checksum = "915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1080,10 +1268,37 @@ dependencies = [
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
 name = "target-lexicon"
-version = "0.12.8"
+version = "0.12.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1c7f239eb94671427157bd93b3694320f3668d4e1eff08c7285366fd777fac"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
 
 [[package]]
 name = "tendril"
@@ -1112,10 +1327,50 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
+name = "tokio"
+version = "1.36.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "pin-project-lite",
+ "socket2",
+ "windows-sys",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
+dependencies = [
+ "rustls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
 name = "toml"
-version = "0.7.4"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec"
+checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
 dependencies = [
  "serde",
  "serde_spanned",
@@ -1125,18 +1380,18 @@ dependencies = [
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.2"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.19.10"
+version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
  "indexmap",
  "serde",
@@ -1146,16 +1401,47 @@ dependencies = [
 ]
 
 [[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
+
+[[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.9"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
@@ -1168,21 +1454,21 @@ dependencies = [
 
 [[package]]
 name = "unindent"
-version = "0.1.11"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
 
 [[package]]
 name = "untrusted"
-version = "0.7.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "url"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -1196,10 +1482,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
 
 [[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
+name = "want"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
 
 [[package]]
 name = "wasi"
@@ -1209,9 +1498,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -1219,24 +1508,36 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.49",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.41"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -1244,145 +1545,186 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.49",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
 ]
 
 [[package]]
-name = "webpki"
-version = "0.22.0"
+name = "webpki-roots"
+version = "0.25.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "ring",
- "untrusted",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
-name = "webpki-roots"
-version = "0.23.1"
+name = "windows-sys"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "rustls-webpki",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
-name = "winapi"
-version = "0.3.9"
+name = "windows-targets"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
+name = "windows-targets"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
 
 [[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
-name = "windows"
-version = "0.48.0"
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-targets",
-]
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
-name = "windows-targets"
-version = "0.48.0"
+name = "windows_aarch64_msvc"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
-dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
-]
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+name = "windows_aarch64_msvc"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.0"
+name = "windows_i686_gnu"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "winnow"
-version = "0.4.7"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
+
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys",
+]
diff --git a/pkgs/development/python-modules/css-inline/default.nix b/pkgs/development/python-modules/css-inline/default.nix
index 9eb36c8bd61bd..44c142b89308d 100644
--- a/pkgs/development/python-modules/css-inline/default.nix
+++ b/pkgs/development/python-modules/css-inline/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "css-inline";
-  version = "0.10.1";
-  format = "pyproject";
+  version = "0.13.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Stranger6667";
     repo = "css-inline";
     rev = "python-v${version}";
-    hash = "sha256-oBAJv/hAz/itT2WakIw/1X1NvOHX108NoeS6V7k+aG8=";
+    hash = "sha256-hhjeOr7EJc4Tmn/eQ1vF0xChSIlgfSmtqi6s7WCUq00=";
   };
 
   postPatch = ''
@@ -41,7 +41,7 @@ buildPythonPackage rec {
       ln -s ${./Cargo.lock} Cargo.lock
     '';
     name = "${pname}-${version}";
-    hash = "sha256-SFG1nsP4+I0zH8VeyL1eeaTx0tHNIvmx6M0cko0pqIA=";
+    hash = "sha256-noYBSwCfdpuwb55toyx4K/16Z4A0NWjnMuzwTi5g8AU=";
   };
 
   nativeBuildInputs = [
@@ -63,6 +63,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # fails to connect to local server
+    "test_remote_stylesheet"
+  ];
+
   meta = with lib; {
     description = "Inline CSS into style attributes";
     homepage = "https://github.com/Stranger6667/css-inline";
diff --git a/pkgs/development/python-modules/debugpy/default.nix b/pkgs/development/python-modules/debugpy/default.nix
index 85389fba2fb2f..2fc23833dafd2 100644
--- a/pkgs/development/python-modules/debugpy/default.nix
+++ b/pkgs/development/python-modules/debugpy/default.nix
@@ -111,6 +111,8 @@ buildPythonPackage rec {
     # testsuite gets stuck at this one
     "test_attach_pid_client"
   ];
+  # TODO? https://github.com/NixOS/nixpkgs/issues/262000
+  doCheck = !stdenv.isLinux;
 
   pythonImportsCheck = [
     "debugpy"
diff --git a/pkgs/development/python-modules/deltachat/default.nix b/pkgs/development/python-modules/deltachat/default.nix
index 8d3f0cf20e11f..4b5b0d8f73627 100644
--- a/pkgs/development/python-modules/deltachat/default.nix
+++ b/pkgs/development/python-modules/deltachat/default.nix
@@ -4,13 +4,11 @@
 , pkg-config
 , pkgconfig
 , setuptools-scm
-, wheel
 , libdeltachat
 , cffi
 , imap-tools
 , requests
 , pluggy
-, setuptools
 , pytestCheckHook
 }:
 
@@ -20,15 +18,13 @@ buildPythonPackage rec {
   sourceRoot = "${src.name}/python";
 
   disabled = pythonOlder "3.7";
-  format = "pyproject";
+  pyproject = true;
 
   nativeBuildInputs = [
     cffi
     pkg-config
     pkgconfig
-    setuptools
     setuptools-scm
-    wheel
   ];
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/dirigera/default.nix b/pkgs/development/python-modules/dirigera/default.nix
new file mode 100644
index 0000000000000..e56495f3899e1
--- /dev/null
+++ b/pkgs/development/python-modules/dirigera/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pydantic
+, pytestCheckHook
+, pythonOlder
+, requests
+, setuptools
+, websocket-client
+}:
+
+buildPythonPackage rec {
+  pname = "dirigera";
+  version = "1.0.10";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "Leggin";
+    repo = "dirigera";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-FuytNb+AiimKZPhX7qaxKvM4Y9NofvrzMGLW1PPu3Cw=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    pydantic
+    requests
+    websocket-client
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "dirigera"
+  ];
+
+  meta = with lib; {
+    description = "Module for controlling the IKEA Dirigera Smart Home Hub";
+    homepage = "https://github.com/Leggin/dirigera";
+    changelog = "https://github.com/Leggin/dirigera/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/dissect-btrfs/default.nix b/pkgs/development/python-modules/dissect-btrfs/default.nix
index 3d1bc5c20bac0..8b492ae66701d 100644
--- a/pkgs/development/python-modules/dissect-btrfs/default.nix
+++ b/pkgs/development/python-modules/dissect-btrfs/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-btrfs";
-  version = "1.1";
+  version = "1.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.btrfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-3k0UUkce7bZ3mZ8Umjms4DX63QeBdRPUXpsdaK0VDyc=";
+    hash = "sha256-nWgeChHHCAjD5I98h2/1HrO5688aZUM4j2PJiD1xP0g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-cim/default.nix b/pkgs/development/python-modules/dissect-cim/default.nix
index acac46050a273..c9aef3e961ec9 100644
--- a/pkgs/development/python-modules/dissect-cim/default.nix
+++ b/pkgs/development/python-modules/dissect-cim/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-cim";
-  version = "3.7";
+  version = "3.8";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.cim";
     rev = "refs/tags/${version}";
-    hash = "sha256-+HHjDUSepAEebMD5ckjXbfgA4AKlNMBYHwxDq+jdhxw=";
+    hash = "sha256-NbGI6d1C3X7PbTsbDSCS4AUK6ueCBOuQDTNhkULrLYc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-clfs/default.nix b/pkgs/development/python-modules/dissect-clfs/default.nix
index 03284d72cc93f..1007dcc07c62b 100644
--- a/pkgs/development/python-modules/dissect-clfs/default.nix
+++ b/pkgs/development/python-modules/dissect-clfs/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-clfs";
-  version = "1.6";
+  version = "1.7";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.clfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-JdfO9KVuK1TsDyqEQkuHPJtSHDCym63imvLSHsVwQ3k=";
+    hash = "sha256-DBnZlyk7rjuTpOjgFUmSNxqvIZk8OxACNqyFDcENFHM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-cstruct/default.nix b/pkgs/development/python-modules/dissect-cstruct/default.nix
index bcc86b1f7588b..a1ed699aef371 100644
--- a/pkgs/development/python-modules/dissect-cstruct/default.nix
+++ b/pkgs/development/python-modules/dissect-cstruct/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-cstruct";
-  version = "3.12";
+  version = "3.13";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.cstruct";
     rev = "refs/tags/${version}";
-    hash = "sha256-67s0Qr/YeQp/K9MZS+btKdp+9J6mIMCwiittIUB9p2w=";
+    hash = "sha256-QfnvWCI67y8GdCfXIRaehzb26IVZ8N0muUnNpr1NGJo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-esedb/default.nix b/pkgs/development/python-modules/dissect-esedb/default.nix
index b5ddf86dd5480..0a6810749b6d7 100644
--- a/pkgs/development/python-modules/dissect-esedb/default.nix
+++ b/pkgs/development/python-modules/dissect-esedb/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-esedb";
-  version = "3.11";
+  version = "3.12";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.esedb";
     rev = "refs/tags/${version}";
-    hash = "sha256-ynrZqP3QXe+SXFB0Uz+tdH2jGj+hpHfarbEN2P1+r/8=";
+    hash = "sha256-s3ZIK4ZtHU5B3f9ojVTC2Aqn3G7CosTvdV6U3cwEatY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-etl/default.nix b/pkgs/development/python-modules/dissect-etl/default.nix
index 1e110a915f9a9..c7b9236c75c33 100644
--- a/pkgs/development/python-modules/dissect-etl/default.nix
+++ b/pkgs/development/python-modules/dissect-etl/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-etl";
-  version = "3.7";
-  format = "pyproject";
+  version = "3.8";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.etl";
     rev = "refs/tags/${version}";
-    hash = "sha256-z6P7XpA+j9JIJJsp/Z4uewFw9OAPSZV+57eJu7rd17I=";
+    hash = "sha256-yGpDZAaw11Sr5OPWxbY/NpZAV3jJUIgtTgDykCvYDtM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-eventlog/default.nix b/pkgs/development/python-modules/dissect-eventlog/default.nix
index 60f9d52cac74d..d8ace92854349 100644
--- a/pkgs/development/python-modules/dissect-eventlog/default.nix
+++ b/pkgs/development/python-modules/dissect-eventlog/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-eventlog";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.eventlog";
     rev = "refs/tags/${version}";
-    hash = "sha256-h1LrBt8f9YFkc1uAAb4WwY3LjPuvsdVFvxji3QxKF0A=";
+    hash = "sha256-YiWW1olaIKoBfiZfr4TfIEsnj/C4cmn6sYosvjeiEfM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-evidence/default.nix b/pkgs/development/python-modules/dissect-evidence/default.nix
index e60f81e419626..d8f9823634f47 100644
--- a/pkgs/development/python-modules/dissect-evidence/default.nix
+++ b/pkgs/development/python-modules/dissect-evidence/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-evidence";
-  version = "3.7";
+  version = "3.8";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.evidence";
     rev = "refs/tags/${version}";
-    hash = "sha256-b7Ls3Xfd0scMe/gccjvRfuADITnz5QpJNLUaIgmZtpI=";
+    hash = "sha256-/zmMPSVR6F6SIU7xuotErmU2SsKEV43rs/4oTVKAWz0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-executable/default.nix b/pkgs/development/python-modules/dissect-executable/default.nix
index 7b3757d0f3ad5..8511b2df94485 100644
--- a/pkgs/development/python-modules/dissect-executable/default.nix
+++ b/pkgs/development/python-modules/dissect-executable/default.nix
@@ -10,8 +10,8 @@
 
 buildPythonPackage rec {
   pname = "dissect-executable";
-  version = "1.4";
-  format = "pyproject";
+  version = "1.5";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.executable";
     rev = "refs/tags/${version}";
-    hash = "sha256-h9eOTWJR0Bd3DY8WDYWqLCl1jYJcqP6cRTgWubf/rKI=";
+    hash = "sha256-aAalU0TUqXc13WnxJvirG3QzQyMstecOfnXMdFT8IzU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-extfs/default.nix b/pkgs/development/python-modules/dissect-extfs/default.nix
index 0659372ca5cf8..6838350cb8dee 100644
--- a/pkgs/development/python-modules/dissect-extfs/default.nix
+++ b/pkgs/development/python-modules/dissect-extfs/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-extfs";
-  version = "3.8";
+  version = "3.9";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.extfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-yM9PTMI4/8oU2bvOCKdh5tT0gw9+6esV1auKSbupL0U=";
+    hash = "sha256-xZEULUm0I754f9MEIUZEua76SaY/WMFp4Q5BMNZ8fWU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-fat/default.nix b/pkgs/development/python-modules/dissect-fat/default.nix
index be5043fd27de5..636265f4129c6 100644
--- a/pkgs/development/python-modules/dissect-fat/default.nix
+++ b/pkgs/development/python-modules/dissect-fat/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-fat";
-  version = "3.7";
+  version = "3.8";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.fat";
     rev = "refs/tags/${version}";
-    hash = "sha256-YfWshytfj4p2MqLpzE3b1/RtrL1/+Xd/5+RNbrH/Jfc=";
+    hash = "sha256-xFfB7QOZ3KjsOPQ1cPTRkqb0hgD4waOq8kkSTJStQ+E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-ffs/default.nix b/pkgs/development/python-modules/dissect-ffs/default.nix
index 3d1afcf31ccbe..f95319ade1353 100644
--- a/pkgs/development/python-modules/dissect-ffs/default.nix
+++ b/pkgs/development/python-modules/dissect-ffs/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-ffs";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.ffs";
     rev = "refs/tags/${version}";
-    hash = "sha256-eyqqsOKcRmzOY+fj1FYudh9FUanD0Z59zZPtsNz6I0s=";
+    hash = "sha256-f7lXYJ2U8M+rZXrlbrAXAjizCVz6rAAZbeSg+iOmKdo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-hypervisor/default.nix b/pkgs/development/python-modules/dissect-hypervisor/default.nix
index d8ccf0e0d8fb0..27bf9056e258f 100644
--- a/pkgs/development/python-modules/dissect-hypervisor/default.nix
+++ b/pkgs/development/python-modules/dissect-hypervisor/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-hypervisor";
-  version = "3.11";
+  version = "3.12";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.hypervisor";
     rev = "refs/tags/${version}";
-    hash = "sha256-x7C2h9NZRlkJWAe0+PCmOhOpfHM2/4vc7oEGQqGEPq8=";
+    hash = "sha256-uQt+oyETjZHPa1QZfswpUX92ZCdzkR5x9deo15J+Fxo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-jffs/default.nix b/pkgs/development/python-modules/dissect-jffs/default.nix
index 1fdc2af6cc21d..234f61e007e33 100644
--- a/pkgs/development/python-modules/dissect-jffs/default.nix
+++ b/pkgs/development/python-modules/dissect-jffs/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-jffs";
-  version = "1.0";
+  version = "1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.jffs";
     rev = "refs/tags/${version}";
-    hash = "sha256-Rj8/WRHNl2IQ6zwvLhqEIEMzk8BH1fv7KQkw1NzoDjI=";
+    hash = "sha256-jzSPR4pkvXRQ3Q/qL7Oa3mLX3hW2IhbXuuO0jTc8Gvg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-ntfs/default.nix b/pkgs/development/python-modules/dissect-ntfs/default.nix
index 97ebe80f18b86..61f3eaa645606 100644
--- a/pkgs/development/python-modules/dissect-ntfs/default.nix
+++ b/pkgs/development/python-modules/dissect-ntfs/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-ntfs";
-  version = "3.8";
+  version = "3.9";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.ntfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-BmXYnN8B7r/gz+zEWWS7ClOv29QOiHrm7g2ZNZXlnGU=";
+    hash = "sha256-gjmxoxz4Qf2FsCP72siEpVLeqlZfvhuFZHSGr1n+cY0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-ole/default.nix b/pkgs/development/python-modules/dissect-ole/default.nix
index 3d47252b829f8..1d527d33ab08d 100644
--- a/pkgs/development/python-modules/dissect-ole/default.nix
+++ b/pkgs/development/python-modules/dissect-ole/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-ole";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.ole";
     rev = "refs/tags/${version}";
-    hash = "sha256-4shxYKR6IrrMj2BIb5yFD7+C0SNyqsGOoBkWpad1EbI=";
+    hash = "sha256-Df6OU1vVsQl7d119W8+8YmUiy2+m6Dw3LpKnMVSRRR4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-regf/default.nix b/pkgs/development/python-modules/dissect-regf/default.nix
index a2050fe6bd3c0..8f8ae56b383d7 100644
--- a/pkgs/development/python-modules/dissect-regf/default.nix
+++ b/pkgs/development/python-modules/dissect-regf/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-regf";
-  version = "3.8";
+  version = "3.9";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.regf";
     rev = "refs/tags/${version}";
-    hash = "sha256-4tKu7oPkpNcWr2XJvZg94yZZcbTeeXBphPCLoZYzg6U=";
+    hash = "sha256-NLhZnStcJCtXMBkayLjvuG7aK2aN3sWGZaPKVXIoRew=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-shellitem/default.nix b/pkgs/development/python-modules/dissect-shellitem/default.nix
index 77e1e6344fe29..7b212feee0ce1 100644
--- a/pkgs/development/python-modules/dissect-shellitem/default.nix
+++ b/pkgs/development/python-modules/dissect-shellitem/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-shellitem";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.shellitem";
     rev = "refs/tags/${version}";
-    hash = "sha256-g8o6W5MZ7E8AKYs5QGQGw3IQhZehrOcY6wJrt9TJf4s=";
+    hash = "sha256-E5v7WuAd47X/1LSeaje4EUv+GuFq5Ksg4ndOScFreYE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-sql/default.nix b/pkgs/development/python-modules/dissect-sql/default.nix
index 208096a56e52b..275e1a2913d38 100644
--- a/pkgs/development/python-modules/dissect-sql/default.nix
+++ b/pkgs/development/python-modules/dissect-sql/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-sql";
-  version = "3.7";
+  version = "3.8";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.sql";
     rev = "refs/tags/${version}";
-    hash = "sha256-BHwm88IPtfg/bi5veFGnciQeH4s0asVnxiMVsIi8vV8=";
+    hash = "sha256-f19l1NxIdkQRaqEAgeTIuloPY079TmnNZ/DLQEXFQIA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-squashfs/default.nix b/pkgs/development/python-modules/dissect-squashfs/default.nix
index d42058f952cc4..9deecad417732 100644
--- a/pkgs/development/python-modules/dissect-squashfs/default.nix
+++ b/pkgs/development/python-modules/dissect-squashfs/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-squashfs";
-  version = "1.3";
+  version = "1.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.squashfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-MJKC05/8NnJFdyBB5YPbqe8mp1zlIoS2FglKEPSSYd8=";
+    hash = "sha256-y6RXtHJev83m7mYdNLG640TRUPEGbi6l942zlMWXky0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-target/default.nix b/pkgs/development/python-modules/dissect-target/default.nix
index 786b295628745..0e6e14be7239c 100644
--- a/pkgs/development/python-modules/dissect-target/default.nix
+++ b/pkgs/development/python-modules/dissect-target/default.nix
@@ -39,7 +39,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-target";
-  version = "3.15";
+  version = "3.16";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.target";
     rev = "refs/tags/${version}";
-    hash = "sha256-1uWKlp0t1mVtt3lbjl4U1TMxE2YHN/GzGs8OuoVTRqc=";
+    hash = "sha256-2c8OFwbgSc7zwbjQm2g8y1ZyiYM0KPFjTEUrk06c174=";
   };
 
   postPatch = ''
@@ -107,6 +107,7 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
+    "test_cpio"
     # Test requires rdump
     "test_exec_target_command"
     # Issue with tar file
@@ -127,7 +128,11 @@ buildPythonPackage rec {
 
   disabledTestPaths = [
     # Tests are using Windows paths
-    "tests/plugins/apps/browser/test_browser.py"
+    "tests/plugins/apps/browser/"
+    # ValueError: Invalid Locate file magic. Expected /x00LOCATE02/x00
+    "tests/plugins/os/unix/locate/"
+    # Missing plugin support
+    "tests/tools/test_reg.py"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/dissect-thumbcache/default.nix b/pkgs/development/python-modules/dissect-thumbcache/default.nix
index 1e6d36a0cdc6d..6c1a68b64785d 100644
--- a/pkgs/development/python-modules/dissect-thumbcache/default.nix
+++ b/pkgs/development/python-modules/dissect-thumbcache/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-thumbcache";
-  version = "1.6";
+  version = "1.7";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.thumbcache";
     rev = "refs/tags/${version}";
-    hash = "sha256-q35VL3BUZrxNBB5mHegqVObG76BYG4FAk/KIAvdm6B8=";
+    hash = "sha256-t5LovLS+YMWQWMCFP6jh3SNiLb/Jy9we4FX6MmsIJmY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-util/default.nix b/pkgs/development/python-modules/dissect-util/default.nix
index 894b5e35f4e09..255d64dc0ce99 100644
--- a/pkgs/development/python-modules/dissect-util/default.nix
+++ b/pkgs/development/python-modules/dissect-util/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-util";
-  version = "3.14";
+  version = "3.15";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.util";
     rev = "refs/tags/${version}";
-    hash = "sha256-NzqQW6OFv+CtAxa5J2X/XGS9UCFfhMp4elvgcTrA1Wg=";
+    hash = "sha256-JIrk6YRuW5B30d9fNaRFesO01ajcSy8ErkpFtM1Coaw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-vmfs/default.nix b/pkgs/development/python-modules/dissect-vmfs/default.nix
index 740b9f668f0c5..147b048aee7d2 100644
--- a/pkgs/development/python-modules/dissect-vmfs/default.nix
+++ b/pkgs/development/python-modules/dissect-vmfs/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-vmfs";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.vmfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-FDxB87TeAMUp0hP9YS/nrqNx71+ZlHf3Bsaqvuwx36U=";
+    hash = "sha256-HJV7cwNMFvHURt2dk/c1YbgFaHXRESREJ5ucmUsuS78=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-volume/default.nix b/pkgs/development/python-modules/dissect-volume/default.nix
index 77f69a83730ff..abddcf5d1d611 100644
--- a/pkgs/development/python-modules/dissect-volume/default.nix
+++ b/pkgs/development/python-modules/dissect-volume/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-volume";
-  version = "3.8";
+  version = "3.9";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.volume";
     rev = "refs/tags/${version}";
-    hash = "sha256-hEfURO4ITpjSpfHMlYfzO1cG+tjvqBP5QLYzo2uz8yo=";
+    hash = "sha256-Bhi3p0joTNx1y/yBhehhG06WmM7gUJhIJbmqZY4DzLQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-xfs/default.nix b/pkgs/development/python-modules/dissect-xfs/default.nix
index af83a91ec22f7..1843ff00f8e0b 100644
--- a/pkgs/development/python-modules/dissect-xfs/default.nix
+++ b/pkgs/development/python-modules/dissect-xfs/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-xfs";
-  version = "3.7";
+  version = "3.8";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.xfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-bqpN4Ho5A9j8oLwErPErMVgkanIkdNTqcT3lkdQiw6M=";
+    hash = "sha256-U/VDFeCyOPlefFL/QVRVknpCBDLuVYvVHI49QSe+QFM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect/default.nix b/pkgs/development/python-modules/dissect/default.nix
index 544deeace888b..6827b7e5f701f 100644
--- a/pkgs/development/python-modules/dissect/default.nix
+++ b/pkgs/development/python-modules/dissect/default.nix
@@ -35,7 +35,7 @@
 
 buildPythonPackage rec {
   pname = "dissect";
-  version = "3.12";
+  version = "3.13";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect";
     rev = "refs/tags/${version}";
-    hash = "sha256-hy5Yr/yR7CC7cp6pA1JP+GKazu+N4AwPqFKwb7zM+N8=";
+    hash = "sha256-cnNaqXECePP2DmLRAm/Fi9m88rYSsVVMrpcqYd0iL1E=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/python-modules/django-celery-beat/default.nix b/pkgs/development/python-modules/django-celery-beat/default.nix
index f8126f7ed3ad7..2ed27afb27ad7 100644
--- a/pkgs/development/python-modules/django-celery-beat/default.nix
+++ b/pkgs/development/python-modules/django-celery-beat/default.nix
@@ -1,31 +1,36 @@
 { lib
-, fetchPypi
 , buildPythonPackage
-, python-crontab
+, case
 , celery
 , cron-descriptor
 , django-timezone-field
-, tzdata
 , ephem
-, pytest-timeout
+, fetchPypi
 , pytest-django
-, case
+, pytest-timeout
 , pytestCheckHook
+, python-crontab
 , pythonOlder
+, setuptools
+, tzdata
 }:
 
 buildPythonPackage rec {
   pname = "django-celery-beat";
-  version = "2.5.0";
-  format = "setuptools";
+  version = "2.6.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zQpH9ZWEAvUawMcVvJQq4z17ULTkjLqRvD8nEr5QXfE=";
+    hash = "sha256-91stEpcx8SFL6Dg+GPrmv+rNtV3/shFs6EkiLAEG+a0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     cron-descriptor
     python-crontab
@@ -54,6 +59,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Celery Periodic Tasks backed by the Django ORM";
     homepage = "https://github.com/celery/django-celery-beat";
+    changelog = "https://github.com/celery/django-celery-beat/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ onny ];
   };
diff --git a/pkgs/development/python-modules/django-formtools/default.nix b/pkgs/development/python-modules/django-formtools/default.nix
index 975085c8f3ef2..94dd9f3708825 100644
--- a/pkgs/development/python-modules/django-formtools/default.nix
+++ b/pkgs/development/python-modules/django-formtools/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "django-formtools";
-  version = "2.4.1";
-  format = "setuptools";
+  version = "2.5.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IfjV2sc38eY2+ooKEJacHDL1JabfonwpWSgnunDZZDo=";
+    hash = "sha256-R8s0VSxu/KCIhj1pMoTQT8NuqvNQ6yHhodk14N9SPJM=";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,11 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
+    runHook preCheck
+
     ${python.interpreter} -m django test --settings=tests.settings
+
+    runHook postCheck
   '';
 
   pythonImportsCheck = [
@@ -38,6 +42,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A set of high-level abstractions for Django forms";
     homepage = "https://github.com/jazzband/django-formtools";
+    changelog = "https://github.com/jazzband/django-formtools/blob/master/docs/changelog.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ greizgh schmittlauch ];
   };
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index 365a775c11a64..d7b2097e2e7d2 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch2
 , pythonOlder
 , substituteAll
 
@@ -60,6 +61,12 @@ buildPythonPackage rec {
     # make sure the tests don't remove packages from our pythonpath
     # and disable failing tests
     ./django_4_tests.patch
+
+    (fetchpatch2 {
+      # fix test on 3.12; https://github.com/django/django/pull/17843
+      url = "https://github.com/django/django/commit/bc8471f0aac8f0c215b9471b594d159783bac19b.patch";
+      hash = "sha256-g1T9b73rmQ0uk1lB+iQy1XwK3Qin3mf5wpRsyYISJaw=";
+    })
   ] ++ lib.optionals withGdal [
     (substituteAll {
       src = ./django_4_set_geos_gdal_lib.patch;
diff --git a/pkgs/development/python-modules/django/5.nix b/pkgs/development/python-modules/django/5.nix
index ddfb773af69d8..fcdf32135ba24 100644
--- a/pkgs/development/python-modules/django/5.nix
+++ b/pkgs/development/python-modules/django/5.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch2
 , pythonOlder
 , substituteAll
 
@@ -61,6 +62,12 @@ buildPythonPackage rec {
     ./django_5_tests_pythonpath.patch
     # disable test that excpects timezone issues
     ./django_5_disable_failing_tests.patch
+
+    (fetchpatch2 {
+      # fix test on 3.12; https://github.com/django/django/pull/17843
+      url = "https://github.com/django/django/commit/bc8471f0aac8f0c215b9471b594d159783bac19b.patch";
+      hash = "sha256-g1T9b73rmQ0uk1lB+iQy1XwK3Qin3mf5wpRsyYISJaw=";
+    })
   ] ++ lib.optionals withGdal [
     (substituteAll {
       src = ./django_5_set_geos_gdal_lib.patch;
diff --git a/pkgs/development/python-modules/dnspython/default.nix b/pkgs/development/python-modules/dnspython/default.nix
index 5bf9981170b18..5c359635ba5ab 100644
--- a/pkgs/development/python-modules/dnspython/default.nix
+++ b/pkgs/development/python-modules/dnspython/default.nix
@@ -1,5 +1,4 @@
 { lib
-, stdenv
 , aioquic
 , buildPythonPackage
 , cacert
@@ -7,9 +6,10 @@
 , curio
 , fetchPypi
 , h2
+, httpcore
 , httpx
 , idna
-, poetry-core
+, hatchling
 , pytestCheckHook
 , pythonOlder
 , requests
@@ -20,18 +20,18 @@
 
 buildPythonPackage rec {
   pname = "dnspython";
-  version = "2.4.2";
+  version = "2.6.1";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jc+ujHRgovhLQHLibxyfQQHKIMBxZJy3w06LapPViYQ=";
+    hash = "sha256-6PD5wjp7fLmd7WTmw6bz5wHXj1DFXgArg53qciXP98w=";
   };
 
   nativeBuildInputs = [
-    poetry-core
+    hatchling
   ];
 
   passthru.optional-dependencies = {
@@ -40,6 +40,7 @@ buildPythonPackage rec {
       h2
       requests
       requests-toolbelt
+      httpcore
     ];
     IDNA = [
       idna
@@ -70,15 +71,6 @@ buildPythonPackage rec {
   disabledTests = [
     # dns.exception.SyntaxError: protocol not found
     "test_misc_good_WKS_text"
-    # fails if IPv6 isn't available
-    "test_resolver_override"
-  ] ++ lib.optionals stdenv.isDarwin [
-    # Tests that run inconsistently on darwin systems
-    # 9 tests fail with: BlockingIOError: [Errno 35] Resource temporarily unavailable
-    "testQueryUDP"
-    # 6 tests fail with: dns.resolver.LifetimeTimeout: The resolution lifetime expired after ...
-    "testResolveCacheHit"
-    "testResolveTCP"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/dsl2html/default.nix b/pkgs/development/python-modules/dsl2html/default.nix
new file mode 100644
index 0000000000000..c3c2621ca2a9e
--- /dev/null
+++ b/pkgs/development/python-modules/dsl2html/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "dsl2html";
+  version = "0.1.5";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-LUtTMqQuwahIeMm9QvMe6rdHEw5LEjMQdyZFZvf/HRU=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [ "dsl" ];
+
+  meta = with lib; {
+    description = "Python module for converting DSL dictionary texts into HTML";
+    homepage = "https://github.com/Crissium/python-dsl";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/dsmr-parser/default.nix b/pkgs/development/python-modules/dsmr-parser/default.nix
index c4c94d330d812..33090ff4be7c7 100644
--- a/pkgs/development/python-modules/dsmr-parser/default.nix
+++ b/pkgs/development/python-modules/dsmr-parser/default.nix
@@ -5,6 +5,7 @@
 , pyserial
 , pyserial-asyncio
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , pytz
 , tailer
@@ -36,6 +37,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    "test_receive_packet"
+  ];
+
   pythonImportsCheck = [
     "dsmr_parser"
   ];
diff --git a/pkgs/development/python-modules/elastic-apm/default.nix b/pkgs/development/python-modules/elastic-apm/default.nix
index 50aef7a1f66dc..61ad6705fe9b7 100644
--- a/pkgs/development/python-modules/elastic-apm/default.nix
+++ b/pkgs/development/python-modules/elastic-apm/default.nix
@@ -20,6 +20,7 @@
 , pythonOlder
 , sanic
 , sanic-testing
+, setuptools
 , starlette
 , structlog
 , tornado
@@ -30,8 +31,8 @@
 
 buildPythonPackage rec {
   pname = "elastic-apm";
-  version = "6.20.0";
-  format = "setuptools";
+  version = "6.21.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -39,9 +40,13 @@ buildPythonPackage rec {
     owner = "elastic";
     repo = "apm-agent-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nj035nZTUkVCiGZz+JTibv7LZ9Bws5DwYvqrLrwjQkc=";
+    hash = "sha256-Ejix31cMyHOc/IGe4bRp/Nchm9Ps1cRYE8jIaIYlJjs=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     blinker
diff --git a/pkgs/development/python-modules/enocean/default.nix b/pkgs/development/python-modules/enocean/default.nix
index 48fc882a1b723..02db2a6964098 100644
--- a/pkgs/development/python-modules/enocean/default.nix
+++ b/pkgs/development/python-modules/enocean/default.nix
@@ -4,7 +4,7 @@
 , beautifulsoup4
 , enum-compat
 , pyserial
-, nose
+, pynose
 }:
 
 buildPythonPackage rec {
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    nose
+    pynose
   ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/eventlet/default.nix b/pkgs/development/python-modules/eventlet/default.nix
index f9f4649db3f19..dbdc82bd35acb 100644
--- a/pkgs/development/python-modules/eventlet/default.nix
+++ b/pkgs/development/python-modules/eventlet/default.nix
@@ -2,11 +2,11 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonAtLeast
 
 # build-system
-, setuptools
+, hatch-vcs
+, hatchling
 
 # dependencies
 , dnspython
@@ -15,7 +15,6 @@
 , six
 
 # tests
-, nose3
 , iana-etc
 , pytestCheckHook
 , libredirect
@@ -23,35 +22,19 @@
 
 buildPythonPackage rec {
   pname = "eventlet";
-  version = "0.33.3";
+  version = "0.35.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "eventlet";
-    repo = pname;
+    repo = "eventlet";
     rev = "v${version}";
-    hash = "sha256-iSSEZgPkK7RrZfU11z7hUk+JbFsCPH/SD16e+/f6TFU=";
+    hash = "sha256-jMbCxqIn9f9+16rFwpQdkBHj6NwTNkQxnSVV4qQ1fjM=";
   };
 
-  patches = [
-    # Python 3.12 fixes:
-    # - remove usage of distutils
-    # - replace ssl.wrap_socket usage
-    ./remove-distutils-usage.patch
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/python-eventlet/raw/rawhide/f/python3.12.patch";
-      hash = "sha256-MxzprFaVcV1uamjjTeIz+2gPvfPy+Y1QaA20znMdwoA=";
-    })
-    # fix tests running on kernel 6.6 or newer
-    # https://github.com/eventlet/eventlet/pull/905
-    (fetchpatch {
-      url = "https://github.com/eventlet/eventlet/commit/413327b229c80a97e9c89c52f7714224942701b4.patch";
-      hash = "sha256-rbYPd5cg3ElSYWYaZJrS7bb4nMJkTMO0ScvNnXRXzE0=";
-    })
-  ];
-
   nativeBuildInputs = [
-    setuptools
+    hatch-vcs
+    hatchling
   ];
 
   propagatedBuildInputs = [
@@ -62,13 +45,11 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    nose3
   ];
 
   # libredirect is not available on darwin
   # tests hang on pypy indefinitely
-  # nose3 is incompatible with Python 3.12.
-  doCheck = !stdenv.isDarwin && !isPyPy && !(pythonAtLeast "3.12");
+  doCheck = !stdenv.isDarwin && !isPyPy;
 
   preCheck = lib.optionalString doCheck ''
     echo "nameserver 127.0.0.1" > resolv.conf
@@ -79,47 +60,14 @@ buildPythonPackage rec {
   '';
 
   disabledTests = [
+    # AssertionError: Expected single line "pass" in stdout
+    "test_fork_after_monkey_patch"
     # Tests requires network access
-    "test_017_ssl_zeroreturnerror"
-    "test_018b_http_10_keepalive_framing"
     "test_getaddrinfo"
     "test_hosts_no_network"
-    "test_leakage_from_tracebacks"
-    "test_patcher_existing_locks_locked"
-    # broken with pyopenssl 22.0.0
-    "test_sendall_timeout"
-    # broken on aarch64 and when using march in gcc
-    "test_fork_after_monkey_patch"
-  ];
-
-  disabledTestPaths = [
-    # Tests are out-dated
-    "tests/stdlib/test_asynchat.py"
-    "tests/stdlib/test_asyncore.py"
-    "tests/stdlib/test_ftplib.py"
-    "tests/stdlib/test_httplib.py"
-    "tests/stdlib/test_httpservers.py"
-    "tests/stdlib/test_os.py"
-    "tests/stdlib/test_queue.py"
-    "tests/stdlib/test_select.py"
-    "tests/stdlib/test_SimpleHTTPServer.py"
-    "tests/stdlib/test_socket_ssl.py"
-    "tests/stdlib/test_socket.py"
-    "tests/stdlib/test_socketserver.py"
-    "tests/stdlib/test_ssl.py"
-    "tests/stdlib/test_subprocess.py"
-    "tests/stdlib/test_thread__boundedsem.py"
-    "tests/stdlib/test_thread.py"
-    "tests/stdlib/test_threading_local.py"
-    "tests/stdlib/test_threading.py"
-    "tests/stdlib/test_timeout.py"
-    "tests/stdlib/test_urllib.py"
-    "tests/stdlib/test_urllib2_localnet.py"
-    "tests/stdlib/test_urllib2.py"
   ];
 
-  # unfortunately, it needs /etc/protocol to be present to not fail
-  # pythonImportsCheck = [ "eventlet" ];
+  pythonImportsCheck = [ "eventlet" ];
 
   meta = with lib; {
     changelog = "https://github.com/eventlet/eventlet/blob/v${version}/NEWS";
diff --git a/pkgs/development/python-modules/ezyrb/default.nix b/pkgs/development/python-modules/ezyrb/default.nix
index 024509dad06b8..44d49ee16edd8 100644
--- a/pkgs/development/python-modules/ezyrb/default.nix
+++ b/pkgs/development/python-modules/ezyrb/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "ezyrb";
-  version = "1.3.0.post2402";
+  version = "1.3.0.post2403";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "mathLab";
     repo = "EZyRB";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MiFNTz3vrN4rMHK7e4ntE35wzgnPt6yczCv7XDcUlO8=";
+    hash = "sha256-t0Mv8Kae6N+jHeQx57ljDR5lmmbW2mqrlqygtrwGWhY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fake-useragent/default.nix b/pkgs/development/python-modules/fake-useragent/default.nix
index 0cdcd90cbe87e..3b087601453f0 100644
--- a/pkgs/development/python-modules/fake-useragent/default.nix
+++ b/pkgs/development/python-modules/fake-useragent/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "fake-useragent";
-  version = "1.4.0";
+  version = "1.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fake-useragent";
     repo = "fake-useragent";
     rev = "refs/tags/${version}";
-    hash = "sha256-Jmzq0yIM373bg2T6t0YFymBiH9vSpiCw+UAMfxsMJvY=";
+    hash = "sha256-EzSofIHNwn7GPhnTNbo/451szB759w5T8poXj8XVNUU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index a63c257fc6808..97fb3a01c7eab 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -1,8 +1,8 @@
 { lib
-, aioredis
 , buildPythonPackage
 , fetchFromGitHub
 , hypothesis
+, jsonpath-ng
 , lupa
 , poetry-core
 , pybloom-live
@@ -49,8 +49,8 @@ buildPythonPackage rec {
     lua = [
       lupa
     ];
-    aioredis = [
-      aioredis
+    json = [
+      jsonpath-ng
     ];
     bf = [
       pyprobables
diff --git a/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix b/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
index 99df6317604e3..b906a22bea572 100644
--- a/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
+++ b/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "faraday-agent-parameters-types";
-  version = "1.5.0";
+  version = "1.5.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "faraday_agent_parameters_types";
     inherit version;
-    hash = "sha256-Txw7fXDnuFB9fTETkMhEgjOsjllPQB8IEG3lN3Yj/4k=";
+    hash = "sha256-Bh1s0IeUEa4EnGElQn5ruBxFSbcOqsrDqbw1nVjdi5s=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/feedfinder2/default.nix b/pkgs/development/python-modules/feedfinder2/default.nix
new file mode 100644
index 0000000000000..bb5528815294f
--- /dev/null
+++ b/pkgs/development/python-modules/feedfinder2/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+, setuptools
+
+, six
+, requests
+, beautifulsoup4
+}:
+
+buildPythonPackage rec {
+  pname = "feedfinder2";
+  version = "0.0.4";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-NwHuAabIX4uGWgScMLoLRgiFjIA/6OMNHSif2+idDv4=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    six
+    requests
+    beautifulsoup4
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "feedfinder2" ];
+
+  meta = with lib; {
+    description = "A Python library for finding feed links on websites";
+    homepage = "https://github.com/dfm/feedfinder2";
+    license = licenses.mit;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index 8513c723bf00b..a200ef7efac59 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "fiona";
-  version = "1.9.5";
+  version = "1.9.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "Toblerity";
     repo = "Fiona";
     rev = "refs/tags/${version}";
-    hash = "sha256-fq/BuyzuK4iOxdpE4h+KRH0CxOEk/wdmbb9KgCfJ1cw=";
+    hash = "sha256-MboM3IwGF8cuz+jMQ3QVZFAHjpspQ6kVJincq7OEkCM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fitbit/default.nix b/pkgs/development/python-modules/fitbit/default.nix
index df89eef07bfbd..de678f787c727 100644
--- a/pkgs/development/python-modules/fitbit/default.nix
+++ b/pkgs/development/python-modules/fitbit/default.nix
@@ -24,6 +24,11 @@ buildPythonPackage rec {
     hash = "sha256-1u3h47lRBrJ7EUWBl5+RLGW4KHHqXqqrXbboZdy7VPA=";
   };
 
+  postPatch = ''
+    substituteInPlace fitbit_tests/test_api.py \
+      --replace-fail assertRaisesRegexp assertRaisesRegex
+  '';
+
   propagatedBuildInputs = [
     python-dateutil
     requests-oauthlib
diff --git a/pkgs/development/python-modules/gawd/default.nix b/pkgs/development/python-modules/gawd/default.nix
new file mode 100644
index 0000000000000..c5a8eb964067b
--- /dev/null
+++ b/pkgs/development/python-modules/gawd/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, wheel
+, ruamel-yaml
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "gawd";
+  version = "1.1.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "pooya-rostami";
+    repo = "gawd";
+    rev = version;
+    hash = "sha256-DCcU7vO5VApRsO+ljVs827TrHIfe3R+1/2wgBEcp1+c=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    ruamel-yaml
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "gawd" ];
+
+  meta = {
+    changelog = "https://github.com/pooya-rostami/gawd/releases/tag/${version}";
+    description = "Gawd is a Python library and command-line tool for computing syntactic differences between two GitHub Actions workflow files";
+    homepage = "https://github.com/pooya-rostami/gawd";
+    license = lib.licenses.lgpl3Only;
+    maintainers = with lib.maintainers; [ drupol ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-api-python-client/default.nix b/pkgs/development/python-modules/google-api-python-client/default.nix
index b6f73cc406ebc..fa7086b7719d6 100644
--- a/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -13,16 +13,20 @@
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.109.0";
-  format = "setuptools";
+  version = "2.120.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0GOQwlR3w2HVJjn+AO+RLD+rja/H+/KVgMEUTpJSOnk=";
+    hash = "sha256-oMh2nK2VdnaLyzGRyx9VD2qzKQy6BCutsPsXu6A/cMw=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-auth
     google-auth-httplib2
@@ -30,7 +34,6 @@ buildPythonPackage rec {
     httplib2
     uritemplate
     oauth2client
-    setuptools
   ];
 
   # No tests included in archive
diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix
index 3fa39efec8d5a..9adf04e4344f5 100644
--- a/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "3.24.3";
+  version = "3.25.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-owRdxr4Kr6VehuHl/mZuZo7XqixX2glWwJ3F/tq82bc=";
+    hash = "sha256-JiPKFOew9Pd2NuY7wDlFQ/N06m9IRutWO+d/YJspry0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index 8dc787ddf0cda..c30f659da4b97 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.41.0";
+  version = "2.43.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5DUFaQqzIvN/8Vo7MJNBrsMaB4HANO7Eb2nuzx3nDJc=";
+    hash = "sha256-RfGhQv1wr5fMMHleMamwSKQ2opv3nppGSvUe4UdFiT0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix
index 49f45dcc6b8b8..f3895b8e3ef17 100644
--- a/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "3.15.3";
+  version = "3.16.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9BCV3jYq8svvMbhKoQVMAlGYTggyi1qreG6T/yEIfy8=";
+    hash = "sha256-DWmh96XviHVsmeVrivTDnq5A0hBog/DieUxcs2QmltU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-netapp/default.nix b/pkgs/development/python-modules/google-cloud-netapp/default.nix
index 2730c971cc47c..902593045eb46 100644
--- a/pkgs/development/python-modules/google-cloud-netapp/default.nix
+++ b/pkgs/development/python-modules/google-cloud-netapp/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-netapp";
-  version = "0.3.7";
+  version = "0.3.8";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-g+tH/u2lEbQDdMPo/4+kl03+d9mrLzR2Eo/H8e8Niic=";
+    hash = "sha256-va5Ql8GPMLszgjjSkI6am6IGQnEqvi+YSBcTFeu254U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
index 3188af54d1dee..4703ba3aadb0e 100644
--- a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-websecurityscanner";
-  version = "1.14.2";
+  version = "1.14.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-loiKMV7guByukm9XBohVbCDsV607i8PXiQaJ8GZS6Go=";
+    hash = "sha256-Wp88cJqlAaAkaemHzkgKuhU4v4dFpgn5Sf+uqGKTeWQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gpiozero/default.nix b/pkgs/development/python-modules/gpiozero/default.nix
index 929ce0e24f5b5..3aaa5ba775067 100644
--- a/pkgs/development/python-modules/gpiozero/default.nix
+++ b/pkgs/development/python-modules/gpiozero/default.nix
@@ -1,17 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
+
+# build-system
+, setuptools
+
+# docs
 , sphinx-rtd-theme
 , sphinxHook
+
+# dependencies
 , colorzero
-, pythonOlder
+
+# tests
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "gpiozero";
-  version = "2.0";
-  format = "setuptools";
+  version = "2.0.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -19,7 +28,7 @@ buildPythonPackage rec {
     owner = "gpiozero";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-6qSB9RMypNXNj+Ds1nyzB7iaeHXvF0swSubrJSn2L34=";
+    hash = "sha256-ifdCFcMH6SrhKQK/TJJ5lJafSfAUzd6ZT5ANUzJGwxI=";
   };
 
   postPatch = ''
@@ -33,6 +42,7 @@ buildPythonPackage rec {
   ];
 
   nativeBuildInputs = [
+    setuptools
     sphinx-rtd-theme
     sphinxHook
   ];
diff --git a/pkgs/development/python-modules/grpcio-health-checking/default.nix b/pkgs/development/python-modules/grpcio-health-checking/default.nix
index a6c76e8bfea67..dbadab9432191 100644
--- a/pkgs/development/python-modules/grpcio-health-checking/default.nix
+++ b/pkgs/development/python-modules/grpcio-health-checking/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-health-checking";
-  version = "1.62.0";
+  version = "1.62.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-f8JjBFMP2KwGukvtvcGUpWPFXiGKv/QJy68d5xkUk3s=";
+    hash = "sha256-nlYYCpQbHTKgd9dJHgYR0Eg8OWNYr9U0m/ABUmEuRYM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-reflection/default.nix b/pkgs/development/python-modules/grpcio-reflection/default.nix
index 365c7beabf2ba..799a805ba564a 100644
--- a/pkgs/development/python-modules/grpcio-reflection/default.nix
+++ b/pkgs/development/python-modules/grpcio-reflection/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-reflection";
-  version = "1.62.0";
+  version = "1.62.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rxcHOZ7yghx5Xss3lVC/Wnb7ZAmxSeuzRjEM/QHaKYo=";
+    hash = "sha256-q9RTABmRhxAxMV7y2Cr/6TCAwEM/o6AHvjS/Qn4oqIo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-status/default.nix b/pkgs/development/python-modules/grpcio-status/default.nix
index fa3f65ebc9248..eb91900864cae 100644
--- a/pkgs/development/python-modules/grpcio-status/default.nix
+++ b/pkgs/development/python-modules/grpcio-status/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "grpcio-status";
-  version = "1.60.1";
+  version = "1.62.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-YbWquJiUmOiqFCwguIgp6l2Q0YwYyFO5+ebUB9N7+LQ=";
+    hash = "sha256-DWk+nAmIDa6qwGDQw9uhrkcKQ8meXSDf6v1iz34IqF0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/grpcio-testing/default.nix b/pkgs/development/python-modules/grpcio-testing/default.nix
index 2fc0e47dd29c8..c5cdf76a5ef67 100644
--- a/pkgs/development/python-modules/grpcio-testing/default.nix
+++ b/pkgs/development/python-modules/grpcio-testing/default.nix
@@ -5,25 +5,30 @@
 , protobuf
 , pythonOlder
 , pythonRelaxDepsHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "grpcio-testing";
-  version = "1.60.1";
-  format = "setuptools";
+  version = "1.62.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vvrZX0fes/OTTr1VEpl0jqo/Y+44btlq1pemZFNWixc=";
+    hash = "sha256-yyaVEAqykAtRz9vbVv4SEA1JWA8QrgZ6LKsRfo/HRu0=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace '"grpcio>={version}".format(version=grpc_version.VERSION)' '"grpcio"'
+      --replace-fail '"grpcio>={version}".format(version=grpc_version.VERSION)' '"grpcio"'
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     grpcio
     protobuf
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index 0437e16a89236..62eae894a2670 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.60.1";
+  version = "1.62.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2ggiSrhnXG1GS5iL2MoCzM0r8Cdbzu/o9iGb/UpPXoU=";
+    hash = "sha256-f8puz7vwVJBYuyncxuQ12IW4eNB3Aed6xY4eH1kXNtw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix
index 497a4d725e500..934ac1077ce4f 100644
--- a/pkgs/development/python-modules/grpcio/default.nix
+++ b/pkgs/development/python-modules/grpcio/default.nix
@@ -18,11 +18,11 @@
 buildPythonPackage rec {
   pname = "grpcio";
   format = "setuptools";
-  version = "1.60.1";
+  version = "1.62.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3R06jR0uUK2bWeEKp/B8fRvis2fz8tM8X63pbtVGCWI=";
+    hash = "sha256-dISWr5I4rHjc2YzOZUIfGtzijDl5OT42CWg/zX84gNc=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/guidance/default.nix b/pkgs/development/python-modules/guidance/default.nix
index a8d382310d605..732a107f2a399 100644
--- a/pkgs/development/python-modules/guidance/default.nix
+++ b/pkgs/development/python-modules/guidance/default.nix
@@ -8,22 +8,24 @@
 , wheel
 , aiohttp
 , diskcache
+, fastapi
 , gptcache
 , msal
-, nest-asyncio
 , numpy
 , openai
 , ordered-set
 , platformdirs
+, protobuf
 , pyformlang
 , requests
 , tiktoken
 , torch
+, uvicorn
 }:
 
 buildPythonPackage rec {
   pname = "guidance";
-  version = "0.1.6";
+  version = "0.1.11";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -32,28 +34,33 @@ buildPythonPackage rec {
     owner = "guidance-ai";
     repo = "guidance";
     rev = "refs/tags/${version}";
-    hash = "sha256-Z3EuHAQPPXf/i0HnbDhGv5KBUBP0aZDHTwpff7g2E3g=";
+    hash = "sha256-dvIJeSur3DdNBhrEPNPghxqmDEEig59Iz83LWksim6U=";
   };
 
   nativeBuildInputs = [
     pybind11
+  ];
+
+  build-system = [
     setuptools
     wheel
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiohttp
     diskcache
+    fastapi
     gptcache
     msal
-    nest-asyncio
     numpy
     openai
     ordered-set
     platformdirs
+    protobuf
     pyformlang
     requests
     tiktoken
+    uvicorn
   ];
 
   nativeCheckInputs = [
@@ -86,6 +93,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "guidance" ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "A guidance language for controlling large language models";
     homepage = "https://github.com/guidance-ai/guidance";
diff --git a/pkgs/development/python-modules/h3/default.nix b/pkgs/development/python-modules/h3/default.nix
index f5413e5448432..64be91a04fd9c 100644
--- a/pkgs/development/python-modules/h3/default.nix
+++ b/pkgs/development/python-modules/h3/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "h3";
-  version = "3.7.6";
+  version = "3.7.7";
   format = "setuptools";
 
   # pypi version does not include tests
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "uber";
     repo = "h3-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QNiuiHJ4IMxpi39iobPSSlYUUj5oxpxO4B2+HXVQ/Zk=";
+    hash = "sha256-wXQaSMXQI0f7zfyj37mubxdqGFv7vhHQd6rH08H57d4=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/habitipy/default.nix b/pkgs/development/python-modules/habitipy/default.nix
index 7462624b93d40..5e01610d69652 100644
--- a/pkgs/development/python-modules/habitipy/default.nix
+++ b/pkgs/development/python-modules/habitipy/default.nix
@@ -5,7 +5,7 @@
 , requests
 , setuptools
 , hypothesis
-, nose
+, pynose
 , responses
 }:
 
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     hypothesis
-    nose
+    pynose
     responses
   ];
 
diff --git a/pkgs/development/python-modules/hg-git/default.nix b/pkgs/development/python-modules/hg-git/default.nix
index 1e1803c9061fa..86145ee03ab4d 100644
--- a/pkgs/development/python-modules/hg-git/default.nix
+++ b/pkgs/development/python-modules/hg-git/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "hg-git";
-  version = "1.1.0";
+  version = "1.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-btEamGLqCC5PRigxHbe49/bnJNVGm6Czf852JaAdB38=";
+    hash = "sha256-r04Q6zbt8VM1jYkoGOdJZqKPPxXy4jC1X1d9nJ+fEWY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/http-ece/default.nix b/pkgs/development/python-modules/http-ece/default.nix
index 83719397fda90..0f69315edb6d1 100644
--- a/pkgs/development/python-modules/http-ece/default.nix
+++ b/pkgs/development/python-modules/http-ece/default.nix
@@ -1,20 +1,30 @@
-{ lib, fetchPypi, buildPythonPackage, pythonOlder
-, coverage, flake8, mock, nose, importlib-metadata
-, cryptography }:
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchPypi
+, mock
+, pynose
+}:
 
 buildPythonPackage rec {
-  pname = "http_ece";
+  pname = "http-ece";
   version = "1.2.0";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "http_ece";
+    inherit version;
     sha256 = "sha256-tZIPjvuOG1+wJXE+Ozb9pUM2JiAQY0sm3B+Y+F0es94=";
   };
 
-  propagatedBuildInputs = [ cryptography ]
-    ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace-fail '"nose",' "" \
+      --replace-fail '"coverage",' ""
+  '';
 
-  nativeCheckInputs = [ coverage flake8 mock nose ];
+  propagatedBuildInputs = [ cryptography ];
+
+  nativeCheckInputs = [ mock pynose ];
 
   meta = with lib; {
     description = "Encipher HTTP Messages";
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index d9fd192b7bd1b..212db973e9e0a 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -22,8 +22,8 @@
 
 buildPythonPackage rec {
   pname = "httpcore";
-  version = "1.0.2";
-  format = "pyproject";
+  version = "1.0.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = "httpcore";
     rev = "refs/tags/${version}";
-    hash = "sha256-gjAScRBzAuNiTSxspX6vzwTAdBIwVQbaSLEUFV1QP+E=";
+    hash = "sha256-DK5avYEtQcTFogpdEjw0NB4qkzDm5cZKPjAE8MC6Sng=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/hurry-filesize/default.nix b/pkgs/development/python-modules/hurry-filesize/default.nix
new file mode 100644
index 0000000000000..62bd1f810f9d5
--- /dev/null
+++ b/pkgs/development/python-modules/hurry-filesize/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+, pythonOlder
+
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "hurry-filesize";
+  version = "0.9";
+  pyproject = true;
+
+  disabled = pythonOlder "3.3";
+
+  src = fetchPypi {
+    pname = "hurry.filesize";
+    inherit version;
+    hash = "sha256-9TaDKa2++GrM07yUkFIjQLt5JgRVromxpCwQ9jgBuaY=";
+  };
+
+  # project has no repo...
+  # fix implicit namespaces (PEP 420) warning
+  patches = [ ./use-pep-420-implicit-namespace-package.patch ];
+
+  build-system = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [ "hurry.filesize" ];
+
+  meta = with lib; {
+    description = "A simple Python library for human readable file sizes (or anything sized in bytes)";
+    homepage = "https://pypi.org/project/hurry.filesize/";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/hurry-filesize/use-pep-420-implicit-namespace-package.patch b/pkgs/development/python-modules/hurry-filesize/use-pep-420-implicit-namespace-package.patch
new file mode 100644
index 0000000000000..788c603ac5303
--- /dev/null
+++ b/pkgs/development/python-modules/hurry-filesize/use-pep-420-implicit-namespace-package.patch
@@ -0,0 +1,24 @@
+diff --git a/setup.py b/setup.py
+index 9ec6f2e..607b680 100644
+--- a/setup.py
++++ b/setup.py
+@@ -29,7 +29,6 @@ setup(
+     license='ZPL 2.1',
+     packages=find_packages('src'),
+     package_dir= {'':'src'},
+-    namespace_packages=['hurry'],
+     include_package_data=True,
+     zip_safe=False,
+     install_requires=[
+diff --git a/src/hurry/__init__.py b/src/hurry/__init__.py
+index 2e2033b..e69de29 100644
+--- a/src/hurry/__init__.py
++++ b/src/hurry/__init__.py
+@@ -1,7 +0,0 @@
+-# this is a namespace package
+-try:
+-    import pkg_resources
+-    pkg_resources.declare_namespace(__name__)
+-except ImportError:
+-    import pkgutil
+-    __path__ = pkgutil.extend_path(__path__, __name__)
diff --git a/pkgs/development/python-modules/influxdb/default.nix b/pkgs/development/python-modules/influxdb/default.nix
index 94441890c7aa5..ca962f4e47929 100644
--- a/pkgs/development/python-modules/influxdb/default.nix
+++ b/pkgs/development/python-modules/influxdb/default.nix
@@ -4,7 +4,7 @@
 , fetchPypi
 , mock
 , msgpack
-, nose
+, pynose
 , pandas
 , pytestCheckHook
 , pytz
@@ -26,7 +26,12 @@ buildPythonPackage rec {
   postPatch = ''
     for f in influxdb/tests/dataframe_client_test.py influxdb/tests/influxdb08/dataframe_client_test.py; do
       substituteInPlace "$f" \
-        --replace "pandas.util.testing" "pandas.testing"
+        --replace-fail "pandas.util.testing" "pandas.testing"
+    done
+
+    for f in influxdb/tests/influxdb08/client_test.py influxdb/tests/client_test.py; do
+      substituteInPlace "$f" \
+        --replace-fail "assertRaisesRegexp" "assertRaisesRegex"
     done
   '';
 
@@ -44,7 +49,7 @@ buildPythonPackage rec {
     pytestCheckHook
     requests-mock
     mock
-    nose
+    pynose
     pandas
   ];
 
@@ -64,6 +69,8 @@ buildPythonPackage rec {
     "test_multiquery_into_dataframe_dropna"
     # FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.
     "test_write_points_from_dataframe_with_tag_escaped"
+    # AssertionError: 2 != 1 : <class 'influxdb.tests.helper_test.TestSeriesHelper.testWarnBulkSizeNoEffect.<locals>.WarnBulkSizeNoEffect'> call should have generated one warning.
+    "testWarnBulkSizeNoEffect"
   ];
 
   pythonImportsCheck = [ "influxdb" ];
diff --git a/pkgs/development/python-modules/iocsearcher/default.nix b/pkgs/development/python-modules/iocsearcher/default.nix
new file mode 100644
index 0000000000000..a3f7e910664c9
--- /dev/null
+++ b/pkgs/development/python-modules/iocsearcher/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, fetchFromGitHub
+, base58
+, bech32
+, cashaddress
+, cbor
+, eth-hash
+, intervaltree
+, langdetect
+, lxml
+, pdfminer-six
+, phonenumbers
+, python-magic
+, readabilipy
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "iocsearcher";
+  version = "2.3-unstable-2024-03-04";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "malicialab";
+    repo = "iocsearcher";
+    rev = "5f7b87761f2195eb358006f3492f0beac7ecc4b0";
+    hash = "sha256-SYh0+JEZa95iBznNzXut/9Vwof6VFeSlt0/g+XmMPC0=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    base58
+    beautifulsoup4
+    bech32
+    cashaddress
+    cbor
+    eth-hash
+    intervaltree
+    langdetect
+    lxml
+    pdfminer-six
+    phonenumbers
+    python-magic
+    readabilipy
+  ] ++ eth-hash.optional-dependencies.pycryptodome;
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "iocsearcher"
+  ];
+
+  meta = with lib; {
+    description = "Library and command line tool for extracting indicators of compromise (IOCs)";
+    homepage = "https://github.com/malicialab/iocsearcher";
+    changelog = "https://github.com/malicialab/iocsearcher/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index ff10be0092ca3..1caa71211c5fd 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "6.29.2";
+  version = "6.29.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-O63igATj/2JO1Xl0lIEWZwYErF9nbRIzlpPzFCF20/A=";
+    hash = "sha256-4UwlDR+eo5iUkCJcwaVCeBsJWhihlEf88rXq99CsW9I=";
   };
 
   # debugpy is optional, see https://github.com/ipython/ipykernel/pull/767
diff --git a/pkgs/development/python-modules/ipyvuetify/default.nix b/pkgs/development/python-modules/ipyvuetify/default.nix
index 28b39f74c4b9a..499d6a0438548 100644
--- a/pkgs/development/python-modules/ipyvuetify/default.nix
+++ b/pkgs/development/python-modules/ipyvuetify/default.nix
@@ -2,20 +2,44 @@
 , buildPythonPackage
 , fetchPypi
   # Python Inputs
+, jupyter-packaging
+, jupyterlab
+, setuptools
+, wheel
 , ipyvue
 }:
 
 buildPythonPackage rec {
   pname = "ipyvuetify";
-  version = "1.8.10";
-  format = "setuptools";
+  version = "1.9.0";
+  pyproject = true;
 
   # GitHub version tries to run npm (Node JS)
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-m6RCeUefM/XLg69AaqgTBQ7pYgGVXCy6CH/SOoQ9W04=";
+    hash = "sha256-nFN+IYKZ3jIZSx2pSda5a//mwA82u2A1QJ8khf64gec=";
   };
 
+  # drop pynpm which tries to install node_modules
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "jupyter_packaging~=0.7.9" "jupyter_packaging" \
+      --replace-fail "jupyterlab~=3.0" "jupyterlab" \
+      --replace-fail '"pynpm"' ""
+
+    substituteInPlace setup.py \
+      --replace-fail "from pynpm import NPMPackage" "" \
+      --replace-fail "from generate_source import generate_source" "" \
+      --replace-fail 'setup(cmdclass={"egg_info": js_prerelease(egg_info)})' 'setup()'
+  '';
+
+  nativeBuildInputs = [
+    jupyter-packaging
+    jupyterlab
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [ ipyvue ];
 
   doCheck = false;  # no tests on PyPi/GitHub
diff --git a/pkgs/development/python-modules/jaxtyping/default.nix b/pkgs/development/python-modules/jaxtyping/default.nix
index 2b0ace32535fd..b64ab981913ac 100644
--- a/pkgs/development/python-modules/jaxtyping/default.nix
+++ b/pkgs/development/python-modules/jaxtyping/default.nix
@@ -20,7 +20,7 @@
 let
   self = buildPythonPackage rec {
     pname = "jaxtyping";
-    version = "0.2.27";
+    version = "0.2.28";
     pyproject = true;
 
     disabled = pythonOlder "3.9";
@@ -29,7 +29,7 @@ let
       owner = "google";
       repo = "jaxtyping";
       rev = "refs/tags/v${version}";
-      hash = "sha256-FDXNPu8HZUpT5ij6evc/LKVXAvcDDE9PmOXS7WmADpQ=";
+      hash = "sha256-xDFrgPecUIfCACg/xkMQ8G1+6hNiUUDg9eCZKNpNfzs=";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyter-lsp/default.nix b/pkgs/development/python-modules/jupyter-lsp/default.nix
index 51161435e9171..0822b1cbcc763 100644
--- a/pkgs/development/python-modules/jupyter-lsp/default.nix
+++ b/pkgs/development/python-modules/jupyter-lsp/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "jupyter-lsp";
-  version = "2.2.2";
+  version = "2.2.3";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JW0kYgVCrku6BKUPwfb/4ggJOgfY5pf+oKjRuMobfls=";
+    hash = "sha256-M9vLxd8kI3/1yLaWsE/0aJ/NMWy41JV9Yg/lUE19LD8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyterlab-server/default.nix b/pkgs/development/python-modules/jupyterlab-server/default.nix
index 4eed7af804c03..4e542e8ebf9f4 100644
--- a/pkgs/development/python-modules/jupyterlab-server/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-server/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-server";
-  version = "2.25.2";
+  version = "2.25.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "jupyterlab_server";
     inherit version;
-    hash = "sha256-vQ7HqZ687ci8/5Oe+G5Sw3jkTCcH4FP82B0EbOl57mM=";
+    hash = "sha256-hG8SWooZZWYR31sD5ZEsg5POppAIWbqmT6UV62So3EA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jwcrypto/default.nix b/pkgs/development/python-modules/jwcrypto/default.nix
index d9d666c8e60c2..2c00e2be9f8d3 100644
--- a/pkgs/development/python-modules/jwcrypto/default.nix
+++ b/pkgs/development/python-modules/jwcrypto/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "jwcrypto";
-  version = "1.5.5";
+  version = "1.5.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WefV5FidGwcXDzaOIMMusyoCORGAapcjsfQ6DYswKNY=";
+    hash = "sha256-dxqHdioMCBrmFmlYqVT4CEiCCyqwZpN9yLg3nWWxsDk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/keyring-pass/default.nix b/pkgs/development/python-modules/keyring-pass/default.nix
index c9ac11c9313a8..6c8d5f1e915b5 100644
--- a/pkgs/development/python-modules/keyring-pass/default.nix
+++ b/pkgs/development/python-modules/keyring-pass/default.nix
@@ -9,7 +9,7 @@
 }:
 buildPythonPackage rec {
   pname = "keyring-pass";
-  version = "0.9.2";
+  version = "0.9.3";
   disabled = pythonOlder "3.6";
 
   pyproject = true;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "nazarewk";
     repo = "keyring_pass";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Sf7eDOB3prH2s6BzdBtxewSweC0ibLXVxNHBJRRaJe4=";
+    hash = "sha256-EsM+RUhYtelslRpxR5NQbqpOt8KaeCsFqkqZ1ZFx0I0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix
index 6e7d6423384cb..0f0492c1c4b42 100644
--- a/pkgs/development/python-modules/langchain-community/default.nix
+++ b/pkgs/development/python-modules/langchain-community/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-community";
-  version = "0.0.26";
+  version = "0.0.27";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_community";
     inherit version;
-    hash = "sha256-K3W+HVDEWqMap4WYDnuFN0gUeJPSEe9nljJKYuqfrCg=";
+    hash = "sha256-Jm3/vUwWZtsYicrZU/pRAtTev/eCM1NTtteGNqdhd40=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix
index 76dcc2cd66b1b..6e7b52a16b702 100644
--- a/pkgs/development/python-modules/langchain-core/default.nix
+++ b/pkgs/development/python-modules/langchain-core/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-core";
-  version = "0.1.29";
+  version = "0.1.30";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_core";
     inherit version;
-    hash = "sha256-ZzHav/rQO5ITraJkDVTtf072uZ/Oh63jxxR0rhVN08w=";
+    hash = "sha256-4ToBblXn8IL/Pu7aLQy1BbiaiDDjojwdE00KideHGJQ=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/langsmith/default.nix b/pkgs/development/python-modules/langsmith/default.nix
index f74f7d4bd4315..5ab6970da9fbf 100644
--- a/pkgs/development/python-modules/langsmith/default.nix
+++ b/pkgs/development/python-modules/langsmith/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.1.22";
+  version = "0.1.23";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pxmlxx31bDojwEx7+UgMWS1jfhZufSeeCGOWpRp3y3M=";
+    hash = "sha256-AiXTIk20T9symFUenCxnOUXhyNAkffbEt8acEU0EMBg=";
   };
 
   sourceRoot = "${src.name}/python";
diff --git a/pkgs/development/python-modules/lark/default.nix b/pkgs/development/python-modules/lark/default.nix
index 5366311fed3ca..50f74dc2d811a 100644
--- a/pkgs/development/python-modules/lark/default.nix
+++ b/pkgs/development/python-modules/lark/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , regex
 , pytestCheckHook
+, pythonOlder
 , js2py
 , setuptools
 }:
@@ -33,6 +34,9 @@ buildPythonPackage rec {
     "lark.grammars"
   ];
 
+  # Js2py is not supported on 3.12
+  doCheck = pythonOlder "3.12";
+
   nativeCheckInputs = [
     js2py
     pytestCheckHook
diff --git a/pkgs/development/python-modules/lingua/default.nix b/pkgs/development/python-modules/lingua/default.nix
index c218e4a5376f7..7b1f6ba720057 100644
--- a/pkgs/development/python-modules/lingua/default.nix
+++ b/pkgs/development/python-modules/lingua/default.nix
@@ -15,6 +15,11 @@ buildPythonPackage rec {
     hash = "sha256-DhqUZ0HbKIpANhrQT/OP4EvwgZg0uKu4TEtTX+2bpO8=";
   };
 
+  postPatch = ''
+    substituteInPlace src/lingua/extract.py \
+      --replace-fail SafeConfigParser ConfigParser
+  '';
+
   nativeBuildInputs = [
     flit-core
   ];
diff --git a/pkgs/development/python-modules/linknlink/default.nix b/pkgs/development/python-modules/linknlink/default.nix
index 7bd25ff015455..3c1a3253c10e9 100644
--- a/pkgs/development/python-modules/linknlink/default.nix
+++ b/pkgs/development/python-modules/linknlink/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "linknlink";
-  version = "0.1.9";
+  version = "0.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "xuanxuan000";
     repo = "python-linknlink";
     rev = "refs/tags/${version}";
-    hash = "sha256-msKunZsAxA9xpCJmG4MVXuJDMEqrCeShvAqOw8zjSPM=";
+    hash = "sha256-gQqBxV5hidMejYE3xdB13n0gb1T4kVl1oELZ3hVy60E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/llama-index-core/default.nix b/pkgs/development/python-modules/llama-index-core/default.nix
index 96b5b4a41b5e5..8a71591eb27d1 100644
--- a/pkgs/development/python-modules/llama-index-core/default.nix
+++ b/pkgs/development/python-modules/llama-index-core/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "llama-index-core";
-  version = "0.10.17";
+  version = "0.10.18";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     owner = "run-llama";
     repo = "llama_index";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RxBALghAXVs6nn1ITdU/sDp9QU/kJAy7GdFxjE592lI=";
+    hash = "sha256-xNPvaXODY159x8Fl3HRdYCdYeFNIieX5TsLTfup8Dtg=";
   };
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/pkgs/development/python-modules/llama-parse/default.nix b/pkgs/development/python-modules/llama-parse/default.nix
index dd03d12d827ab..e65edce158db3 100644
--- a/pkgs/development/python-modules/llama-parse/default.nix
+++ b/pkgs/development/python-modules/llama-parse/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "llama-parse";
-  version = "0.3.7";
+  version = "0.3.8";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "llama_parse";
     inherit version;
-    hash = "sha256-MXBqYQ0ocpwrR0FFXJqcHt9HEXG0udKnE4qgZGVnEqY=";
+    hash = "sha256-PUc5cmaH5mAufKy8nxfUONOZiaSnMyT8mRIrOu+jhKQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/lomond/default.nix b/pkgs/development/python-modules/lomond/default.nix
index f8389fc46fcdc..46d362d7a848f 100644
--- a/pkgs/development/python-modules/lomond/default.nix
+++ b/pkgs/development/python-modules/lomond/default.nix
@@ -47,6 +47,9 @@ buildPythonPackage rec {
     # Makes HTTP requests
     "test_proxy"
     "test_live"
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    # https://github.com/wildfoundry/dataplicity-lomond/issues/91
+    "test_that_on_ping_responds_with_pong"
   ];
 
   disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
diff --git a/pkgs/development/python-modules/loqedapi/default.nix b/pkgs/development/python-modules/loqedapi/default.nix
index 332edd1c01124..96370c07aac41 100644
--- a/pkgs/development/python-modules/loqedapi/default.nix
+++ b/pkgs/development/python-modules/loqedapi/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "loqedapi";
-  version = "2.1.8";
+  version = "2.1.10";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "cpolhout";
     repo = "loqedAPI";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9ekZ98GazH1tna4JT5SEUETKR227UYRIBBghdj+TFB4=";
+    hash = "sha256-IYzrGqql6mmm+FmasxFJvKgHvg7n81WOu+GGAEQ1+Os=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/minio/default.nix b/pkgs/development/python-modules/minio/default.nix
index ddb2905bc1d95..e86f1ae1d7bc4 100644
--- a/pkgs/development/python-modules/minio/default.nix
+++ b/pkgs/development/python-modules/minio/default.nix
@@ -11,6 +11,7 @@
 , certifi
 , urllib3
 , pycryptodome
+, typing-extensions
 
 # test
 , faker
@@ -20,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "7.2.0";
+  version = "7.2.5";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -29,9 +30,14 @@ buildPythonPackage rec {
     owner = "minio";
     repo = "minio-py";
     rev = "refs/tags/${version}";
-    hash = "sha256-hZn1T75JbnJ5lIyWnX3f8r6OET/d6ZltuRr6jjYOp2o=";
+    hash = "sha256-Xb6XaGI/bwkhp6YKgoqi5Tbs74pSXc6aJpWVUgG5uR4=";
   };
 
+  postPatch = ''
+    substituteInPlace tests/unit/crypto_test.py \
+      --replace-fail "assertEquals" "assertEqual"
+  '';
+
   nativeBuildInputs = [
     setuptools
   ];
@@ -41,6 +47,7 @@ buildPythonPackage rec {
     certifi
     urllib3
     pycryptodome
+    typing-extensions
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/mlflow/default.nix b/pkgs/development/python-modules/mlflow/default.nix
index 1ec7760eaeb7c..1bed42479c8a8 100644
--- a/pkgs/development/python-modules/mlflow/default.nix
+++ b/pkgs/development/python-modules/mlflow/default.nix
@@ -6,11 +6,11 @@
 , databricks-cli
 , docker
 , entrypoints
-, fetchpatch
 , fetchPypi
 , flask
 , gitpython
 , gorilla
+, graphene
 , gunicorn
 , importlib-metadata
 , markdown
@@ -28,9 +28,9 @@
 , pyyaml
 , querystring-parser
 , requests
+, setuptools
 , scikit-learn
 , scipy
-, shap
 , simplejson
 , sqlalchemy
 , sqlparse
@@ -38,25 +38,23 @@
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "2.10.2";
-  format = "setuptools";
+  version = "2.11.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Pd8yuiwB2seeTQd9S7ntRtgqCC3JkiMgfVYsfua+5nE=";
+    hash = "sha256-ouwp7oYvGZVSCPuOBeUeXp0u3HF143zxNtlDuYGoJOk=";
   };
 
-  postPatch = ''
-    substituteInPlace requirements/core-requirements.txt \
-      --replace "gunicorn<21" "gunicorn"
-  '';
-
   # Remove currently broken dependency `shap`, a model explainability package.
   # This seems quite unprincipled especially with tests not being enabled,
   # but not mlflow has a 'skinny' install option which does not require `shap`.
-  nativeBuildInputs = [ pythonRelaxDepsHook ];
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools
+  ];
   pythonRemoveDeps = [ "shap" ];
   pythonRelaxDeps = [ "pytz" "pyarrow" ];
 
@@ -70,6 +68,7 @@ buildPythonPackage rec {
     flask
     gitpython
     gorilla
+    graphene
     gunicorn
     importlib-metadata
     markdown
diff --git a/pkgs/development/python-modules/mplhep/default.nix b/pkgs/development/python-modules/mplhep/default.nix
index cb42de13cca71..436baf50202e7 100644
--- a/pkgs/development/python-modules/mplhep/default.nix
+++ b/pkgs/development/python-modules/mplhep/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "mplhep";
-  version = "0.3.35";
+  version = "0.3.41";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0l89Vh/vmi8kHeNer2ExGE1ehn1Kw3AbEUm8C55a92w=";
+    hash = "sha256-1L9e2A2u+4+QEWJW2ikuENLD0x5Khjfr7I6p+Vt4nwE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
index a51b5df67c23b..e02abac1b4f88 100644
--- a/pkgs/development/python-modules/mypy-boto3-builder/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-builder";
-  version = "7.23.1";
+  version = "7.23.2";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "youtype";
     repo = "mypy_boto3_builder";
     rev = "refs/tags/${version}";
-    hash = "sha256-dbf2rHDQSeHEIN31yIm1142Z7AxTZzMf9FGvrWsJblA=";
+    hash = "sha256-v5/3TCEtDXbmitb3e15XWkW8VO5nJk8TCVvVyh5rAMs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix
index 070e93de7c53c..06200f9bf6c8d 100644
--- a/pkgs/development/python-modules/mypy-boto3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3/default.nix
@@ -1,9 +1,10 @@
 { lib
 , boto3
 , buildPythonPackage
+, fetchPypi
 , pythonOlder
+, setuptools
 , typing-extensions
-, fetchPypi
 }:
 let
   toUnderscore = str: builtins.replaceStrings [ "-" ] [ "_" ] str;
@@ -12,7 +13,7 @@ let
     buildPythonPackage rec {
       pname = "mypy-boto3-${serviceName}";
       inherit version;
-      format = "setuptools";
+      pyproject = true;
 
       disabled = pythonOlder "3.7";
 
@@ -20,6 +21,10 @@ let
         inherit pname version hash;
       };
 
+      nativeBuildInputs = [
+        setuptools
+      ];
+
       propagatedBuildInputs = [
         boto3
       ] ++ lib.optionals (pythonOlder "3.12") [
@@ -42,39 +47,39 @@ let
     };
 in
 rec {
-  mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.34.0" "sha256-pdbHDyL7zVOJ38WvH9c9pxhDZhJvAyEuH6C+x9QChdE=";
+  mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.34.54" "sha256-ZglQkseFlqe160S+v5baZ3rfI5QqKsh9IIRPOJEcD3E=";
 
   mypy-boto3-account = buildMypyBoto3Package "account" "1.34.0" "sha256-C2iAiA83tZ/7XRlccf1iddDfDNkuO2F0B5aOxKbHy2Q=";
 
   mypy-boto3-acm = buildMypyBoto3Package "acm" "1.34.0" "sha256-SvDBi8A9414Hxb8twcM/6Y2OoUz+/LbZZJ86lu/zmmo=";
 
-  mypy-boto3-acm-pca = buildMypyBoto3Package "acm-pca" "1.34.0" "sha256-vQ3bj9v52Xjjs3tjUZoDpCwcN7q6tpn8bZJAyyIaX5w=";
+  mypy-boto3-acm-pca = buildMypyBoto3Package "acm-pca" "1.34.28" "sha256-4x4M49/Ot/HDZrA30PCu0OzXn3636dxCO4exR3lJAUs=";
 
   mypy-boto3-alexaforbusiness = buildMypyBoto3Package "alexaforbusiness" "1.34.0" "sha256-wrMSoM3F0HgajmM9X6P+3i6mqD55TWGVv8eJ7XqNjrw=";
 
-  mypy-boto3-amp = buildMypyBoto3Package "amp" "1.34.0" "sha256-zdXxnk9+cNRSj4cZLIJiFVRaBZaXOf/C+UaTp6JkZ0U=";
+  mypy-boto3-amp = buildMypyBoto3Package "amp" "1.34.39" "sha256-XOousDfEQsZ9z48iH2wVHuUaIwoECwbkHvIAlV3+zu4=";
 
-  mypy-boto3-amplify = buildMypyBoto3Package "amplify" "1.34.0" "sha256-dWI0x6Ro0FOIeraID9XVLOKMWdKxQy5ywVathCQz2Pc=";
+  mypy-boto3-amplify = buildMypyBoto3Package "amplify" "1.34.45" "sha256-hV0fg6Y39NkZ6Qa6GyIYicMERjCBAjZYcSsJ+1jXAfA=";
 
   mypy-boto3-amplifybackend = buildMypyBoto3Package "amplifybackend" "1.34.0" "sha256-wP6fOHAUg4dvrlQ2rUNk/lgIr6JnpWu/0Tr2prTckOk=";
 
-  mypy-boto3-amplifyuibuilder = buildMypyBoto3Package "amplifyuibuilder" "1.34.0" "sha256-1G/VwrU4zUrIw7mojXX5rHxdDUI77iOE2Kl7LJmPjz0=";
+  mypy-boto3-amplifyuibuilder = buildMypyBoto3Package "amplifyuibuilder" "1.34.51" "sha256-umxA1d0jlSysBkUFP8VPRMwuwYxdsRz0yRH7lgr/Hhc=";
 
-  mypy-boto3-apigateway = buildMypyBoto3Package "apigateway" "1.34.0" "sha256-PHJBIJccdPtlqU635LkqOkso32xwygSgBwcubHP27ac=";
+  mypy-boto3-apigateway = buildMypyBoto3Package "apigateway" "1.34.56" "sha256-WrFdsw1zAZg4TWRF1QzB/smDYbhTZt0JKxDpufShoss=";
 
   mypy-boto3-apigatewaymanagementapi = buildMypyBoto3Package "apigatewaymanagementapi" "1.34.0" "sha256-911Sd+7hnHpAhDFE2lDhl+b3Pewd5QWWOPdg+TcZ6VU=";
 
   mypy-boto3-apigatewayv2 = buildMypyBoto3Package "apigatewayv2" "1.34.0" "sha256-ydpZ3osSSMwTtGsnRn1SygX5d9Kq8jHwqdQDKcmKXTY=";
 
-  mypy-boto3-appconfig = buildMypyBoto3Package "appconfig" "1.34.0" "sha256-mhA3LnS9upyI89XPjdTOaTKWbHMRF/xIhnYl432s6x4=";
+  mypy-boto3-appconfig = buildMypyBoto3Package "appconfig" "1.34.58" "sha256-f073cXEkDyzkPeOPclhS0O6ZVvEmYPkGPMXrAD8LkE4=";
 
-  mypy-boto3-appconfigdata = buildMypyBoto3Package "appconfigdata" "1.34.0" "sha256-W0hEQ5i8Ef+cuAZZ5nBRaJhAzUC/iDqwbB16RXC1dq0=";
+  mypy-boto3-appconfigdata = buildMypyBoto3Package "appconfigdata" "1.34.24" "sha256-pSo1Qw6ZKN0XzERlCRmCtvJEOjgyd+a82t6Q3pPaU8Q=";
 
   mypy-boto3-appfabric = buildMypyBoto3Package "appfabric" "1.34.0" "sha256-wjvOtCvFrj+YPvyqvR8cKIvwvC6x15WeSX6PkNp4OWg=";
 
   mypy-boto3-appflow = buildMypyBoto3Package "appflow" "1.34.0" "sha256-XruMwzBrjV7QTHOcHKqszt75cHX+578wbTwFMwyXHzE=";
 
-  mypy-boto3-appintegrations = buildMypyBoto3Package "appintegrations" "1.34.0" "sha256-dh804kGi00kWB2mCj7SPpdDh675A77KkxU9A0TjenmU=";
+  mypy-boto3-appintegrations = buildMypyBoto3Package "appintegrations" "1.34.6" "sha256-iVaOlWOiCeocOJpcsxF0hlzKhGE3iq6Z7OifLWA3kkM=";
 
   mypy-boto3-application-autoscaling = buildMypyBoto3Package "application-autoscaling" "1.34.0" "sha256-xW+Rc6yjDBviNDBDB63ssg0aPZFytaVfrVlA32wY/D4=";
 
@@ -84,19 +89,19 @@ rec {
 
   mypy-boto3-appmesh = buildMypyBoto3Package "appmesh" "1.34.0" "sha256-AXJ4z/54qPQeHKbZF6Is4OXt9/gZNacmYnLwfxPcn+E=";
 
-  mypy-boto3-apprunner = buildMypyBoto3Package "apprunner" "1.34.0" "sha256-w6gwD3m+nbsVvNaWbBnTjktLfkL08XsawNJWYzEgMLI=";
+  mypy-boto3-apprunner = buildMypyBoto3Package "apprunner" "1.34.11" "sha256-p4txQ08e6jpYiJmjG/JIXyObXhTnlXB8S5QDtUPUFt0=";
 
-  mypy-boto3-appstream = buildMypyBoto3Package "appstream" "1.34.0" "sha256-wSUalYAu+1FHxM67tZdodL3PqBV4du07p+6yHYRmFNE=";
+  mypy-boto3-appstream = buildMypyBoto3Package "appstream" "1.34.5" "sha256-1m9YDw1fzoe4Y37yW6a1545SR2QGSrr5qbqYfXEax7o=";
 
-  mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.34.0" "sha256-5PjtOGmd/65OE57chi0Uk2rUtd9Dr2i4ZaeSv92AxBo=";
+  mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.34.49" "sha256-J2qTVaXhqsfdupN6eLgpyGTHkPRRC1TZGNP2PRKF0v0=";
 
   mypy-boto3-arc-zonal-shift = buildMypyBoto3Package "arc-zonal-shift" "1.34.0" "sha256-FhQaiu0Sc4HkkaRuhtgvUBMOgj80DbIBzZLEbZB41Cs=";
 
-  mypy-boto3-athena = buildMypyBoto3Package "athena" "1.34.0" "sha256-tBvQLE3zxj/4y1Yj05DoZ7pJgQxOJom+S5WnOo/afrE=";
+  mypy-boto3-athena = buildMypyBoto3Package "athena" "1.34.23" "sha256-PDvz2+2XcNi/nYkGjOeb8t1JbIN+SxSSifU6sDXoNyc=";
 
   mypy-boto3-auditmanager = buildMypyBoto3Package "auditmanager" "1.34.0" "sha256-22Xkl1A5wzKDpRQcr/lp7gQsDPtQjvjK3nBm5O2ZS+k=";
 
-  mypy-boto3-autoscaling = buildMypyBoto3Package "autoscaling" "1.34.0" "sha256-zXvepguIpLfim5EOBOG7Rr86AmW8twHqF+mRj5mkLjs=";
+  mypy-boto3-autoscaling = buildMypyBoto3Package "autoscaling" "1.34.54" "sha256-MGACE7CeturY9BN6Gq3VAvz4TqeoQ/ASlSdbX9LLTbQ=";
 
   mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.34.0" "sha256-16siojcxNe5MuSZSRJXPAz2UudJozEEyCYUrsGNDAM8=";
 
@@ -106,15 +111,15 @@ rec {
 
   mypy-boto3-backupstorage = buildMypyBoto3Package "backupstorage" "1.34.0" "sha256-Y8kjZ+ov8OsiJ8Sm1LlvP8YbgVc+AkLkbZIhOh4y7ZY=";
 
-  mypy-boto3-batch = buildMypyBoto3Package "batch" "1.34.0" "sha256-prxGVwUz+e2fS2hxwiPdvRaWrfNaE+GnzQoauz/eit8=";
+  mypy-boto3-batch = buildMypyBoto3Package "batch" "1.34.59" "sha256-rsXdh8f3KRAROftePejdLxChRqtiaDFsJyhctX7jRUQ=";
 
-  mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.34.0" "sha256-quSSSSS54q41Y3I5KLT/siGjdvTtIich6joF/jye07M=";
+  mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.34.1" "sha256-uXxQkoe2u3idcYta9YFbjxoK8HsvUiRQSyYrYhVi1kU=";
 
-  mypy-boto3-braket = buildMypyBoto3Package "braket" "1.34.0" "sha256-32tO2+oW3RgsVU8LVhKTKUcHLfeamcjslyuy9gDMUko=";
+  mypy-boto3-braket = buildMypyBoto3Package "braket" "1.34.39" "sha256-laMrKu9oN5a9yvB8lyhdjpq5hm1HGAFn3iJ0lReRpOI=";
 
   mypy-boto3-budgets = buildMypyBoto3Package "budgets" "1.34.0" "sha256-gs8JYnpFNOMWppBO2R3DO+c6RecQC0vzaox5DqXCKOA=";
 
-  mypy-boto3-ce = buildMypyBoto3Package "ce" "1.34.0" "sha256-P91yDeobSBrtSnkwTp1bATY/kxJn3unGsdO1SlUtqLE=";
+  mypy-boto3-ce = buildMypyBoto3Package "ce" "1.34.52" "sha256-KHimN6KC8V6nyp6ZQbv0XAuWMjGZkg/bPrQ6do5QQE0=";
 
   mypy-boto3-chime = buildMypyBoto3Package "chime" "1.34.0" "sha256-/IBkHJf4t1K/Ubdf/hUw5XToNBTCziMfTSdksxMwA2Q=";
 
@@ -122,7 +127,7 @@ rec {
 
   mypy-boto3-chime-sdk-media-pipelines = buildMypyBoto3Package "chime-sdk-media-pipelines" "1.34.0" "sha256-h5RD+anRtH0UQ5pFjhygN9oZDFdIRZMfGXSKlT2HuSY=";
 
-  mypy-boto3-chime-sdk-meetings = buildMypyBoto3Package "chime-sdk-meetings" "1.34.0" "sha256-WgkY9NZsDxKc38kzlUFciLj/rqJ6S/rxFPOzerCsS84=";
+  mypy-boto3-chime-sdk-meetings = buildMypyBoto3Package "chime-sdk-meetings" "1.34.4" "sha256-AmwzLd8iLGdmo1Ajv4IVrxwyf/UljG0I06um2S3PG+E=";
 
   mypy-boto3-chime-sdk-messaging = buildMypyBoto3Package "chime-sdk-messaging" "1.34.0" "sha256-8Pq48GBFKQRdmoAu9qxAR14xRSP8/roBrZHxzaTBB54=";
 
@@ -130,13 +135,13 @@ rec {
 
   mypy-boto3-cleanrooms = buildMypyBoto3Package "cleanrooms" "1.34.0" "sha256-gucAudT1eWqm/y/gynY7pgBXbs5n7fnzfeSlVQad7HI=";
 
-  mypy-boto3-cloud9 = buildMypyBoto3Package "cloud9" "1.34.0" "sha256-uX7dER+xkJj38UtmtLpg17CAdaUQi6/CVoRzU/J87v0=";
+  mypy-boto3-cloud9 = buildMypyBoto3Package "cloud9" "1.34.24" "sha256-fryD7UfO5cdFS7vMxmZaT9LW4nNSGTQCd3NyD60f9wA=";
 
   mypy-boto3-cloudcontrol = buildMypyBoto3Package "cloudcontrol" "1.34.0" "sha256-81M2llb46sviZ874/vHVaqOU1PvQs+Zdil8bxr1pEWM=";
 
   mypy-boto3-clouddirectory = buildMypyBoto3Package "clouddirectory" "1.34.0" "sha256-lWJQClNEhyq9CN8ThcHtVcEsowIp+V8RXh4rgHAclfM=";
 
-  mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.34.0" "sha256-myXfnvFdncjk6JLMB6qTQ/FfLtXrfTPrXrZa36Y/U48=";
+  mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.34.55" "sha256-3p9NRdCk5Xu174uNegNHb47yT/olPWNs2CTN4GEidDk=";
 
   mypy-boto3-cloudfront = buildMypyBoto3Package "cloudfront" "1.34.0" "sha256-3n/WEiQdcE253J+CFsskoYlNMXASdzkhPTWneSHDKoM=";
 
@@ -148,19 +153,19 @@ rec {
 
   mypy-boto3-cloudsearchdomain = buildMypyBoto3Package "cloudsearchdomain" "1.34.0" "sha256-jhhwFXH80aZjVqVMZulwoCvu3EmXj4BbJ3DQ6eJPS4E=";
 
-  mypy-boto3-cloudtrail = buildMypyBoto3Package "cloudtrail" "1.34.0" "sha256-24CHnUhqXR0cBPFbdvLGBNO77kKNM5FUnQ+FjQ7QZlg=";
+  mypy-boto3-cloudtrail = buildMypyBoto3Package "cloudtrail" "1.34.59" "sha256-0gwq1zhZcLc8gVGo337AqqC39w8MJR6JK948No/yzVA=";
 
   mypy-boto3-cloudtrail-data = buildMypyBoto3Package "cloudtrail-data" "1.34.0" "sha256-ACiJrI+VTHr06i8PKgDY/K8houFUZQNS1lluouadCTQ=";
 
-  mypy-boto3-cloudwatch = buildMypyBoto3Package "cloudwatch" "1.34.0" "sha256-zBiqKxqJ60iYpsIT21lKv2L+mvym6Ma9mqBLmZYZNjU=";
+  mypy-boto3-cloudwatch = buildMypyBoto3Package "cloudwatch" "1.34.40" "sha256-M/C3Rzie5dcv6TGVl7ilI5WiT1uYFrCGL+7Fga+xSLw=";
 
   mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.34.0" "sha256-iUgoanqMSyxRopVctyFLiu+otFSgRvdgQPw4mKX3QIk=";
 
-  mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.34.0" "sha256-d77ekJZom4AmSFKjIdVxMPJjCrl+yxpOLvkmOFp08x4=";
+  mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.34.59" "sha256-dkX5QeHjfBrY8mU+/5tKVkJlqAodBYqkW8oei1iqTl0=";
 
   mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.34.0" "sha256-TsXVy8bx6kaj84PJiNNU+075Tx3WW0mrtZFOyLx9yT4=";
 
-  mypy-boto3-codecommit = buildMypyBoto3Package "codecommit" "1.34.0" "sha256-uxOfWHCeWBYWnNgWaopcJkS0GH/CaW4J4FoXhPvh3VM=";
+  mypy-boto3-codecommit = buildMypyBoto3Package "codecommit" "1.34.6" "sha256-wCw6e7yvMjM+A6jXfB2D4Z+i9s3e/F9Ih/VxD6iiwws=";
 
   mypy-boto3-codedeploy = buildMypyBoto3Package "codedeploy" "1.34.0" "sha256-Sxtcl/fO+A2/s/6O3VC1BPIJ3dDamshEEmKXqyg4fN8=";
 
@@ -170,39 +175,39 @@ rec {
 
   mypy-boto3-codeguruprofiler = buildMypyBoto3Package "codeguruprofiler" "1.34.0" "sha256-pAZL9m0SHRYiIrXzBf+IeEkQOXS4/6OJqoDI6og3N5s=";
 
-  mypy-boto3-codepipeline = buildMypyBoto3Package "codepipeline" "1.34.0" "sha256-3GNLNY7OYm3bonTrMenNrGiUJiFWEKbv2mBZWMUlTmc=";
+  mypy-boto3-codepipeline = buildMypyBoto3Package "codepipeline" "1.34.43" "sha256-omGtS0+5qBDBxCcKoOM+dsraE22m129zYUJB2yRxBtQ=";
 
   mypy-boto3-codestar = buildMypyBoto3Package "codestar" "1.34.0" "sha256-BAueRLlYZGDiF6DtjxL24twLYYZqD3ErdJ73fsFoG1k=";
 
-  mypy-boto3-codestar-connections = buildMypyBoto3Package "codestar-connections" "1.34.0" "sha256-FTz1h4fD+P6L+tgTXs+4iyeowYIejH2o/TwMyby9CXE=";
+  mypy-boto3-codestar-connections = buildMypyBoto3Package "codestar-connections" "1.34.10" "sha256-xAYeABwDIbIELhjcRA4ErYaAsChZD1vCPWAw7/PNXL0=";
 
   mypy-boto3-codestar-notifications = buildMypyBoto3Package "codestar-notifications" "1.34.0" "sha256-JmXEpHbOhcO9F++G+ohXPuXoNILbcL9r5qyH4OooCtc=";
 
   mypy-boto3-cognito-identity = buildMypyBoto3Package "cognito-identity" "1.34.0" "sha256-6UlyNX0a1wG5FR/WHMZOwysikGffNCX6Fo1MYvFuFwM=";
 
-  mypy-boto3-cognito-idp = buildMypyBoto3Package "cognito-idp" "1.34.0" "sha256-WVg6clR26IqKS/GhAjK++6wrlzdDpM8Y1hovoTjNoQw=";
+  mypy-boto3-cognito-idp = buildMypyBoto3Package "cognito-idp" "1.34.59" "sha256-kZpXb5MzK4IceWnNs9tWWLhQnysfWGuOLf00J4/ypvw=";
 
   mypy-boto3-cognito-sync = buildMypyBoto3Package "cognito-sync" "1.34.0" "sha256-JTkmpEHwKN5IyoGVs4beVAEOr1fZPxBoYjzNBgjTEY0=";
 
-  mypy-boto3-comprehend = buildMypyBoto3Package "comprehend" "1.34.0" "sha256-C3KrC4tHmNHLe0Hl5TIE0vWZsB9z8wDNRr1SXSsH4e0=";
+  mypy-boto3-comprehend = buildMypyBoto3Package "comprehend" "1.34.30" "sha256-G7mSJWcr0ntPX6WoaeTWPw/uB32yn6xXPyyQvDVfa8s=";
 
   mypy-boto3-comprehendmedical = buildMypyBoto3Package "comprehendmedical" "1.34.0" "sha256-4KzL56xU474te8tW5xVZo6D5Pwe3GLRQbQfX8CXTz9g=";
 
   mypy-boto3-compute-optimizer = buildMypyBoto3Package "compute-optimizer" "1.34.0" "sha256-k/4Ixaf9n4J8Y5ELjuMZ2dn7DgKftmwQZfdHhYDMc6w=";
 
-  mypy-boto3-config = buildMypyBoto3Package "config" "1.34.0" "sha256-Yr0Cp6vDk/+lGc6ehCIncSbNGxexR3t8ZaH7abEc8DI=";
+  mypy-boto3-config = buildMypyBoto3Package "config" "1.34.45" "sha256-LN1CcIOj9cgzSNCvnUVwLRNPXlitHAlt+5jj6wu6i8E=";
 
-  mypy-boto3-connect = buildMypyBoto3Package "connect" "1.34.0" "sha256-bAJDjrOQMLJx/iVT8r6nl4x6DGb8vqHeOOVcw4LukOI=";
+  mypy-boto3-connect = buildMypyBoto3Package "connect" "1.34.29" "sha256-ITp3AxmopIkeVPezwN27Xcy5TnDn8O0rzWHokPzTGdE=";
 
   mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.34.0" "sha256-Wx9vcjlgXdWZ2qP3Y/hTY2LAeTd+hyyV5JSIuKQ5I5k=";
 
-  mypy-boto3-connectcampaigns = buildMypyBoto3Package "connectcampaigns" "1.34.0" "sha256-acfJ74LRwrfpwnBA2JjoqhiRrHjlaNUXLBvKP0RiAiA=";
+  mypy-boto3-connectcampaigns = buildMypyBoto3Package "connectcampaigns" "1.34.16" "sha256-CR1FuVJgYODKEhDmmwcWrjPyZm7HsFRlzq3HlnKe81E=";
 
-  mypy-boto3-connectcases = buildMypyBoto3Package "connectcases" "1.34.0" "sha256-U9cPqrV5xnLZoJR0ilBQnOccShQOYRR3e2+tZruL7qY=";
+  mypy-boto3-connectcases = buildMypyBoto3Package "connectcases" "1.34.24" "sha256-a3P7wPx2FQ3V5T68B4fYzuq2juiqs7R8K5WSbyWu5ug=";
 
-  mypy-boto3-connectparticipant = buildMypyBoto3Package "connectparticipant" "1.34.0" "sha256-kyQhp8/a0H26U6DLBVF9IiCXoT74STsI8ApxVHy0xSQ=";
+  mypy-boto3-connectparticipant = buildMypyBoto3Package "connectparticipant" "1.34.44" "sha256-kP4ovwHfJoeRjSyfeL0M1U70aJoApMUUWOLFRpt6H+w=";
 
-  mypy-boto3-controltower = buildMypyBoto3Package "controltower" "1.34.0" "sha256-TaqzVvy2qGCvb5Orrxk1g8hyPQVHPEre8Zt2qH0D0dY=";
+  mypy-boto3-controltower = buildMypyBoto3Package "controltower" "1.34.42" "sha256-HwVES0lu75XkBPE7WQMSP2tOSogAqO3yr+cIeWaw9Is=";
 
   mypy-boto3-cur = buildMypyBoto3Package "cur" "1.34.0" "sha256-vwMILmIX7uzAGXdl1Z5mxVMJlgZCtA3Svp8mFmoZ6tQ=";
 
@@ -214,11 +219,11 @@ rec {
 
   mypy-boto3-datapipeline = buildMypyBoto3Package "datapipeline" "1.34.0" "sha256-Amn6pdW5i8+yBzuSRAmj0EnTYEGjzguQxaoLmhFFXck=";
 
-  mypy-boto3-datasync = buildMypyBoto3Package "datasync" "1.34.0" "sha256-B1xHynvQcy/CrL/wgANVpZisD3TfXfP5S7s+RVUSvwg=";
+  mypy-boto3-datasync = buildMypyBoto3Package "datasync" "1.34.37" "sha256-uVZsnbghzbjDAuR+d6l7EET6S9fvx2NYGEllCPLtIXQ=";
 
   mypy-boto3-dax = buildMypyBoto3Package "dax" "1.34.0" "sha256-DH5kqV+C4vbZ8fbvAtR93jd5YB22hkYe/xgOF4oru1Y=";
 
-  mypy-boto3-detective = buildMypyBoto3Package "detective" "1.34.0" "sha256-tKVKacFOFqRPbqIXBfbuqD2yC+Mh2cfTxqKFV4tvT1A=";
+  mypy-boto3-detective = buildMypyBoto3Package "detective" "1.34.43" "sha256-VevmUTgN0UKhWAtGfSbQoqAhgv19XiOBBoNNsHfHezg=";
 
   mypy-boto3-devicefarm = buildMypyBoto3Package "devicefarm" "1.34.0" "sha256-X0D4Am4GUDFl703FmdrPcHXihFdzuch/eQBofDTameQ=";
 
@@ -232,21 +237,21 @@ rec {
 
   mypy-boto3-dms = buildMypyBoto3Package "dms" "1.34.0" "sha256-xGGMtqja+ipLpWRMXO1VzxHqjlaZDZ31p634u5kmyNs=";
 
-  mypy-boto3-docdb = buildMypyBoto3Package "docdb" "1.34.0" "sha256-BuGkdlbgE40NOaa2Uy5ZTa0vdNv7d4OwPI6pTsNsBy4=";
+  mypy-boto3-docdb = buildMypyBoto3Package "docdb" "1.34.13" "sha256-oh6mrgHSr64TK/iYypOYZtqEEFtNfaIWpqj6sFatP18=";
 
-  mypy-boto3-docdb-elastic = buildMypyBoto3Package "docdb-elastic" "1.34.0" "sha256-7LeK49HTNBf4AZ6Lba0N42/6oTEh6RopgMHm+TfdY5k=";
+  mypy-boto3-docdb-elastic = buildMypyBoto3Package "docdb-elastic" "1.34.53" "sha256-sNoS7ujT0rMi4WAFXwIfwkoGP3c88+l6cW7eliHheJ4=";
 
-  mypy-boto3-drs = buildMypyBoto3Package "drs" "1.34.0" "sha256-AFAsrg/ZByd39VCotrmgvVsbtccl6+o0kxRB7vPjQDM=";
+  mypy-boto3-drs = buildMypyBoto3Package "drs" "1.34.50" "sha256-UWqnQAyxBnQjGYofZMOD3nhnqxTMh2U7/FNtMId1isk=";
 
   mypy-boto3-ds = buildMypyBoto3Package "ds" "1.34.0" "sha256-qVtMpsnVLF2rN4WaEhrqlTvWvW28RcHIBjsZYwmYapc=";
 
-  mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.34.0" "sha256-wNmNfoOwvCLlA59wOIn7liAtgYFxxCBv0x5mWjdlToQ=";
+  mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.34.57" "sha256-itDqozgR636w+OK8wtvO+obJHXohsTr1AMOousvpnbA=";
 
   mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.34.0" "sha256-Zx5cJE+fU9NcvK5rLR966AGIKUvfIwdpLaWWdLmuDzc=";
 
   mypy-boto3-ebs = buildMypyBoto3Package "ebs" "1.34.0" "sha256-xIrrXOayZed+Jcn4CFXXNgKz/G+RdiuwA04wq+Ry/fs=";
 
-  mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.34.0" "sha256-8Z1P6bSuQXOvbshB0dLTjlOwxe7E9Ob8utBtBljhMHA=";
+  mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.34.58" "sha256-aKewHoA/tX5j8kFCc5zhstjZaM6pnFVdcaUAerWCb44=";
 
   mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.34.0" "sha256-95TXW9HJHciM+lZCdlUYOwcLhkKE8RJpRx9/dEnu3FU=";
 
@@ -254,11 +259,11 @@ rec {
 
   mypy-boto3-ecr-public = buildMypyBoto3Package "ecr-public" "1.34.0" "sha256-38ZiRVPr9L+KUF6oL23xsIiKMW0pT/nIngFkhSS3z2Y=";
 
-  mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.34.0" "sha256-o16Lui5CP/yNs2FPWk6+vMh0Whw9LNcmylOc5GGoU+o=";
+  mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.34.39" "sha256-s3YTAoZSgDHenHa54DwSNRRAnfCNMcdmZP1FX0hTygE=";
 
   mypy-boto3-efs = buildMypyBoto3Package "efs" "1.34.0" "sha256-VAK7mfnPBPDC8Azm6Bxl86E8CkeArTmfgqYkIcSblYA=";
 
-  mypy-boto3-eks = buildMypyBoto3Package "eks" "1.34.0" "sha256-nJec25u+np9bwuVP+lsRchVXul3LOphQ+Y1RUGNhpng=";
+  mypy-boto3-eks = buildMypyBoto3Package "eks" "1.34.53" "sha256-bmd/gv3krZZSeQDCYca/AFHkSBL4PTvx3ZEjItQ43QQ=";
 
   mypy-boto3-elastic-inference = buildMypyBoto3Package "elastic-inference" "1.34.0" "sha256-gbWKw0zDQf3qBlp1KeO7MX1j/GqRUpFAxLG0BKFrHBk=";
 
@@ -270,9 +275,9 @@ rec {
 
   mypy-boto3-elb = buildMypyBoto3Package "elb" "1.34.0" "sha256-5Eh5D872pVDd7Q+DDh3zpGMVgS8fUJsV+63H1fet73s=";
 
-  mypy-boto3-elbv2 = buildMypyBoto3Package "elbv2" "1.34.0" "sha256-p3rJM3/6flZvJxg5FbkPFQP5PTXNRTMXqO3mB6akpHU=";
+  mypy-boto3-elbv2 = buildMypyBoto3Package "elbv2" "1.34.32" "sha256-jDrQb4A0PVBSxH7vuPXehpEYdU8Hwgv2Sc2+j0OGVJg=";
 
-  mypy-boto3-emr = buildMypyBoto3Package "emr" "1.34.0" "sha256-QWxYOAS5JTS1zEC5Mn0RF9Ys7cuwCs2xv/nLyYSvWIE=";
+  mypy-boto3-emr = buildMypyBoto3Package "emr" "1.34.44" "sha256-zM1VpAaBSxqdZiSrNiaAKfvliNRXMLEmvFvXcFmkZO0=";
 
   mypy-boto3-emr-containers = buildMypyBoto3Package "emr-containers" "1.34.0" "sha256-tGHWoMVrfH35hLgzDGMSJs5kRTWQqjM/e0IAPe4EfiU=";
 
@@ -280,17 +285,17 @@ rec {
 
   mypy-boto3-entityresolution = buildMypyBoto3Package "entityresolution" "1.34.0" "sha256-qfRZtRaxysW+Ev16gnj48CePZzLBWrXmrq3tEGtfNbM=";
 
-  mypy-boto3-es = buildMypyBoto3Package "es" "1.34.0" "sha256-h1ALh7JaoeLbfrkrvFuNsqMbNFN9ERcr/m4hKTVrqlU=";
+  mypy-boto3-es = buildMypyBoto3Package "es" "1.34.36" "sha256-uVLB1fjZRhlqJ/isKl5TDORmIN4ffKKqzyGZcEffa5g=";
 
-  mypy-boto3-events = buildMypyBoto3Package "events" "1.34.0" "sha256-1nQVOsAXZ92z1ImWhZcm9HpucFYB5jkMC6wnfS6woxY=";
+  mypy-boto3-events = buildMypyBoto3Package "events" "1.34.17" "sha256-L/78a975mFWw5xBH4et01j4Ba9/aGb5NUK7d/bPtsJU=";
 
   mypy-boto3-evidently = buildMypyBoto3Package "evidently" "1.34.0" "sha256-MkBB5iTYJYg2cWFYHR3Qu7TcsDglLPEw0MnoHqij6+A=";
 
-  mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.34.0" "sha256-zYESrekQFm9mU7i4puR+T/dJ7zqen1HYhWLIfCSRfYI=";
+  mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.34.24" "sha256-GMHF1MWsAt0EfwcK/OSG14AP80L+9dLNsWygvpU5344=";
 
   mypy-boto3-finspace-data = buildMypyBoto3Package "finspace-data" "1.34.0" "sha256-8mND5BbdKY5srFwdpxSyfCUTIP4fa9hztP4daUJOB8k=";
 
-  mypy-boto3-firehose = buildMypyBoto3Package "firehose" "1.34.0" "sha256-JC+78vL78ro7BmV8SP32l9XgS3Xq5sjmF0Oj1tl+EO4=";
+  mypy-boto3-firehose = buildMypyBoto3Package "firehose" "1.34.46" "sha256-Fgs7wrwKPK79cYduCR/RYQ2FEZvghDuWI1hXKzFLfJo=";
 
   mypy-boto3-fis = buildMypyBoto3Package "fis" "1.34.0" "sha256-0TJ7iAF9hTOiKoW305p8a5fE0lZrdtoFDj/jjZzfdf0=";
 
@@ -302,9 +307,9 @@ rec {
 
   mypy-boto3-frauddetector = buildMypyBoto3Package "frauddetector" "1.34.0" "sha256-EjiFEFpLKN0NmrNY43CFhQZHN+COTwRXx513X6X7vlE=";
 
-  mypy-boto3-fsx = buildMypyBoto3Package "fsx" "1.34.0" "sha256-ldLsj0dqNfvmcmqoikBI6qHPKIljkjfttrm3Rg8VKrE=";
+  mypy-boto3-fsx = buildMypyBoto3Package "fsx" "1.34.55" "sha256-XsIX4C8sF1m8jGbwrDWGoV7onHA9tRlI5Dki43bf9FM=";
 
-  mypy-boto3-gamelift = buildMypyBoto3Package "gamelift" "1.34.0" "sha256-O9k5Ve7aZte3gwk2FS9i8k/sRsMKj+HIfI/rk9MlI70=";
+  mypy-boto3-gamelift = buildMypyBoto3Package "gamelift" "1.34.1" "sha256-EUdVrcriXRUqjcyKzyuoIdDTxMSAdyKcnbJ96s/Y8Uc=";
 
   mypy-boto3-gamesparks = buildMypyBoto3Package "gamesparks" "1.28.36" "sha256-6lQXNJ55FYvkFA14rgJGhRMjBHA3YrOybnsKNecX7So=";
 
@@ -312,9 +317,9 @@ rec {
 
   mypy-boto3-globalaccelerator = buildMypyBoto3Package "globalaccelerator" "1.34.0" "sha256-hvQeuu1TuLO9aB1+lWTGPgpGqoZlC8d3Ru5S4OVLgys=";
 
-  mypy-boto3-glue = buildMypyBoto3Package "glue" "1.34.0" "sha256-ZUe+WMSvYT0v5aXEbYAX5ZitSV9kv9FKVtfeQGIEG6U=";
+  mypy-boto3-glue = buildMypyBoto3Package "glue" "1.34.35" "sha256-+Kvk8uB9KZp7mw3sMAM6mHdBTnkO5J8nSVClttndMDY=";
 
-  mypy-boto3-grafana = buildMypyBoto3Package "grafana" "1.34.0" "sha256-J8ccxvUnjvC6aITCuLHnEXMlQ3Bdh6HxP+Spu326ZwA=";
+  mypy-boto3-grafana = buildMypyBoto3Package "grafana" "1.34.58" "sha256-dr+fCDf0DcWGxPPLMnzqrOCRMfoLhznyv6n679fFU/0=";
 
   mypy-boto3-greengrass = buildMypyBoto3Package "greengrass" "1.34.0" "sha256-ZU/xVWGlMngX0JiAhy9NEFDoXS4fsZvmLAkWqv2pocQ=";
 
@@ -322,29 +327,29 @@ rec {
 
   mypy-boto3-groundstation = buildMypyBoto3Package "groundstation" "1.34.0" "sha256-CR3w42iyXmyGMzjCM7M1LKqsIROMjXxxGM8coSTtJ3o=";
 
-  mypy-boto3-guardduty = buildMypyBoto3Package "guardduty" "1.34.0" "sha256-pXyZFdO9so979yfWaRDI+InxBHBEt1XDEdam3lOUad0=";
+  mypy-boto3-guardduty = buildMypyBoto3Package "guardduty" "1.34.59" "sha256-Q5itLyYcSK7tzlYjT4Dgdcm4bE2Dr+bl5kfHqV4D9Pg=";
 
   mypy-boto3-health = buildMypyBoto3Package "health" "1.34.0" "sha256-st3ygy9yZbAbh1ZWnT8XDZTBz1qWhRWXCEfr5ILQHpo=";
 
-  mypy-boto3-healthlake = buildMypyBoto3Package "healthlake" "1.34.0" "sha256-DtMeHx0XiVW9uU8krAhbfnihKpGRd6V82sSF59uTc6U=";
+  mypy-boto3-healthlake = buildMypyBoto3Package "healthlake" "1.34.43" "sha256-Xci7f0/o60v1TAazFC34GjpzOBQlD+SvAMCF4xM3ymI=";
 
   mypy-boto3-honeycode = buildMypyBoto3Package "honeycode" "1.34.0" "sha256-HNp/STFuMLoO4qyL0iaYeiPpnMV3uzNBNFUDgzrHt9s=";
 
-  mypy-boto3-iam = buildMypyBoto3Package "iam" "1.34.0" "sha256-JIXnU8/hOOzpS6scSYPQ203HbiUxTT/9ub3lxyrRqSw=";
+  mypy-boto3-iam = buildMypyBoto3Package "iam" "1.34.8" "sha256-b69oz4ABgpJGh7ZxGz+a+o2UCtmT8lmjuR5V6CiS1kE=";
 
   mypy-boto3-identitystore = buildMypyBoto3Package "identitystore" "1.34.0" "sha256-OdJsMjraTe4qhpblBOuwr++4QfiMXtaaMHDAEOTBII4=";
 
-  mypy-boto3-imagebuilder = buildMypyBoto3Package "imagebuilder" "1.34.0" "sha256-eDAlL/p9iBVDQyKuDggxdyE3Jz6ch/l5ECn3cNiL9Uo=";
+  mypy-boto3-imagebuilder = buildMypyBoto3Package "imagebuilder" "1.34.57" "sha256-r11JVMvO/IL1d2+fGZoc4nt1JnyUXir38a8i7IsZmLQ=";
 
   mypy-boto3-importexport = buildMypyBoto3Package "importexport" "1.34.0" "sha256-GnIzCaCuRLPdvaAmmID62uY/te1Lx5DFGin2zJuDdAM=";
 
   mypy-boto3-inspector = buildMypyBoto3Package "inspector" "1.34.0" "sha256-85aAE1+azKZ9sFYxLOpVR4SkqrnfFQ1gXgGpzOBK1PE=";
 
-  mypy-boto3-inspector2 = buildMypyBoto3Package "inspector2" "1.34.0" "sha256-W7+5M3OJ0U5irl0mVrKYGG5ae3XRM9fJDfVP4eqbUSc=";
+  mypy-boto3-inspector2 = buildMypyBoto3Package "inspector2" "1.34.29" "sha256-ZMdNVgKXQnEHyK4tV/XegvFX7xdk5A1AiSfpTKWCtcY=";
 
-  mypy-boto3-internetmonitor = buildMypyBoto3Package "internetmonitor" "1.34.0" "sha256-IWPylBWqk4uNn4LhwTkc17lbYn1xP1rxVzAGG3V659U=";
+  mypy-boto3-internetmonitor = buildMypyBoto3Package "internetmonitor" "1.34.48" "sha256-tJ5Hu8ojUahG1YbNHgwDjYWqbSPCZEUyYM/dOObmArg=";
 
-  mypy-boto3-iot = buildMypyBoto3Package "iot" "1.34.0" "sha256-E7ilb7HmEBYm+cvWIDmkvfaR72nlu8QqMr9HJBOeVro=";
+  mypy-boto3-iot = buildMypyBoto3Package "iot" "1.34.52" "sha256-YWGotOPKljY4B0JL1I+axk4MJZIk84rVxoZu9tzBGss=";
 
   mypy-boto3-iot-data = buildMypyBoto3Package "iot-data" "1.34.0" "sha256-N6UoHopsT3FM7bU01eWuqRSyyyaLBekkM+hsOU1byIM=";
 
@@ -360,13 +365,13 @@ rec {
 
   mypy-boto3-iotdeviceadvisor = buildMypyBoto3Package "iotdeviceadvisor" "1.34.0" "sha256-DBI4dJXxprfHO3ipLIVb5Ii5NK7qWJRuWjzVfHTnqO4=";
 
-  mypy-boto3-iotevents = buildMypyBoto3Package "iotevents" "1.34.0" "sha256-cRFcD4DvPzCXS6WeXeaxLj2HY0eQelel5Lju3UAYgcA=";
+  mypy-boto3-iotevents = buildMypyBoto3Package "iotevents" "1.34.47" "sha256-ppsjLI2yY9+6SmAh1mfVBuZz+gHNNZS6eKDr3fHHmJM=";
 
   mypy-boto3-iotevents-data = buildMypyBoto3Package "iotevents-data" "1.34.0" "sha256-K7yAnxjpJfSh6bWnmcdySkCQhhVFt42zU6REiy3zKrk=";
 
   mypy-boto3-iotfleethub = buildMypyBoto3Package "iotfleethub" "1.34.0" "sha256-wNm6OJUgAhvrXhtGaty19Tyva+nvonDOHsj9RT37FbY=";
 
-  mypy-boto3-iotfleetwise = buildMypyBoto3Package "iotfleetwise" "1.34.0" "sha256-SlCLEpSDXygGaK5EfIei/qk/l3CoCZWyEm3yJUPHqxQ=";
+  mypy-boto3-iotfleetwise = buildMypyBoto3Package "iotfleetwise" "1.34.20" "sha256-Pe5Pw19H2y6koJxajW46oazxoFL5UHSOQHgXnhfIQJk=";
 
   mypy-boto3-iotsecuretunneling = buildMypyBoto3Package "iotsecuretunneling" "1.34.0" "sha256-E8658X3yWpIcRKDTtnacjuAAWqr/qnmYXFRJ/7uyKm8=";
 
@@ -378,7 +383,7 @@ rec {
 
   mypy-boto3-iotwireless = buildMypyBoto3Package "iotwireless" "1.34.0" "sha256-g2Ab6AQ0fvmEuSqAHlvAPe3TYSz/Nai1U8srjT0QWHw=";
 
-  mypy-boto3-ivs = buildMypyBoto3Package "ivs" "1.34.0" "sha256-iYt/bJaAH7TGN+FeKg9K8/T5QlTB3mhxb+P+53KBSQg=";
+  mypy-boto3-ivs = buildMypyBoto3Package "ivs" "1.34.45" "sha256-Ilrtk6ZF1p3GNuZrtiEiNXi3bHI3MYNr6bDpJ8sf4Fg=";
 
   mypy-boto3-ivs-realtime = buildMypyBoto3Package "ivs-realtime" "1.34.0" "sha256-x+B14roN4jNXeLp+Tmwtj28OMeGe80qLMaIbVCzulbY=";
 
@@ -386,17 +391,17 @@ rec {
 
   mypy-boto3-kafka = buildMypyBoto3Package "kafka" "1.34.0" "sha256-fBTouiFX1z8WvIECcu8gocENiWMl50hbCEk7K+4OCV0=";
 
-  mypy-boto3-kafkaconnect = buildMypyBoto3Package "kafkaconnect" "1.34.0" "sha256-RcUs+Gy7ck1oV7moI3JjHYhkrjcrLW6QQ1WtTt13ass=";
+  mypy-boto3-kafkaconnect = buildMypyBoto3Package "kafkaconnect" "1.34.50" "sha256-frPPAQeFyO92uMqqzBcSC3MVK4V4hbdO9tx4awAKAUU=";
 
   mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.34.0" "sha256-j1fph9WwqBns2BpZjoKTpXC9gUJ4lu+poPBV6LIOusM=";
 
   mypy-boto3-kendra-ranking = buildMypyBoto3Package "kendra-ranking" "1.34.0" "sha256-hbemz5ECtfP3oi645lZT7CCx31yg8MNqbAD32Am6l1U=";
 
-  mypy-boto3-keyspaces = buildMypyBoto3Package "keyspaces" "1.34.0" "sha256-Hii5uKPqWNwm/dRYFtdQni1F+WsAB49yeY+cjaJsMH4=";
+  mypy-boto3-keyspaces = buildMypyBoto3Package "keyspaces" "1.34.45" "sha256-Ucmttfi8oQIPpdfr3KPvrX1Tj3zbYxHGoYH0JNYX5UM=";
 
   mypy-boto3-kinesis = buildMypyBoto3Package "kinesis" "1.34.0" "sha256-9ATnW63Vl36fCXQbdpuIiIVL3UEcYxNEaGq4ie/ph0E=";
 
-  mypy-boto3-kinesis-video-archived-media = buildMypyBoto3Package "kinesis-video-archived-media" "1.34.0" "sha256-QXuYhv4wLd+3X+IG3ynOVVDIVbesn0OiiSojtBC3Hc8=";
+  mypy-boto3-kinesis-video-archived-media = buildMypyBoto3Package "kinesis-video-archived-media" "1.34.10" "sha256-B66x9erx5SlnDmTBpf4izGckF4GysChy+VRXy9tWSf4=";
 
   mypy-boto3-kinesis-video-media = buildMypyBoto3Package "kinesis-video-media" "1.34.0" "sha256-YgkG14UzymthRLg4cga80ZDK9cxZzFBTISmnfTPt8nM=";
 
@@ -408,19 +413,19 @@ rec {
 
   mypy-boto3-kinesisanalyticsv2 = buildMypyBoto3Package "kinesisanalyticsv2" "1.34.0" "sha256-ZxVW6BKUdgnWKk4J3B2I0vlSLZRR+Dua3Sb/mzIDFNE=";
 
-  mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.34.0" "sha256-mbvYhX3mrYQUBOHNe1N4ybz9jnVz9C2+eEwb0CFAp9w=";
+  mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.34.48" "sha256-uYSkwOuYKF3B+sj5IWbDL789Xue2yNY9g14j/2b6k6w=";
 
-  mypy-boto3-kms = buildMypyBoto3Package "kms" "1.34.0" "sha256-0/rxLiZeadSPkzmVqx/TGMaFMAdIAXS82FcXf8BSUpg=";
+  mypy-boto3-kms = buildMypyBoto3Package "kms" "1.34.14" "sha256-fGuTdVCmgdqaYdJcEJY7vhvNw+Qi1NXYFST16mXp0UA=";
 
-  mypy-boto3-lakeformation = buildMypyBoto3Package "lakeformation" "1.34.0" "sha256-xIQAyiytQRYcLFWGoEfZJY+4Ga9NeRBuN8MQOZmOypc=";
+  mypy-boto3-lakeformation = buildMypyBoto3Package "lakeformation" "1.34.7" "sha256-/IPOF44ohg59XX+lmMbx8WsaHFpBaMH440Wm5jgrKD4=";
 
-  mypy-boto3-lambda = buildMypyBoto3Package "lambda" "1.34.0" "sha256-50wM5UjadHqMbmQ8OdrYqlTWfgV/V3QOx4Cn5WVZBic=";
+  mypy-boto3-lambda = buildMypyBoto3Package "lambda" "1.34.58" "sha256-kDgix0vRs0dI6y1y6rDxMvvDs5LIBBqo/k2VUqRLDGU=";
 
   mypy-boto3-lex-models = buildMypyBoto3Package "lex-models" "1.34.0" "sha256-LkD3CCjJYGwlSYRP0meJUCEdVSGGdSRrL9uBtimX4GU=";
 
   mypy-boto3-lex-runtime = buildMypyBoto3Package "lex-runtime" "1.34.0" "sha256-oFUSsfT7RXHRAVUUk014lqPylPa+TZuyNuvHRixIxt8=";
 
-  mypy-boto3-lexv2-models = buildMypyBoto3Package "lexv2-models" "1.34.0" "sha256-tNe2tLSSupXGHp6u65zeYNSciCC2Wbj/R4ZkDKT5cS8=";
+  mypy-boto3-lexv2-models = buildMypyBoto3Package "lexv2-models" "1.34.53" "sha256-xeuLY+rMoqtJc75pf2A/DYcsG86qqsIDO225QIwjlDw=";
 
   mypy-boto3-lexv2-runtime = buildMypyBoto3Package "lexv2-runtime" "1.34.0" "sha256-V1OkUcwFYp8TVS2ASFjARJUrIKAx/9zcfQbQMngU5Uc=";
 
@@ -430,13 +435,13 @@ rec {
 
   mypy-boto3-license-manager-user-subscriptions = buildMypyBoto3Package "license-manager-user-subscriptions" "1.34.0" "sha256-PR+u+i5zSHFTN6+GuOcWBcON1E2SNABbPavByXz3unE=";
 
-  mypy-boto3-lightsail = buildMypyBoto3Package "lightsail" "1.34.0" "sha256-+VLq0hfyQS1IpzEMfB5mhp+gxL76CWh5q1wgJKffWQ8=";
+  mypy-boto3-lightsail = buildMypyBoto3Package "lightsail" "1.34.41" "sha256-Y7Zg/eorUegxh+Br+ULbedzGskkHKR2opnEEDpfBVk0=";
 
-  mypy-boto3-location = buildMypyBoto3Package "location" "1.34.0" "sha256-SDz6L3ePAAA8V99pJrB55/4i+piQY0KpTbsKEJyVpS0=";
+  mypy-boto3-location = buildMypyBoto3Package "location" "1.34.18" "sha256-rsjIGenXgdEdgxvilA3IKJkYkpDDQNDfjDQRoj/mxSU=";
 
-  mypy-boto3-logs = buildMypyBoto3Package "logs" "1.34.0" "sha256-qFK/bEhzOlHDJMqX2gQr/kxmsNM6q+BC+yfTCSVy1Vs=";
+  mypy-boto3-logs = buildMypyBoto3Package "logs" "1.34.36" "sha256-FUm1TaiKhphSRY4YbliUSdU6eAU1S1r9fVO00nXFPC4=";
 
-  mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.34.0" "sha256-tcwlzJzbFBJXhAoHpw+V5TC3Na3SbD+nkpdOf9RhDZU=";
+  mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.34.47" "sha256-M7NaoRHxlH5/zkuMnOlrco2BCPXErv/N7TAVwv2oZuA=";
 
   mypy-boto3-lookoutmetrics = buildMypyBoto3Package "lookoutmetrics" "1.34.0" "sha256-2SRBUd8fZ7i2GbDgBWJcYS0Fbr/U65UmrLbHx57IZ5A=";
 
@@ -446,25 +451,25 @@ rec {
 
   mypy-boto3-machinelearning = buildMypyBoto3Package "machinelearning" "1.34.0" "sha256-DeiBu3PQMageEUlVdjH/1uELsPwo4IVhYzDlJFBohKg=";
 
-  mypy-boto3-macie = buildMypyBoto3Package "macie" "1.28.36" "sha256-T7zd6G5Z4fz1/ZiCOwf+kWbXWCy35JaE3f2OUpWGNpE=";
+  mypy-boto3-macie = buildMypyBoto3Package "macie" "1.29.0" "sha256-lFOPbIBrGuv9W83fsyzyI5fyOleXf4j3sCh9IM0gaQ4=";
 
-  mypy-boto3-macie2 = buildMypyBoto3Package "macie2" "1.34.0" "sha256-5PO/Zcpo7e1crJTprlKVGYTlzRxZ+0ShNRLLVVjQ5GA=";
+  mypy-boto3-macie2 = buildMypyBoto3Package "macie2" "1.34.20" "sha256-erqa/ptOBMd8x+N1A6ibSULfBH75gEWsKDd/jhc/9tg=";
 
   mypy-boto3-managedblockchain = buildMypyBoto3Package "managedblockchain" "1.34.0" "sha256-gUPuS8/ygIdsfCx6S1zpxP936Ah0o5BT4TaDiEW4wPQ=";
 
-  mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.34.0" "sha256-nQxUZ9L1Cs/9bn5Re4Q6/0X/UoJ3CkHsoUbVxzTDV/U=";
+  mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.34.33" "sha256-HByCyc+gnBu2+5qdtRw6LuRWCu7sVVXxmOJJZgWMFsI=";
 
-  mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.34.0" "sha256-lzl/UK3PULZu+XXbt8wGc6xwmJZBsj3Zfjiq/awWVzI=";
+  mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.34.41" "sha256-SZqNZO/36iGuf0jqNIZrbD1BOE7p6xMWhs5Y5VkUl8c=";
 
   mypy-boto3-marketplace-entitlement = buildMypyBoto3Package "marketplace-entitlement" "1.34.0" "sha256-yGaeDZLEmp/Nap++wI6GgQvVW3HxQFcM+ipk7RAuG4g=";
 
   mypy-boto3-marketplacecommerceanalytics = buildMypyBoto3Package "marketplacecommerceanalytics" "1.34.0" "sha256-Gzmd4GQnM2sRrL4/FE9kI0R9ItKJ5xdaC/cCGqQ0XAY=";
 
-  mypy-boto3-mediaconnect = buildMypyBoto3Package "mediaconnect" "1.34.0" "sha256-mR45JCaKUwScSb63vyw5dUZmVm2qwkN/e2gp+zBHHpo=";
+  mypy-boto3-mediaconnect = buildMypyBoto3Package "mediaconnect" "1.34.7" "sha256-A8Sal8qNijZ/PdwLLC3mGAt8btMGOHXzOAOVFn+JDtU=";
 
-  mypy-boto3-mediaconvert = buildMypyBoto3Package "mediaconvert" "1.34.0" "sha256-R3ZE6Uam8sqSVyNqV7jMMfYQa1LgB6kdtNpdTsHNC20=";
+  mypy-boto3-mediaconvert = buildMypyBoto3Package "mediaconvert" "1.34.33" "sha256-7OwfjcWDE1AHvpyOu3fE5YBwjQscpa+VnE7eylk1unA=";
 
-  mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.34.0" "sha256-iOqhX6q/6NnCnqOEs2OfMFXfHcroZI5wQAaPv5uWwDc=";
+  mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.34.47" "sha256-kE93r3oDtz+uwUDeWBJA2yQBx4HFAL49FdpIexVMbrc=";
 
   mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.34.0" "sha256-4DJ2zVk0satmVn+TZdDExx/+ClJpc1bdmbvl72Joe5U=";
 
@@ -476,7 +481,7 @@ rec {
 
   mypy-boto3-mediastore-data = buildMypyBoto3Package "mediastore-data" "1.34.0" "sha256-bYlKkBh7Kq4PsToHQ4+K5B3h8+IwyS+7ngEJ5AALBus=";
 
-  mypy-boto3-mediatailor = buildMypyBoto3Package "mediatailor" "1.34.0" "sha256-PD40mNQDdTmdlbaljPfflhojclRRWgFlE6l66SWpwSM=";
+  mypy-boto3-mediatailor = buildMypyBoto3Package "mediatailor" "1.34.45" "sha256-r1rzW4TQ2pZ/Bw+ina6sSLUTEk9+fakZEWYA5gOxXhY=";
 
   mypy-boto3-medical-imaging = buildMypyBoto3Package "medical-imaging" "1.34.0" "sha256-3lAWDWzf1MjTDh0+HDnewq0Yo3bUuhSGSSKJvJf6k8g=";
 
@@ -492,7 +497,7 @@ rec {
 
   mypy-boto3-migrationhub-config = buildMypyBoto3Package "migrationhub-config" "1.34.0" "sha256-feqiUjFrwYaAyRh1MZ96VILeEa/WBzUytsnRxXZMxoQ=";
 
-  mypy-boto3-migrationhuborchestrator = buildMypyBoto3Package "migrationhuborchestrator" "1.34.0" "sha256-XY1Ji/aYarPeIBh9r7Hv33b9L4iA3QE9zKTxDKPQ+vQ=";
+  mypy-boto3-migrationhuborchestrator = buildMypyBoto3Package "migrationhuborchestrator" "1.34.53" "sha256-kreU8blZ61EaKmKJpZ17iS6xFUig5FrMnOs5/1JTn4s=";
 
   mypy-boto3-migrationhubstrategy = buildMypyBoto3Package "migrationhubstrategy" "1.34.0" "sha256-N/NcnXF14SAs9F1ZwUYxc/5kp7iUWIFJisUfZxMStLU=";
 
@@ -502,7 +507,7 @@ rec {
 
   mypy-boto3-mturk = buildMypyBoto3Package "mturk" "1.34.0" "sha256-qhyVd+9KIaL4hxjjDnw7qdyJdcT6ApCxhoTggOVDr80=";
 
-  mypy-boto3-mwaa = buildMypyBoto3Package "mwaa" "1.34.0" "sha256-a0p1hoTP8iNP6OPkrq0dlWptYNQNA9hit2tvgCI1+W8=";
+  mypy-boto3-mwaa = buildMypyBoto3Package "mwaa" "1.34.57" "sha256-D0W/03zhllRLYGyXQ/XvMBlcsKuEb2MPr0hmyUVy5xc=";
 
   mypy-boto3-neptune = buildMypyBoto3Package "neptune" "1.34.0" "sha256-oMS6e1cPfOZhh+obhOZTMjmwScEzwCBtvmjtpPIjltA=";
 
@@ -516,9 +521,9 @@ rec {
 
   mypy-boto3-oam = buildMypyBoto3Package "oam" "1.34.0" "sha256-/0ou6QtLQerkqJ+alocpYxUfe9jRHoOgQy9R6sxZAFo=";
 
-  mypy-boto3-omics = buildMypyBoto3Package "omics" "1.34.0" "sha256-HZqOWNHgRX8EKEGtvtbnuFH0BDrOpJpJd32NBpe4RWA=";
+  mypy-boto3-omics = buildMypyBoto3Package "omics" "1.34.7" "sha256-Mtb11Oe2j28u+MFaycvMMNiqi7ZdVDcKQV/X/7npze4=";
 
-  mypy-boto3-opensearch = buildMypyBoto3Package "opensearch" "1.34.0" "sha256-DRo52YCDLBfE7n+huUyzf89G6yybntFTk0A9w5QLa8o=";
+  mypy-boto3-opensearch = buildMypyBoto3Package "opensearch" "1.34.43" "sha256-EOl56YqzuIUWlSewnVCtEdzt3Ei5yueP4emtTQq3QrA=";
 
   mypy-boto3-opensearchserverless = buildMypyBoto3Package "opensearchserverless" "1.34.0" "sha256-YpbQWnVIXMqTzieWya4MiFz9HpN5YYSSmBjUvmO0VMo=";
 
@@ -526,25 +531,25 @@ rec {
 
   mypy-boto3-opsworkscm = buildMypyBoto3Package "opsworkscm" "1.34.0" "sha256-HsUXwbXRPmEaSJjs4EezSHugssLtP2g/NvaI0CnGStA=";
 
-  mypy-boto3-organizations = buildMypyBoto3Package "organizations" "1.34.0" "sha256-HQrlenaKsc49ugEcKSSRJkAyXwLOJ1Ymq1fTDoXSKXY=";
+  mypy-boto3-organizations = buildMypyBoto3Package "organizations" "1.34.56" "sha256-iVOUgkTI0sNixbfr/Z/H9Hsc2thCqDCqHrlthneZLVU=";
 
   mypy-boto3-osis = buildMypyBoto3Package "osis" "1.34.0" "sha256-2mSI1VTmQWuwxsCgQtmr1w8xE3zIcwztvMuKMqXFF3k=";
 
-  mypy-boto3-outposts = buildMypyBoto3Package "outposts" "1.34.0" "sha256-IqGeCqd6Nc9MaMEldqVohTNcmf7WvIiEnFGORzpoB0A=";
+  mypy-boto3-outposts = buildMypyBoto3Package "outposts" "1.34.27" "sha256-nkXVo8Qr2k+pV3SChRezoiU0e2kT9kz1vr2J8MLfm+0=";
 
   mypy-boto3-panorama = buildMypyBoto3Package "panorama" "1.34.0" "sha256-Pw0yRgawY5TC0OIgcYmzK3KEQusyRf3coThpeHL4X30=";
 
-  mypy-boto3-payment-cryptography = buildMypyBoto3Package "payment-cryptography" "1.34.0" "sha256-/VwWLFCNWMpppAEAjAGMa4d1SfWAxHxs+17lboZGcC0=";
+  mypy-boto3-payment-cryptography = buildMypyBoto3Package "payment-cryptography" "1.34.20" "sha256-WdyhWl00Khf3gA6OeWeKrlgFnTvWhk+AFoS2UhM5Haw=";
 
-  mypy-boto3-payment-cryptography-data = buildMypyBoto3Package "payment-cryptography-data" "1.34.0" "sha256-+A49ZU8ITWkdUmGf57szMwIGzEHe6cx9egBEMDPsUKY=";
+  mypy-boto3-payment-cryptography-data = buildMypyBoto3Package "payment-cryptography-data" "1.34.58" "sha256-mc4NO3yjdLlXc9TBkmIsGFqNfW2RT7/jVMC9uhug4tc=";
 
   mypy-boto3-pca-connector-ad = buildMypyBoto3Package "pca-connector-ad" "1.34.0" "sha256-pSGVZPLuj8xcSfLqa+xvf4UL/l2Xb5t43KuXlTCfskc=";
 
-  mypy-boto3-personalize = buildMypyBoto3Package "personalize" "1.34.0" "sha256-pg36s61onSuPDyQeC4otrSEpVxVFwrFwU6NgbOt1fKY=";
+  mypy-boto3-personalize = buildMypyBoto3Package "personalize" "1.34.20" "sha256-1Q+rXczO15oM/KXRLVP8D96HW4nILpxig4stjT1KwuY=";
 
   mypy-boto3-personalize-events = buildMypyBoto3Package "personalize-events" "1.34.0" "sha256-dklttvls5In+d9uWONxmhfSOP1TQf+4VMW56JjKICr4=";
 
-  mypy-boto3-personalize-runtime = buildMypyBoto3Package "personalize-runtime" "1.34.0" "sha256-ncMVAU7pwfB1zZ+xAPFNtiIlGimFbsowHugEUrlbybs=";
+  mypy-boto3-personalize-runtime = buildMypyBoto3Package "personalize-runtime" "1.34.20" "sha256-sKEXkOlMb7t4jBQrLLx90wFhCN1R4ZOk8w9kMpKI0os=";
 
   mypy-boto3-pi = buildMypyBoto3Package "pi" "1.34.0" "sha256-97giGYtpINPHxtcUU6cE/mPF0/r6YfLixAdcC/LGKC0=";
 
@@ -558,39 +563,39 @@ rec {
 
   mypy-boto3-pipes = buildMypyBoto3Package "pipes" "1.34.0" "sha256-c/N5SaT4BS0Ldv/P6yi43gB4LzDeqB9y1Xx1UAHf6dU=";
 
-  mypy-boto3-polly = buildMypyBoto3Package "polly" "1.34.0" "sha256-kAbx8YHata0ehTTqI/z3YPB6Px3d0ON1ek3a9aY8amU=";
+  mypy-boto3-polly = buildMypyBoto3Package "polly" "1.34.43" "sha256-rx5sW32N6H47fpy5yGvwlKKVKS/uIKOtLfsjoGoNPJg=";
 
-  mypy-boto3-pricing = buildMypyBoto3Package "pricing" "1.34.0" "sha256-qS9ghI37MKtDIdUuzSVJ02CrB6z2PiIsT8ekEDb6oVM=";
+  mypy-boto3-pricing = buildMypyBoto3Package "pricing" "1.34.39" "sha256-SdIK9pWjyY6rcK9Kak5r66hP6tc/OVp+gQ9wo7HKVms=";
 
   mypy-boto3-privatenetworks = buildMypyBoto3Package "privatenetworks" "1.34.0" "sha256-WFX0KaJRo0LCPKEAq8LES0P3WJkt6ywLXqTlOFZyZ1w=";
 
   mypy-boto3-proton = buildMypyBoto3Package "proton" "1.34.0" "sha256-wRBMw/7PWi0s9sJTfnDq3MXcbA5pKwogMDC3UZtLJoY=";
 
-  mypy-boto3-qldb = buildMypyBoto3Package "qldb" "1.34.0" "sha256-WQeLaZFGqmU1OYIWsjzttkZDIT1vqrnVLfdo2DBMwGg=";
+  mypy-boto3-qldb = buildMypyBoto3Package "qldb" "1.34.49" "sha256-yiqWryr4vKt/6k+dVoDMDdtL6yP4ClVY0rFwZDDcvWY=";
 
   mypy-boto3-qldb-session = buildMypyBoto3Package "qldb-session" "1.34.0" "sha256-JHePiaFCfIJPxZzvC1U38xrBGkDvB9+yKwPecaZl7BY=";
 
-  mypy-boto3-quicksight = buildMypyBoto3Package "quicksight" "1.34.0" "sha256-mhGxgfq/DDcmfuEcKTKm/9aq8jxICSqubJhiW36/YgU=";
+  mypy-boto3-quicksight = buildMypyBoto3Package "quicksight" "1.34.53" "sha256-aN1W1Hu/gyV181x68VNkbBp2Ua4jpJB3H/vmQ0HO1Nw=";
 
   mypy-boto3-ram = buildMypyBoto3Package "ram" "1.34.0" "sha256-9sOspEfirpVQ8cT9ILUSWypxBswpAD75A0hHRV7glNg=";
 
   mypy-boto3-rbin = buildMypyBoto3Package "rbin" "1.34.0" "sha256-Y+a/p3r5IgWk4oH6MOeq0e7rMiNvLCqoz1ZE+xXNtOw=";
 
-  mypy-boto3-rds = buildMypyBoto3Package "rds" "1.34.0" "sha256-mQn18jzLAYMCYqLhbJ6KGazEYCHXVIOAmde9spWRHpQ=";
+  mypy-boto3-rds = buildMypyBoto3Package "rds" "1.34.58" "sha256-P3s5qNAV9UG6fMSxvkUevKACU3FGjhOne1D0LRi/eMk=";
 
-  mypy-boto3-rds-data = buildMypyBoto3Package "rds-data" "1.34.0" "sha256-qpRaxeJt30Vb108E48E80vX0nmjyVSJNN6tozbkI9Yk=";
+  mypy-boto3-rds-data = buildMypyBoto3Package "rds-data" "1.34.6" "sha256-d+WXt3cSUe5ZxynSjPSJxXgv6evP/rhZrX1ua9rtSx8=";
 
-  mypy-boto3-redshift = buildMypyBoto3Package "redshift" "1.34.0" "sha256-xxiPF1JjFfKudYw/96qxKK5K0lDQRdiJ1vMSBWsdXxU=";
+  mypy-boto3-redshift = buildMypyBoto3Package "redshift" "1.34.57" "sha256-MDhI9DW5I6SWXIAnENiPqSanDjCB3vf2n24eVxzmtso=";
 
   mypy-boto3-redshift-data = buildMypyBoto3Package "redshift-data" "1.34.0" "sha256-NdBZxkLTwnY7fgmoqGZKTN/lhCyY/3VGFWWOGeCf//0=";
 
-  mypy-boto3-redshift-serverless = buildMypyBoto3Package "redshift-serverless" "1.34.0" "sha256-Ken/63gkGvC8ZnWilgccQYAealKWgpftw67QLLPMSe0=";
+  mypy-boto3-redshift-serverless = buildMypyBoto3Package "redshift-serverless" "1.34.16" "sha256-ag5tKb1+4cHiG99OszDNGdnX9RPRPraaqM8p3IqgLBg=";
 
-  mypy-boto3-rekognition = buildMypyBoto3Package "rekognition" "1.34.0" "sha256-hf6rSVe2fxK8MR5zUz4Drq7qP5+QTTNUAWs4rmqfzIQ=";
+  mypy-boto3-rekognition = buildMypyBoto3Package "rekognition" "1.34.20" "sha256-zKJX/AlDoDKUbrI1LZq2kk5fr+SNqES6gniM0FQGeaM=";
 
   mypy-boto3-resiliencehub = buildMypyBoto3Package "resiliencehub" "1.34.0" "sha256-F/ZRCp/M/6kBI4Apb3mISzqe1Zi4Y7gq/vu0dvyyTvM=";
 
-  mypy-boto3-resource-explorer-2 = buildMypyBoto3Package "resource-explorer-2" "1.34.0" "sha256-5CKBpBoU3pZBXD0/Kz69TAM+51zmnd+314Ou1DOdaso=";
+  mypy-boto3-resource-explorer-2 = buildMypyBoto3Package "resource-explorer-2" "1.34.41" "sha256-Q4MCAvEZkYRnDLEF9d8x+FOMUJ9O2eCb2mZr/e8Ut24=";
 
   mypy-boto3-resource-groups = buildMypyBoto3Package "resource-groups" "1.34.0" "sha256-Wz1Oo/Ze6ROHkg5EAas7ZKLOWE6RS+uKpNea79WUrLY=";
 
@@ -600,7 +605,7 @@ rec {
 
   mypy-boto3-rolesanywhere = buildMypyBoto3Package "rolesanywhere" "1.34.0" "sha256-U/j/u6pqoHpfNP3GbQ8SZb+qIL842ZcwwdBr1QQhlj0=";
 
-  mypy-boto3-route53 = buildMypyBoto3Package "route53" "1.34.0" "sha256-pXDmqrT5sN7pfkuVStBEC59b9+lLhMuXILiTeWlVFFs=";
+  mypy-boto3-route53 = buildMypyBoto3Package "route53" "1.34.31" "sha256-MtmEtt57vhFRG1O+VnFXFUhSWAQ7JrnV3hBZx4TpOh8=";
 
   mypy-boto3-route53-recovery-cluster = buildMypyBoto3Package "route53-recovery-cluster" "1.34.0" "sha256-1IUmycikAtBBNykch2aj7tI6XLRjN7D56YwJn6QRmIQ=";
 
@@ -608,25 +613,25 @@ rec {
 
   mypy-boto3-route53-recovery-readiness = buildMypyBoto3Package "route53-recovery-readiness" "1.34.0" "sha256-DyNRWZ9daJ6VFa7moTjgEIdxcCRgjvZ2n7UKyNfr9z4=";
 
-  mypy-boto3-route53domains = buildMypyBoto3Package "route53domains" "1.34.0" "sha256-xsWqPNO6N5JRHWfST9cVLgHu8B7sNn4cXKylhQbnO88=";
+  mypy-boto3-route53domains = buildMypyBoto3Package "route53domains" "1.34.40" "sha256-N81sytOFacuG3pHSk35QbxVxUVEZUx8DK4Y7uUonyh4=";
 
-  mypy-boto3-route53resolver = buildMypyBoto3Package "route53resolver" "1.34.0" "sha256-RnMZIG4PDcZZX34oZMs+I3uCWaJ2XcxVqB7GNvmrqFA=";
+  mypy-boto3-route53resolver = buildMypyBoto3Package "route53resolver" "1.34.15" "sha256-ER9jhGIeEeHc0llpy4aqRnI9iFfubJFIik04gB81vr0=";
 
-  mypy-boto3-rum = buildMypyBoto3Package "rum" "1.34.0" "sha256-T2OTu4dpOqZq+sxoU/nyXQXNxW6KbIFjIE3+VtfSEwg=";
+  mypy-boto3-rum = buildMypyBoto3Package "rum" "1.34.49" "sha256-Mq2H+13cjxYRwFfxJpWTAb+W5bx+Vew+jl+zbreRIkQ=";
 
-  mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.34.0" "sha256-dkSgDgluuxwyklUQWfZP+DKWJdrNQIJ87ZSBsU1kxzM=";
+  mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.34.14" "sha256-ccOasGI820QtIltxwXg/alE8/0xKE1BaLvuy46/y6WU=";
 
-  mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.34.0" "sha256-PEGAPyCB/LovPfAsItH3nGnK/I63wEcsfb6MkPAitbY=";
+  mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.34.18" "sha256-53s5ii1gFX9toigiazEtS5Jogg3VFFr+1/uiLzoU7Uo=";
 
   mypy-boto3-s3outposts = buildMypyBoto3Package "s3outposts" "1.34.0" "sha256-xLuGP9Fe0S7zRimt1AKd9KOrytmNd/GTRg5OVi5Xpos=";
 
-  mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.34.0" "sha256-tpGOwQ4THqjaZZG5fsZ+qO/ZDT6tr3kr20tzQQJ13Rc=";
+  mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.34.53" "sha256-IgZzJstoOg1wzucKqPBx47baLbagrUk1kW4P8cI++cg=";
 
   mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.34.0" "sha256-jMZ3aWKQPhNec4A/02S1waQi6Mx9JVdENc3kblhsKjA=";
 
   mypy-boto3-sagemaker-edge = buildMypyBoto3Package "sagemaker-edge" "1.34.0" "sha256-F3IN/KA7uzS16HZydXmFXlXseNIdhCais6Abfq7gRdI=";
 
-  mypy-boto3-sagemaker-featurestore-runtime = buildMypyBoto3Package "sagemaker-featurestore-runtime" "1.34.0" "sha256-3ptV7rCUIdKGG04zOTNzMfHVysxJ57FSbgfT8IPAw9M=";
+  mypy-boto3-sagemaker-featurestore-runtime = buildMypyBoto3Package "sagemaker-featurestore-runtime" "1.34.22" "sha256-4dFjwJSTgudHHgpVl2TxUl8fWskuzWO+BhTqa5k+4mw=";
 
   mypy-boto3-sagemaker-geospatial = buildMypyBoto3Package "sagemaker-geospatial" "1.34.0" "sha256-9hKKH/025QQYLrlXCOAQoxuWzTMQlmLSov/hVsubF7M=";
 
@@ -642,17 +647,17 @@ rec {
 
   mypy-boto3-sdb = buildMypyBoto3Package "sdb" "1.34.0" "sha256-13BuAQD8uDwwDhCw+8O3V882H6/oor5Z8mBmjb7HHAU=";
 
-  mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.34.0" "sha256-98GpmijmUKyRg022mo2r5nNPms6S8dei02YWChFAETM=";
+  mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.34.43" "sha256-q79WB3XC/g3Dg7f3DBahv3U9mz/8DKpeNUR+aFeDpos=";
 
-  mypy-boto3-securityhub = buildMypyBoto3Package "securityhub" "1.34.0" "sha256-cY47F8hkhfZUOvTSiwROOByGSKoIDICEd+HaFbaFuFE=";
+  mypy-boto3-securityhub = buildMypyBoto3Package "securityhub" "1.34.20" "sha256-EcLY5SXSN2kJEuo8s2sYJJfq/X78BM1msyI9TfYD7Xw=";
 
-  mypy-boto3-securitylake = buildMypyBoto3Package "securitylake" "1.34.0" "sha256-h5xo9+FzzQvsyvwwFlmVUesHIEkcJQC8/veieACKvS8=";
+  mypy-boto3-securitylake = buildMypyBoto3Package "securitylake" "1.34.53" "sha256-O/RHRoeUYT5DerEXIQ1NL288bcgA6bGdI29sN7WoQac=";
 
   mypy-boto3-serverlessrepo = buildMypyBoto3Package "serverlessrepo" "1.34.0" "sha256-abWCJqFbD/AyPV+7hmY4OlsedFs+p8WpNSXG7hjrj3s=";
 
   mypy-boto3-service-quotas = buildMypyBoto3Package "service-quotas" "1.34.0" "sha256-wWbm/udCn5Je1gJZ+uDJ4LE8NbQlq1yHVQc6eQ2umIw=";
 
-  mypy-boto3-servicecatalog = buildMypyBoto3Package "servicecatalog" "1.34.0" "sha256-K/h4NTDQFrsSs+S42MXvj3RrY4v/ThHCwql2Z2rUYNo=";
+  mypy-boto3-servicecatalog = buildMypyBoto3Package "servicecatalog" "1.34.13" "sha256-60XUP/uZDAkB0RaJgUD4wk+DknbsuygMnTmc3bKlr3U=";
 
   mypy-boto3-servicecatalog-appregistry = buildMypyBoto3Package "servicecatalog-appregistry" "1.34.0" "sha256-XYqa3aiC9pasmkMDXFmHKuK/PWwi6fZs/pt7rXuRFDw=";
 
@@ -660,7 +665,7 @@ rec {
 
   mypy-boto3-ses = buildMypyBoto3Package "ses" "1.34.0" "sha256-ieFDjZ8tTPM5wCRWFjNNUuDKOj8K4s4NH1SiJXxbnaQ=";
 
-  mypy-boto3-sesv2 = buildMypyBoto3Package "sesv2" "1.34.0" "sha256-36/TWOTB4FsjkBRpi72SLnVAJXyd4NY0+ZtCBj+zYU0=";
+  mypy-boto3-sesv2 = buildMypyBoto3Package "sesv2" "1.34.56" "sha256-xW5M8RMTSqRvRfbb3+zeL3i3tWO3w8+G9eMgbhI6K9I=";
 
   mypy-boto3-shield = buildMypyBoto3Package "shield" "1.34.0" "sha256-w0D4JKdlitCBIF3NaKn+POYch5CPGIiUZXqBoFzjzz4=";
 
@@ -674,13 +679,13 @@ rec {
 
   mypy-boto3-snow-device-management = buildMypyBoto3Package "snow-device-management" "1.34.0" "sha256-buPLN3Qu+asEf2qrv1Jvhu3gKN6aBrK55jB8IxPoFMs=";
 
-  mypy-boto3-snowball = buildMypyBoto3Package "snowball" "1.34.0" "sha256-xw/tnkf0iJ7gC0MxRo4NTeRRKJDYUzGu5ZMBBKHMEhg=";
+  mypy-boto3-snowball = buildMypyBoto3Package "snowball" "1.34.58" "sha256-z60jinh1shgZv2Q4uW2eFphJXRC0ONVN5bPE1UBgC9Y=";
 
-  mypy-boto3-sns = buildMypyBoto3Package "sns" "1.34.0" "sha256-q6P+uPdyHjtZYznBwtWmjSbBdwj35Qx2kdDH35XgATI=";
+  mypy-boto3-sns = buildMypyBoto3Package "sns" "1.34.44" "sha256-qYW1KB0AoVbdfJCT5YE8EMTqa5Hy67cVZ/57t7IQplI=";
 
   mypy-boto3-sqs = buildMypyBoto3Package "sqs" "1.34.0" "sha256-C/iZX1iRmrKVOYEA5y6qfaiYrc/Z0zmkLzxIzkc0GdU=";
 
-  mypy-boto3-ssm = buildMypyBoto3Package "ssm" "1.34.0" "sha256-roKTbXdJb3lY3CXV231I9jsWTKwDaGxgR1xwkQfer+w=";
+  mypy-boto3-ssm = buildMypyBoto3Package "ssm" "1.34.47" "sha256-vnDMMvmgfmcBdG6+ZfuhTVnD8kqFEdJ1/YMiyTZfInA=";
 
   mypy-boto3-ssm-contacts = buildMypyBoto3Package "ssm-contacts" "1.34.0" "sha256-wkKPGLm24/zgMKitcF9ZaPt/W4m+yHerR1wbEqJALBM=";
 
@@ -696,7 +701,7 @@ rec {
 
   mypy-boto3-stepfunctions = buildMypyBoto3Package "stepfunctions" "1.34.0" "sha256-BtIpbO51DRfLYhcUIO6kYU8g8pvkXuNhhU+LWZpugRA=";
 
-  mypy-boto3-storagegateway = buildMypyBoto3Package "storagegateway" "1.34.0" "sha256-CIUoGQeMvaGErpr0FnYhBLQ5DS7JIxkqKo6sWLXdGrQ=";
+  mypy-boto3-storagegateway = buildMypyBoto3Package "storagegateway" "1.34.27" "sha256-iKn048AdvM6XSOqT/w6edWoe0VMi3V305oHMth/QkF0=";
 
   mypy-boto3-sts = buildMypyBoto3Package "sts" "1.34.0" "sha256-s0fgozbWAWLdlAdNnRD2FPKwmkVcm0JBWFDVTWduIGc=";
 
@@ -718,11 +723,11 @@ rec {
 
   mypy-boto3-transcribe = buildMypyBoto3Package "transcribe" "1.34.0" "sha256-cKiJ306Y96xLHB7vX46uaw145BPLK/1g3OrMIMB0pPo=";
 
-  mypy-boto3-transfer = buildMypyBoto3Package "transfer" "1.34.0" "sha256-mYyymy+TUlt7bjuZMSqmO9dfcIzqod2t4gFEwMGPuzo=";
+  mypy-boto3-transfer = buildMypyBoto3Package "transfer" "1.34.59" "sha256-bx3Ur5TzB/1kxfYT91Aww148ppFmcvjs2rdM/1bWBUo=";
 
   mypy-boto3-translate = buildMypyBoto3Package "translate" "1.34.0" "sha256-4tjjmwMtIPpMwKZ3yqB96XEb1WidCxMIj2Cfjn0nTy8=";
 
-  mypy-boto3-verifiedpermissions = buildMypyBoto3Package "verifiedpermissions" "1.34.0" "sha256-ymLrwwRtiAGezcfhz/j77y+5L+37vKpcqPm48nqUMr4=";
+  mypy-boto3-verifiedpermissions = buildMypyBoto3Package "verifiedpermissions" "1.34.57" "sha256-odSCs7qud4UQ9/ZZOLEg9k/9fb0ZJQqY2A9sV9s5CPA=";
 
   mypy-boto3-voice-id = buildMypyBoto3Package "voice-id" "1.34.0" "sha256-c6HseKIqRPs8NmFZYsg+9jWCMGpMi+VpvM9BiWq16PY=";
 
@@ -732,11 +737,11 @@ rec {
 
   mypy-boto3-waf-regional = buildMypyBoto3Package "waf-regional" "1.34.0" "sha256-zv/IPDU6lqmmIfTq57d7VH3SyA7UkgWW2Hysk2zamcM=";
 
-  mypy-boto3-wafv2 = buildMypyBoto3Package "wafv2" "1.34.0" "sha256-5UQSZwFRzQEmlkAQqr493G0RGSLS/Jf0w2EveIbQQbg=";
+  mypy-boto3-wafv2 = buildMypyBoto3Package "wafv2" "1.34.58" "sha256-gPNY3XJr/50nejQFzti9igktryZHsgQDiB9BOYnT94I=";
 
   mypy-boto3-wellarchitected = buildMypyBoto3Package "wellarchitected" "1.34.0" "sha256-tzXpOWC6/WJ+/wUgwYtgI7scq7wRpACW8q1z9RwyhbA=";
 
-  mypy-boto3-wisdom = buildMypyBoto3Package "wisdom" "1.34.0" "sha256-b3WtzCoQgLlfex22Nux3PrQkfO+QmJ5l6Bv3lFGx4Jk=";
+  mypy-boto3-wisdom = buildMypyBoto3Package "wisdom" "1.34.16" "sha256-VhRrQLqmrHn/uWI6lWFJ27hiSmZbW1y+VE2Uf8ssrOw=";
 
   mypy-boto3-workdocs = buildMypyBoto3Package "workdocs" "1.34.0" "sha256-96V+xgJ+DvqA4A7teCEpVVirlTVxCehXzNcPWUojPH4=";
 
@@ -746,7 +751,7 @@ rec {
 
   mypy-boto3-workmailmessageflow = buildMypyBoto3Package "workmailmessageflow" "1.34.0" "sha256-e4wgFvtlfx0u6eGphRU7viGzZ4gbZijj4vjziPLPWX8=";
 
-  mypy-boto3-workspaces = buildMypyBoto3Package "workspaces" "1.34.0" "sha256-tWpSNHiUbaBwmhg7FfY58ZJKxIt3lGwpV1/9AXhfh64=";
+  mypy-boto3-workspaces = buildMypyBoto3Package "workspaces" "1.34.58" "sha256-EtAL93MtIZppL57xP4JDGoWT/SqgptRgCJyq/3bm9ts=";
 
   mypy-boto3-workspaces-web = buildMypyBoto3Package "workspaces-web" "1.34.0" "sha256-RImlbT5Lpu2IoTrEQv5Bzk3NnkMV9jQjHGDnxCK3x18=";
 
diff --git a/pkgs/development/python-modules/mypy-boto3/update.sh b/pkgs/development/python-modules/mypy-boto3/update.sh
index 09ed48adc8254..f45789baecb29 100644
--- a/pkgs/development/python-modules/mypy-boto3/update.sh
+++ b/pkgs/development/python-modules/mypy-boto3/update.sh
@@ -1,12 +1,10 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p nix-update
+#!nix-shell -i bash -p curl jq nix-update xmlstarlet
 
 set -eu -o pipefail
 
 source_file=pkgs/development/python-modules/mypy-boto3/default.nix
 
-version="1.34.0"
-
 nix-update python311Packages.botocore-stubs --commit --build
 
 packages=(
@@ -367,20 +365,27 @@ packages=(
   mypy-boto3-xray)
 
 for package in "${packages[@]}"; do
-  echo "Updating ${package}"
+  echo "Updating ${package} ..."
 
-  url="https://pypi.io/packages/source/m/${package}/${package}-${version}.tar.gz"
-  hash=$(nix-prefetch-url --type sha256 $url)
-  sri_hash="$(nix hash to-sri --type sha256 $hash)"
+  old_version=$(awk -v pkg="$package" -F'"' '$1 ~ pkg " = " {print $4}' ${source_file})
+  version=$(curl -s https://pypi.org/pypi/${package}/json | jq -r '.info.version')
 
-  awk -i inplace -v package="$package" -v new_version="$version" -v new_sha256="$sri_hash" '
-    $1 == package {
-      $5 = "\"" new_version "\"";
-      $6 = "\"" new_sha256 "\";";
-    }
-    {print}
-  ' $source_file
+  if [ "${version}" != "${old_version}" ]; then
+    url="https://pypi.io/packages/source/m/${package}/${package}-${version}.tar.gz"
+    hash=$(nix-prefetch-url --type sha256 $url)
+    sri_hash="$(nix hash to-sri --type sha256 $hash)"
 
-done
+    awk -i inplace -v package="$package" -v new_version="$version" -v new_sha256="$sri_hash" '
+      $1 == package {
+        $5 = "\"" new_version "\"";
+        $6 = "\"" new_sha256 "\";";
+      }
+      {print}
+    ' $source_file
+
+    nixpkgs-fmt ${source_file}
 
-nixpkgs-fmt $source_file
+    git commit ${source_file} -m "python311Packages.${package}: ${old_version} -> ${version}"
+  fi
+
+done
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index ba8b5a276197e..97d7c86e7d901 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "1.5.1";
+  version = "1.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     owner = "python";
     repo = "mypy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qs+axm2+UWNuWzLW8CI4qBV7k7Ra8gBajid8mYKDsso=";
+    hash = "sha256-1YgAswqLadOVV5ZSi5ZXWYK3p114882IlSx0nKChGPs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 27d977173e3e5..8897d75a893fe 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -33,14 +33,14 @@ let
   };
 in buildPythonPackage rec {
   pname = "nbconvert";
-  version = "7.16.0";
+  version = "7.16.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gT5lU3ljYkia5XLjm6G/+XhTYZL7UY4QgmsOjK3wPsg=";
+    hash = "sha256-555qB09Juj7SlCjthkh79RUJ2aq2E72FIqwI9tKP1/0=";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
diff --git a/pkgs/development/python-modules/netutils/default.nix b/pkgs/development/python-modules/netutils/default.nix
index 1824852538759..c7a1580ba9515 100644
--- a/pkgs/development/python-modules/netutils/default.nix
+++ b/pkgs/development/python-modules/netutils/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "netutils";
-  version = "1.6.0";
+  version = "1.7.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "networktocode";
     repo = "netutils";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ocajE7E4xIatEmv58/9gEpWF2plJdiZXjk6ajD2vTzw=";
+    hash = "sha256-B2epTqG0PzcD876Bk222nDSorHHB8Znepp+cgl1++gY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/nevow/default.nix b/pkgs/development/python-modules/nevow/default.nix
index 808427e241d9c..af5b5374b5b04 100644
--- a/pkgs/development/python-modules/nevow/default.nix
+++ b/pkgs/development/python-modules/nevow/default.nix
@@ -1,12 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k, twisted }:
 
 buildPythonPackage rec {
-  pname = "Nevow";
+  pname = "nevow";
   version = "0.14.5";
   disabled = isPy3k;
 
   src = fetchPypi {
-    inherit version pname;
+    pname = "Nevow";
+    inherit version;
     sha256 = "afb6ba85a5351953578c018fcdb9dfbd62f29a8d46c58bc9652bc000a27223f3";
   };
 
diff --git a/pkgs/development/python-modules/niworkflows/default.nix b/pkgs/development/python-modules/niworkflows/default.nix
index 494a834c937aa..4760543847173 100644
--- a/pkgs/development/python-modules/niworkflows/default.nix
+++ b/pkgs/development/python-modules/niworkflows/default.nix
@@ -29,14 +29,14 @@
 
 buildPythonPackage rec {
   pname = "niworkflows";
-  version = "1.10.0";
+  version = "1.10.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nipreps";
     repo = "niworkflows";
     rev = "refs/tags/${version}";
-    hash = "sha256-wQPk9imDvomg+NTWk+VeW1TE2QlvMyi1YYVVaznhktU=";
+    hash = "sha256-ZOn3KSaPAA8zTdyexrjF9Wkb5C5qA/5eSJahg2DcX20=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/notebook-shim/default.nix b/pkgs/development/python-modules/notebook-shim/default.nix
index 3bdb11416863b..c352bd00083c2 100644
--- a/pkgs/development/python-modules/notebook-shim/default.nix
+++ b/pkgs/development/python-modules/notebook-shim/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "notebook-shim";
-  version = "0.2.3";
+  version = "0.2.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "jupyter";
     repo = "notebook_shim";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eAYZuNYqOMKC6joDbbKk4Q4nrfdbO7b+yZeSvMdWWrI=";
+    hash = "sha256-CWnXOKE1xvr+a/qWNY6XCTB5+G/fg2O/glgeLzYD+Zc=";
   };
 
   nativeBuildInputs = [ hatchling ];
diff --git a/pkgs/development/python-modules/numexpr/default.nix b/pkgs/development/python-modules/numexpr/default.nix
index 6316ba29356c9..4de1e4a7de05a 100644
--- a/pkgs/development/python-modules/numexpr/default.nix
+++ b/pkgs/development/python-modules/numexpr/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "numexpr";
-  version = "2.8.7";
+  version = "2.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WW7rO7/ryRL0tuqvhCthunIs69uLxC3++mV9OnSVOEk=";
+    hash = "sha256-8h0S9sQyzjSQieuVNCur9mKa67P93xh6RJLTqtqtqvA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/odp-amsterdam/default.nix b/pkgs/development/python-modules/odp-amsterdam/default.nix
index e847982f9b651..a9a2770efd6b2 100644
--- a/pkgs/development/python-modules/odp-amsterdam/default.nix
+++ b/pkgs/development/python-modules/odp-amsterdam/default.nix
@@ -4,6 +4,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
+, pythonRelaxDepsHook
 , pythonOlder
 , pytest-asyncio
 , pytestCheckHook
@@ -26,12 +27,17 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace '"0.0.0"' '"${version}"'
+      --replace-fail '"0.0.0"' '"${version}"'
     sed -i '/addopts/d' pyproject.toml
   '';
 
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "pytz"
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/opentelemetry-api/default.nix b/pkgs/development/python-modules/opentelemetry-api/default.nix
index 5b59d43e7816f..135518ce3f8c4 100644
--- a/pkgs/development/python-modules/opentelemetry-api/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-api/default.nix
@@ -14,30 +14,32 @@
 let
   self = buildPythonPackage rec {
     pname = "opentelemetry-api";
-    version = "1.22.0";
-    disabled = pythonOlder "3.7";
+    version = "1.23.0";
+    pyproject = true;
+
+    disabled = pythonOlder "3.8";
 
     # to avoid breakage, every package in opentelemetry-python must inherit this version, src, and meta
     src = fetchFromGitHub {
       owner = "open-telemetry";
       repo = "opentelemetry-python";
       rev = "refs/tags/v${version}";
-      hash = "sha256-6BmBmooVaH1FOpgXpFlYth0r9XaNtmb9UezeP8hWEok=";
+      hash = "sha256-Ge/DjVG7ajoS0nJLZxtfn4Mmx0SffAE/91dViA5qWAA=";
     };
 
     sourceRoot = "${src.name}/opentelemetry-api";
 
-    format = "pyproject";
-
     nativeBuildInputs = [
-      hatchling
       pythonRelaxDepsHook
     ];
 
-    propagatedBuildInputs = [
+    build-system = [
+      hatchling
+    ];
+
+    dependencies = [
       deprecated
       importlib-metadata
-      setuptools
     ];
 
     pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
index 8a43e9b4cda42..bc8bbec64e976 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
@@ -2,10 +2,8 @@
 , buildPythonPackage
 , pythonOlder
 , hatchling
-, backoff
 , opentelemetry-api
 , opentelemetry-proto
-, opentelemetry-sdk
 , opentelemetry-test-utils
 , pytestCheckHook
 }:
@@ -13,19 +11,17 @@
 buildPythonPackage {
   inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-otlp-proto-common";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-common";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-common";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
-    backoff
-    opentelemetry-sdk
+  dependencies = [
     opentelemetry-proto
   ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
index b727d16b8e65e..9f1fe62dfbb47 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
@@ -1,35 +1,37 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, backoff
+, deprecated
 , googleapis-common-protos
 , grpcio
 , hatchling
 , opentelemetry-api
-, opentelemetry-test-utils
 , opentelemetry-exporter-otlp-proto-common
-, pytest-grpc
+, opentelemetry-proto
+, opentelemetry-test-utils
 , pytestCheckHook
 }:
 
 buildPythonPackage {
   inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-otlp-proto-grpc";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-grpc";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-grpc";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
-    backoff
+  dependencies = [
+    deprecated
     googleapis-common-protos
     grpcio
+    opentelemetry-api
     opentelemetry-exporter-otlp-proto-common
+    opentelemetry-proto
   ];
 
   nativeCheckInputs = [
@@ -43,6 +45,8 @@ buildPythonPackage {
 
   pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.grpc" ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = opentelemetry-api.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-grpc";
     description = "OpenTelemetry Collector Protobuf over gRPC Exporter";
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
index 2478826cd67e8..8c82d0b8b5808 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
@@ -1,11 +1,13 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, backoff
+, deprecated
 , googleapis-common-protos
 , hatchling
 , opentelemetry-api
 , opentelemetry-exporter-otlp-proto-common
+, opentelemetry-proto
+, opentelemetry-sdk
 , opentelemetry-test-utils
 , requests
 , responses
@@ -15,20 +17,23 @@
 buildPythonPackage {
   inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-otlp-proto-http";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-http";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-http";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
-    backoff
+  dependencies = [
+    deprecated
     googleapis-common-protos
+    opentelemetry-api
     opentelemetry-exporter-otlp-proto-common
+    opentelemetry-proto
+    opentelemetry-sdk
     requests
   ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
index 7dcc282e15368..75748e3b70ac0 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
@@ -1,33 +1,34 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, backoff
 , hatchling
 , opentelemetry-api
 , opentelemetry-exporter-otlp-proto-grpc
 , opentelemetry-exporter-otlp-proto-http
+, opentelemetry-test-utils
 , pytestCheckHook
 }:
 
 buildPythonPackage {
   inherit (opentelemetry-api) version src;
   pname = "opentelemetry-exporter-otlp";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     opentelemetry-exporter-otlp-proto-grpc
     opentelemetry-exporter-otlp-proto-http
   ];
 
   nativeCheckInputs = [
+    opentelemetry-test-utils
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
index 7708b404a980c..1ccd6b472e183 100644
--- a/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
@@ -10,19 +10,20 @@
 }:
 
 buildPythonPackage {
-  inherit (opentelemetry-api) version src;
+  inherit (opentelemetry-api) src;
   pname = "opentelemetry-exporter-prometheus";
-  disabled = pythonOlder "3.7";
+  version = "0.44b0";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-prometheus";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-prometheus";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     opentelemetry-api
     opentelemetry-sdk
     prometheus-client
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
index cdd40d4470503..df5a9b037652a 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
@@ -15,23 +15,23 @@
 buildPythonPackage {
   inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-aiohttp-client";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-aiohttp-client";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-aiohttp-client";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
+    aiohttp
     opentelemetry-api
     opentelemetry-instrumentation
     opentelemetry-semantic-conventions
     opentelemetry-util-http
     wrapt
-    aiohttp
   ];
 
   # missing https://github.com/ezequielramos/http-server-mock
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
index 952824cd1b72b..7eb2a66797459 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
@@ -14,17 +14,17 @@
 buildPythonPackage {
   inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-asgi";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-asgi";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-asgi";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     asgiref
     opentelemetry-instrumentation
     opentelemetry-api
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
index 39058d16e2594..9e27e60e2ddec 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
@@ -13,33 +13,36 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-django";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-django";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-django";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     django
     opentelemetry-api
     opentelemetry-instrumentation
-    opentelemetry-instrumentation-asgi
     opentelemetry-instrumentation-wsgi
     opentelemetry-semantic-conventions
     opentelemetry-util-http
   ];
 
+  passthru.optional-dependencies = {
+    asgi = [ opentelemetry-instrumentation-asgi ];
+  };
+
   nativeCheckInputs = [
     opentelemetry-test-utils
     pytestCheckHook
-  ];
+  ] ++ passthru.optional-dependencies.asgi;
 
   pythonImportsCheck = [ "opentelemetry.instrumentation.django" ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix
index 41de5bb8b60f0..a4da7665172e9 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix
@@ -19,15 +19,15 @@ buildPythonPackage {
   pname = "opentelemetry-instrumentation-fastapi";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-fastapi";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     fastapi
     opentelemetry-api
     opentelemetry-instrumentation
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix
index 71860dd8fd741..0e1daa3f3a91c 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-flask/default.nix
@@ -7,6 +7,7 @@
 , opentelemetry-semantic-conventions
 , opentelemetry-test-utils
 , opentelemetry-util-http
+, packaging
 , pytestCheckHook
 , pythonOlder
 }:
@@ -14,21 +15,22 @@
 buildPythonPackage {
   inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-flask";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-flask";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-flask";
 
-  nativeBuildInputs = [ hatchling ];
+  build-system = [ hatchling ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     flask
     opentelemetry-api
     opentelemetry-instrumentation
     opentelemetry-instrumentation-wsgi
     opentelemetry-semantic-conventions
     opentelemetry-util-http
+    packaging
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
index ad408c3dfbaa0..2a2cae6f6de43 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , pythonOlder
 , hatchling
@@ -15,17 +16,17 @@
 buildPythonPackage {
   inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-grpc";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-grpc";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-grpc";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     opentelemetry-api
     opentelemetry-instrumentation
     opentelemetry-sdk
@@ -43,8 +44,15 @@ buildPythonPackage {
     pytestCheckHook
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # RuntimeError: Failed to bind to address
+    "TestOpenTelemetryServerInterceptorUnix"
+  ];
+
   pythonImportsCheck = [ "opentelemetry.instrumentation.grpc" ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = opentelemetry-instrumentation.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-grpc";
     description = "OpenTelemetry Instrumentation for grpc";
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
index 0b1fda0276c97..2e3d60b28442a 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
@@ -13,17 +13,17 @@
 buildPythonPackage {
   inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-instrumentation-wsgi";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-wsgi";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-wsgi";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     opentelemetry-instrumentation
     opentelemetry-api
     opentelemetry-semantic-conventions
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
index f5e76507d3ab1..965276da78f11 100644
--- a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
@@ -4,7 +4,6 @@
 , fetchFromGitHub
 , hatchling
 , opentelemetry-api
-, opentelemetry-sdk
 , opentelemetry-test-utils
 , setuptools
 , wrapt
@@ -13,28 +12,27 @@
 
 buildPythonPackage rec {
   pname = "opentelemetry-instrumentation";
-  version = "0.43b0";
-  disabled = pythonOlder "3.7";
+  version = "0.44b0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   # to avoid breakage, every package in opentelemetry-python-contrib must inherit this version, src, and meta
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-python-contrib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fUyA3cPXAxO506usEWxOUX9xiapc8Ocnbx73LP6ghRE=";
+    hash = "sha256-r+k/YdK7YqYme8nKoy3ig3krvZjxYRKgLBkcdEtFy3k=";
   };
 
   sourceRoot = "${src.name}/opentelemetry-instrumentation";
 
-  format = "pyproject";
-
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     opentelemetry-api
-    opentelemetry-sdk
     setuptools
     wrapt
   ];
diff --git a/pkgs/development/python-modules/opentelemetry-proto/default.nix b/pkgs/development/python-modules/opentelemetry-proto/default.nix
index 21b84dd5898fe..58869327a1aeb 100644
--- a/pkgs/development/python-modules/opentelemetry-proto/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-proto/default.nix
@@ -10,17 +10,17 @@
 buildPythonPackage {
   inherit (opentelemetry-api) version src;
   pname = "opentelemetry-proto";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-proto";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-proto";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     protobuf
   ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-sdk/default.nix b/pkgs/development/python-modules/opentelemetry-sdk/default.nix
index ba5e7de5db83c..bee9dc01e6b0c 100644
--- a/pkgs/development/python-modules/opentelemetry-sdk/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-sdk/default.nix
@@ -15,20 +15,19 @@ let
   self = buildPythonPackage {
     inherit (opentelemetry-api) version src;
     pname = "opentelemetry-sdk";
-    disabled = pythonOlder "3.7";
+    pyproject = true;
 
-    sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-sdk";
+    disabled = pythonOlder "3.8";
 
-    format = "pyproject";
+    sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-sdk";
 
-    nativeBuildInputs = [
+    build-system = [
       hatchling
     ];
 
-    propagatedBuildInputs = [
+    dependencies = [
       opentelemetry-api
       opentelemetry-semantic-conventions
-      setuptools
       typing-extensions
     ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix b/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
index d57a7f13fa535..a2a88906ec073 100644
--- a/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
@@ -7,15 +7,16 @@
 }:
 
 buildPythonPackage {
-  inherit (opentelemetry-api) version src;
+  inherit (opentelemetry-api) src;
   pname = "opentelemetry-semantic-conventions";
-  disabled = pythonOlder "3.7";
+  version = "0.44b0";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-semantic-conventions";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-semantic-conventions";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
diff --git a/pkgs/development/python-modules/opentelemetry-test-utils/default.nix b/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
index 4e2405058b86f..d255845658c22 100644
--- a/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
@@ -1,5 +1,4 @@
 { lib
-, callPackage
 , buildPythonPackage
 , pythonOlder
 , asgiref
@@ -9,19 +8,20 @@
 }:
 
 buildPythonPackage {
-  inherit (opentelemetry-api) version src;
+  inherit (opentelemetry-api) src;
   pname = "opentelemetry-test-utils";
-  disabled = pythonOlder "3.7";
+  version = "0.44b0";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-api.src.name}/tests/opentelemetry-test-utils";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-api.src.name}/tests/opentelemetry-test-utils";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     asgiref
     opentelemetry-api
     opentelemetry-sdk
diff --git a/pkgs/development/python-modules/opentelemetry-util-http/default.nix b/pkgs/development/python-modules/opentelemetry-util-http/default.nix
index e14338ffcbce0..128f503d832d1 100644
--- a/pkgs/development/python-modules/opentelemetry-util-http/default.nix
+++ b/pkgs/development/python-modules/opentelemetry-util-http/default.nix
@@ -3,8 +3,6 @@
 , pythonOlder
 , hatchling
 , opentelemetry-instrumentation
-, opentelemetry-sdk
-, opentelemetry-semantic-conventions
 , opentelemetry-test-utils
 , pytestCheckHook
 }:
@@ -12,23 +10,18 @@
 buildPythonPackage {
   inherit (opentelemetry-instrumentation) version src;
   pname = "opentelemetry-util-http";
-  disabled = pythonOlder "3.7";
+  pyproject = true;
 
-  sourceRoot = "${opentelemetry-instrumentation.src.name}/util/opentelemetry-util-http";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/util/opentelemetry-util-http";
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
-    opentelemetry-instrumentation
-    opentelemetry-sdk
-    opentelemetry-semantic-conventions
-  ];
-
   nativeCheckInputs = [
+    opentelemetry-instrumentation
     opentelemetry-test-utils
     pytestCheckHook
   ];
@@ -41,6 +34,8 @@ buildPythonPackage {
 
   pythonImportsCheck = [ "opentelemetry.util.http" ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = opentelemetry-instrumentation.meta // {
     homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/util/opentelemetry-util-http";
     description = "Web util for OpenTelemetry";
diff --git a/pkgs/development/python-modules/openwrt-luci-rpc/default.nix b/pkgs/development/python-modules/openwrt-luci-rpc/default.nix
index 7c507cba15e0f..b1e47f13c4369 100644
--- a/pkgs/development/python-modules/openwrt-luci-rpc/default.nix
+++ b/pkgs/development/python-modules/openwrt-luci-rpc/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "openwrt-luci-rpc";
-  version = "1.1.16";
+  version = "1.1.17";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZvPMJbYCNKMXuTrHwXQvBZ/mMenYTsV1X4COiVxvJGY=";
+    hash = "sha256-RFZCnQTDs3vre0qbedIEnng7lGo3Ikp0Bw4+7sbPRJk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/orjson/default.nix b/pkgs/development/python-modules/orjson/default.nix
index b707a9e83ebb7..ede3b10fc718c 100644
--- a/pkgs/development/python-modules/orjson/default.nix
+++ b/pkgs/development/python-modules/orjson/default.nix
@@ -19,11 +19,18 @@
 , pytz
 , xxhash
 , python
+
+# for passthru.tests
+, falcon
+, fastapi
+, gradio
+, mashumaro
+, ufolib2
 }:
 
 buildPythonPackage rec {
   pname = "orjson";
-  version = "3.9.13";
+  version = "3.9.15";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -32,13 +39,13 @@ buildPythonPackage rec {
     owner = "ijl";
     repo = "orjson";
     rev = "refs/tags/${version}";
-    hash = "sha256-p6nkzEHFTKCBr7Wte2wvzh1TlzwweADZON8gm2pT224=";
+    hash = "sha256-6fcj64d/uFCxaez+xxOdHd+NqILKOPqK+YlxYX7D0DI=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-2c8XgQILhAvR8HUqoEIOfYeiV1lR9UyIJXWDuNeVZsE=";
+    hash = "sha256-/Aa3saUP4QjSBIS9T8Vd0yggiJn2SIk7dYMA5icb1yA=";
   };
 
   maturinBuildFlags = [ "--interpreter ${python.executable}" ];
@@ -67,6 +74,16 @@ buildPythonPackage rec {
     "orjson"
   ];
 
+  passthru.tests = {
+    inherit
+      falcon
+      fastapi
+      gradio
+      mashumaro
+      ufolib2
+    ;
+  };
+
   meta = with lib; {
     description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy";
     homepage = "https://github.com/ijl/orjson";
diff --git a/pkgs/development/python-modules/patsy/default.nix b/pkgs/development/python-modules/patsy/default.nix
index ae4022f860020..48797d05142b0 100644
--- a/pkgs/development/python-modules/patsy/default.nix
+++ b/pkgs/development/python-modules/patsy/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "patsy";
-  version = "0.5.4";
+  version = "0.5.6";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-favFJ1lzCN4OjxiPqiCvfgaom9qjBnVt/HeDaT6havQ=";
+    hash = "sha256-lcbUenIiU1+Ev/f2PXMD8uKXdHpZjbic9cZ/DAx9LNs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix
index fed9e7cd81fe3..dbf6afe6f3302 100644
--- a/pkgs/development/python-modules/pbr/default.nix
+++ b/pkgs/development/python-modules/pbr/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonAtLeast
 , setuptools
 , callPackage
 }:
@@ -33,7 +32,6 @@ buildPythonPackage rec {
     description = "Python Build Reasonableness";
     homepage = "https://github.com/openstack/pbr";
     license = licenses.asl20;
-    broken = pythonAtLeast "3.12"; # uses removed distutils
     maintainers = teams.openstack.members;
   };
 }
diff --git a/pkgs/development/python-modules/pdm-backend/setup-hook.sh b/pkgs/development/python-modules/pdm-backend/setup-hook.sh
index aca0c555c76cc..c8b2fda6d99ac 100644
--- a/pkgs/development/python-modules/pdm-backend/setup-hook.sh
+++ b/pkgs/development/python-modules/pdm-backend/setup-hook.sh
@@ -1,8 +1,10 @@
-version-pretend-hook() {
-  echo "Setting PDM_BUILD_SCM_VERSION to $version"
-  export PDM_BUILD_SCM_VERSION=$version
+pdm-version-pretend-hook() {
+  if [ -z "${PDM_BUILD_SCM_VERSION-}" ]; then
+    echo "Setting PDM_BUILD_SCM_VERSION to $version"
+    export PDM_BUILD_SCM_VERSION="$version"
+  fi
 }
 
 if [ -z "${dontSetPdmBackendVersion-}" ]; then
-  preBuildHooks+=(version-pretend-hook)
+  preBuildHooks+=(pdm-version-pretend-hook)
 fi
diff --git a/pkgs/development/python-modules/pgmpy/default.nix b/pkgs/development/python-modules/pgmpy/default.nix
index e9ca2003fa81c..a953b575b591d 100644
--- a/pkgs/development/python-modules/pgmpy/default.nix
+++ b/pkgs/development/python-modules/pgmpy/default.nix
@@ -23,7 +23,7 @@
 }:
 let
   pname = "pgmpy";
-  version = "0.1.24";
+  version = "0.1.25";
   # optional-dependencies = {
   #   all = [ daft ];
   # };
@@ -38,7 +38,7 @@ buildPythonPackage {
     owner = "pgmpy";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-IMlo4SBxO9sPoZl0rQGc3FcvvIN/V/WZz+1BD7aBfzs=";
+    hash = "sha256-d2TNcJQ82XxTWdetLgtKXRpFulAEEzrr+cyRewoA6YI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/piccolo-theme/default.nix b/pkgs/development/python-modules/piccolo-theme/default.nix
index ece887f143285..51ed9b136f3f6 100644
--- a/pkgs/development/python-modules/piccolo-theme/default.nix
+++ b/pkgs/development/python-modules/piccolo-theme/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "piccolo-theme";
-  version = "0.19.0";
+  version = "0.20.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "piccolo_theme";
     inherit version;
-    hash = "sha256-pGMOc/GSh3q2HW1mfW+XFgpOyiXd3cdh56cvXatseuc=";
+    hash = "sha256-/I6Q///oZ1OlSQEOwQ4KtUuj73ra6poyDhfhiF5nJrE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index 81d981a5a1032..bfcd4c0589c29 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "8.12.0.post1";
+  version = "8.13.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-zUTlMNGm7QrCFcGb02vvAlhUoeFQbp//HyhkKV69JWc=";
+    hash = "sha256-6HCFPHIQ6+SHt4Zu6CZ0R2Ah+jFnztGOCMhQfvR6FxY=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pillow-heif/default.nix b/pkgs/development/python-modules/pillow-heif/default.nix
index 33575ace5508f..e846109a31def 100644
--- a/pkgs/development/python-modules/pillow-heif/default.nix
+++ b/pkgs/development/python-modules/pillow-heif/default.nix
@@ -7,6 +7,7 @@
 , cmake
 , nasm
 , pkg-config
+, setuptools
 
 # native dependencies
 , libheif
@@ -26,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "pillow-heif";
-  version = "0.14.0";
-  format = "setuptools";
+  version = "0.15.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bigcat88";
     repo = "pillow_heif";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HFcywrH687CBGTbZQ2rQrr/AdJ2+pFoI+NvYhUCanic=";
+    hash = "sha256-zSPbOb7+U45Vmad6IwNtkunLXdT3ledKAE4QWlSeP0g=";
   };
 
   postPatch = ''
@@ -44,6 +45,7 @@ buildPythonPackage rec {
     cmake
     nasm
     pkg-config
+    setuptools
   ];
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/development/python-modules/ping3/default.nix b/pkgs/development/python-modules/ping3/default.nix
index c5dd49ba0d596..133775eb7915a 100644
--- a/pkgs/development/python-modules/ping3/default.nix
+++ b/pkgs/development/python-modules/ping3/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ping3";
-  version = "4.0.4";
+  version = "4.0.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HqEqz2dS1GZmFjQf18Y5PGZM/8UQxpPvBvc2+yZ6E7o=";
+    hash = "sha256-HwkYXokyFDZSSZayEtID08q1rSJofedGRXDxx/udwFE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pubnub/default.nix b/pkgs/development/python-modules/pubnub/default.nix
index 73318da358182..174139f5aaf48 100644
--- a/pkgs/development/python-modules/pubnub/default.nix
+++ b/pkgs/development/python-modules/pubnub/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "7.4.1";
+  version = "7.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XaTvLX1YA1lCSMrEEmiD2JsXoMkeQz1x0MgmnF7cjcM=";
+    hash = "sha256-fmRFxSVzKN2ynuXJlpZcuIt4XIe7XHU4HSzSN1kCi2g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pueblo/default.nix b/pkgs/development/python-modules/pueblo/default.nix
index 52a5a44352758..6b11cdad611dc 100644
--- a/pkgs/development/python-modules/pueblo/default.nix
+++ b/pkgs/development/python-modules/pueblo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pueblo";
-  version = "0.0.8";
+  version = "0.0.9";
   pyproject = true;
 
   # This tarball doesn't include tests unfortuneatly, and the GitHub tarball
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   # should work for us as well.
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iM8Ea2ym7ZM0wInkCZ76yUjvOPRF5MVbT4WhpWz70UU=";
+    hash = "sha256-Ea5tzutZtuf1a5s46JJND6ovKi3C5UruR8e1RZucPRc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pushbullet-py/default.nix b/pkgs/development/python-modules/pushbullet-py/default.nix
index 472f4dcc5853c..1ef8728d0614e 100644
--- a/pkgs/development/python-modules/pushbullet-py/default.nix
+++ b/pkgs/development/python-modules/pushbullet-py/default.nix
@@ -1,33 +1,52 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 , requests
 , websocket-client
 , python-magic
 , cryptography
 , pytestCheckHook
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
   pname = "pushbullet-py";
   version = "0.12.0";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "917883e1af4a0c979ce46076b391e0243eb8fe0a81c086544bcfa10f53e5ae64";
   };
 
-  propagatedBuildInputs = [ cryptography requests websocket-client python-magic ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    cryptography
+    python-magic
+    requests
+    websocket-client
+  ];
 
   preCheck = ''
     export PUSHBULLET_API_KEY=""
   '';
-  nativeCheckInputs = [ pytestCheckHook ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
   disabledTests = [
     "test_auth_fail"
     "test_auth_success"
     "test_decryption"
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    # AttributeError: 'called_once_with' is not a valid assertion. Use a spec for the mock if 'called_once_with' is meant to be an attribute.. Did you mean: 'assert_called_once_with'?
+    "test_new_device_ok"
+    "test_new_chat_ok"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/py-vapid/default.nix b/pkgs/development/python-modules/py-vapid/default.nix
index 111e702455d20..25dd99816d0f0 100644
--- a/pkgs/development/python-modules/py-vapid/default.nix
+++ b/pkgs/development/python-modules/py-vapid/default.nix
@@ -1,10 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, flake8
 , mock
-, nose
-, pytest
+, pytestCheckHook
 , cryptography
 , pythonOlder
 }:
@@ -26,10 +24,8 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    flake8
     mock
-    nose
-    pytest
+    pytestCheckHook
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pyaml/default.nix b/pkgs/development/python-modules/pyaml/default.nix
index 70c660e0daad4..825568da73a8f 100644
--- a/pkgs/development/python-modules/pyaml/default.nix
+++ b/pkgs/development/python-modules/pyaml/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pyaml";
-  version = "23.9.7";
+  version = "23.12.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WB6k6Z8OMIhkQH4EwDxgkkGu+joV37qJZNp2RLrzshc=";
+    hash = "sha256-zm9kjv37GzpVefjO2wT6zw+h6PZIRrY5MJtYW7MitOU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index 053b280c500eb..7c19bdefd4f67 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -37,6 +37,10 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace pyproject.toml setup.py \
       --replace "setuptools_scm < 8.0.0" "setuptools_scm"
+  '' + lib.optionalString (pythonAtLeast "3.12") ''
+    substituteInPlace ./cmake_modules/FindPython3Alt.cmake --replace-fail \
+      "from distutils import sysconfig" \
+      "import sysconfig"
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyatv/default.nix b/pkgs/development/python-modules/pyatv/default.nix
index d584b410d7cdc..a422e45057b8f 100644
--- a/pkgs/development/python-modules/pyatv/default.nix
+++ b/pkgs/development/python-modules/pyatv/default.nix
@@ -18,6 +18,7 @@
 , pytest-timeout
 , pytestCheckHook
 , pythonRelaxDepsHook
+, pythonAtLeast
 , pythonOlder
 , requests
 , setuptools
@@ -95,6 +96,9 @@ buildPythonPackage rec {
   disabledTests = [
     # https://github.com/postlund/pyatv/issues/2307
     "test_zeroconf_service_published"
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    # https://github.com/postlund/pyatv/issues/2365
+    "test_simple_dispatch"
   ] ++ lib.optionals (stdenv.isDarwin) [
     # tests/protocols/raop/test_raop_functional.py::test_stream_retransmission[raop_properties2-2-True] - assert False
     "test_stream_retransmission"
diff --git a/pkgs/development/python-modules/pydantic-core/default.nix b/pkgs/development/python-modules/pydantic-core/default.nix
index 4569ea3286b8d..8efa37dd65fa1 100644
--- a/pkgs/development/python-modules/pydantic-core/default.nix
+++ b/pkgs/development/python-modules/pydantic-core/default.nix
@@ -17,14 +17,14 @@
 let
   pydantic-core = buildPythonPackage rec {
     pname = "pydantic-core";
-    version = "2.14.5";
+    version = "2.14.6";
     format = "pyproject";
 
     src = fetchFromGitHub {
       owner = "pydantic";
       repo = "pydantic-core";
       rev = "refs/tags/v${version}";
-      hash = "sha256-UguZpA3KEutOgIavjx8Ie//0qJq+4FTZNQTwb/ZIgb8=";
+      hash = "sha256-Y3RdDqFrH5C8Jt45FV6jLRV8G9odkqM1fBz6axeXF+4=";
     };
 
     patches = [
@@ -34,7 +34,7 @@ let
     cargoDeps = rustPlatform.fetchCargoTarball {
       inherit src;
       name = "${pname}-${version}";
-      hash = "sha256-mMgw922QjHmk0yimXfolLNiYZntTsGydQywe7PTNnwc=";
+      hash = "sha256-tx8eS+MciP1C6U8FrKdTgelHb/yxU2eSdSydIMKh4rs=";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix
index d58ec6e53f5f5..c81b46a205861 100644
--- a/pkgs/development/python-modules/pydantic/default.nix
+++ b/pkgs/development/python-modules/pydantic/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "pydantic";
-  version = "2.5.2";
+  version = "2.5.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "pydantic";
     repo = "pydantic";
     rev = "refs/tags/v${version}";
-    hash = "sha256-D0gYcyrKVVDhBgV9sCVTkGq/kFmIoT9l0i5bRM1qxzM=";
+    hash = "sha256-YTNV67uKGRag6ICkNjjY9YrOiKFB1hSZkKcUXjSrhwM=";
   };
 
   buildInputs = lib.optionals (pythonOlder "3.9") [
diff --git a/pkgs/development/python-modules/pyenphase/default.nix b/pkgs/development/python-modules/pyenphase/default.nix
index 05514f610ad13..53add2582f9e1 100644
--- a/pkgs/development/python-modules/pyenphase/default.nix
+++ b/pkgs/development/python-modules/pyenphase/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pyenphase";
-  version = "1.19.1";
+  version = "1.19.2";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "pyenphase";
     repo = "pyenphase";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2dKBqGIT4D4QUMixg4ZCxWXjE2zcXoji5i2v+vAPhL4=";
+    hash = "sha256-opzoIYNsFERS5R40vm64o92PYz4+1e3ACFv3W6+EYsc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pygnmi/default.nix b/pkgs/development/python-modules/pygnmi/default.nix
index a5218555b36bf..aa0607a4c023c 100644
--- a/pkgs/development/python-modules/pygnmi/default.nix
+++ b/pkgs/development/python-modules/pygnmi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pygnmi";
-  version = "0.8.13";
+  version = "0.8.14";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "akarneliuk";
     repo = "pygnmi";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-NkByimHk1DoBjMMD7ywplo38VxBpp1pnClYUzhtKwY4=";
+    sha256 = "sha256-ncp/OwELy/QOvGhLUZW2qTQZsckWI4CGrlEAZ20RtQI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyicloud/default.nix b/pkgs/development/python-modules/pyicloud/default.nix
index f584358109913..2765f457991ba 100644
--- a/pkgs/development/python-modules/pyicloud/default.nix
+++ b/pkgs/development/python-modules/pyicloud/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonAtLeast
+, setuptools
 , certifi
 , click
 , keyring
@@ -17,7 +19,7 @@
 buildPythonPackage rec {
   pname = "pyicloud";
   version = "1.0.0";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "picklepete";
@@ -26,6 +28,10 @@ buildPythonPackage rec {
     hash = "sha256-2E1pdHHt8o7CGpdG+u4xy5OyNCueUGVw5CY8oicYd5w=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     certifi
     click
@@ -43,14 +49,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    sed -i \
-      -e 's!click>=.*!click!' \
-      -e 's!keyring>=.*!keyring!' \
-      -e 's!keyrings.alt>=.*!keyrings.alt!' \
-      -e 's!tzlocal==.*!tzlocal!' \
-      requirements.txt
-  '';
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    # https://github.com/picklepete/pyicloud/issues/446
+    "test_storage"
+  ];
 
   meta = with lib; {
     description = "PyiCloud is a module which allows pythonistas to interact with iCloud webservices";
diff --git a/pkgs/development/python-modules/pykaleidescape/default.nix b/pkgs/development/python-modules/pykaleidescape/default.nix
index b11f99b741129..af2645006e18a 100644
--- a/pkgs/development/python-modules/pykaleidescape/default.nix
+++ b/pkgs/development/python-modules/pykaleidescape/default.nix
@@ -5,6 +5,7 @@
 , fetchFromGitHub
 , pytest-asyncio
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 }:
 
@@ -39,6 +40,10 @@ buildPythonPackage rec {
   disabledTests = [
     # Test requires network access
     "test_resolve_succeeds"
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    # stuck in EpollSelector.poll()
+    "test_manual_disconnect"
+    "test_concurrency"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pylxd/default.nix b/pkgs/development/python-modules/pylxd/default.nix
index ee860eb6f1058..3d94d0db35996 100644
--- a/pkgs/development/python-modules/pylxd/default.nix
+++ b/pkgs/development/python-modules/pylxd/default.nix
@@ -1,35 +1,51 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
 , cryptography
+, ddt
+, fetchFromGitHub
+, mock-services
+, pytestCheckHook
 , python-dateutil
+, pythonOlder
 , requests
+, urllib3
+, pythonRelaxDepsHook
 , requests-toolbelt
 , requests-unixsocket
+, setuptools
 , ws4py
-, ddt
-, mock-services
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pylxd";
   version = "2.3.2";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
-    owner = "lxc";
+    owner = "canonica";
     repo = "pylxd";
     rev = "refs/tags/${version}";
     hash = "sha256-Q4GMz7HFpJNPYlYgLhE0a7mVCwNpdbw4XVcUGQ2gUJ0=";
   };
 
+  pythonRelaxDeps = [
+    "urllib3"
+  ];
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     cryptography
     python-dateutil
     requests
     requests-toolbelt
     requests-unixsocket
+    urllib3
     ws4py
   ];
 
@@ -44,11 +60,14 @@ buildPythonPackage rec {
     "migration"
   ];
 
-  pythonImportsCheck = [ "pylxd" ];
+  pythonImportsCheck = [
+    "pylxd"
+  ];
 
   meta = with lib; {
-    description = "A Python library for interacting with the LXD REST API";
-    homepage = "https://pylxd.readthedocs.io/en/latest/";
+    description = "Library for interacting with the LXD REST API";
+    homepage = "https://pylxd.readthedocs.io/";
+    changelog = "https://github.com/canonical/pylxd/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/pymodbus/default.nix b/pkgs/development/python-modules/pymodbus/default.nix
index ee5c25d177da8..c044b58920bab 100644
--- a/pkgs/development/python-modules/pymodbus/default.nix
+++ b/pkgs/development/python-modules/pymodbus/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "pymodbus";
-  version = "3.6.5";
+  version = "3.6.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "pymodbus-dev";
     repo = "pymodbus";
     rev = "refs/tags/v${version}";
-    hash = "sha256-BWoonOmKTvl5pKvdysmrCTHL6Bf3NGULXI6dpP5t/C0=";
+    hash = "sha256-CnMCHFwzNyzTgVyFDSlE7ggI6eXXYbtGuERIomUa3uA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyngrok/default.nix b/pkgs/development/python-modules/pyngrok/default.nix
index 0ed02cd477baa..7837e99cf424c 100644
--- a/pkgs/development/python-modules/pyngrok/default.nix
+++ b/pkgs/development/python-modules/pyngrok/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyngrok";
-  version = "7.1.4";
+  version = "7.1.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MlTT2a4VvazWP+EPLb1W3KZIf284OM4mI6LA8ToBtVY=";
+    hash = "sha256-9oS/iBuAWQ3COlnhgeN0e7CFj6VNbkfpPe35tO0BSpo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pynvml/default.nix b/pkgs/development/python-modules/pynvml/default.nix
index b18fac7652f91..f73f5bd7d56df 100644
--- a/pkgs/development/python-modules/pynvml/default.nix
+++ b/pkgs/development/python-modules/pynvml/default.nix
@@ -1,20 +1,24 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , substituteAll
 , pythonOlder
 , addOpenGLRunpath
+, setuptools
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pynvml";
   version = "11.5.0";
-  format = "setuptools";
+  pyproject = true;
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-0CeyG5WxCIufwngRf59ht8Z/jjOnh+n4P3NfD3GsMtA=";
+  src = fetchFromGitHub {
+    owner = "gpuopenanalytics";
+    repo = "pynvml";
+    rev = "refs/tags/${version}";
+    hash = "sha256-K3ZENjgi+TVDxr55dRK1y8SwzfgVIzcnD4oEI+KHRa4=";
   };
 
   patches = [
@@ -24,12 +28,22 @@ buildPythonPackage rec {
     })
   ];
 
-  doCheck = false;  # no tests in PyPi dist
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   pythonImportsCheck = [ "pynvml" "pynvml.smi" ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  # OSError: /run/opengl-driver/lib/libnvidia-ml.so.1: cannot open shared object file: No such file or directory
+  doCheck = false;
+
   meta = with lib; {
     description = "Python bindings for the NVIDIA Management Library";
-    homepage = "https://www.nvidia.com";
+    homepage = "https://github.com/gpuopenanalytics/pynvml";
     license = licenses.bsd3;
     maintainers = [ maintainers.bcdarwin ];
   };
diff --git a/pkgs/development/python-modules/pypinyin/default.nix b/pkgs/development/python-modules/pypinyin/default.nix
index f42315c331981..a109612fd75ec 100644
--- a/pkgs/development/python-modules/pypinyin/default.nix
+++ b/pkgs/development/python-modules/pypinyin/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pypinyin";
-  version = "0.50.0";
+  version = "0.51.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "mozillazg";
     repo = "python-pinyin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9RnuC9AvTlUtZqep6kn5y1xQcq/dzA9jTZXAsMpKZWc=";
+    hash = "sha256-kbUVif3a3L7BHj1b37FME5wicalK/iild0pvwPawr6Q=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pysqueezebox/default.nix b/pkgs/development/python-modules/pysqueezebox/default.nix
index 7c9425a9d02ac..31748f890765f 100644
--- a/pkgs/development/python-modules/pysqueezebox/default.nix
+++ b/pkgs/development/python-modules/pysqueezebox/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , pytest-asyncio
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 }:
 
@@ -34,6 +35,11 @@ buildPythonPackage rec {
     "pysqueezebox"
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    # AttributeError: 'has_calls' is not a valid assertion. Use a spec for the mock if 'has_calls' is meant to be an attribute.
+    "test_verified_pause"
+  ];
+
   disabledTestPaths = [
     # Tests require network access
     "tests/test_integration.py"
diff --git a/pkgs/development/python-modules/pytest-jupyter/default.nix b/pkgs/development/python-modules/pytest-jupyter/default.nix
index 63771bf4cf3c1..2246c58267250 100644
--- a/pkgs/development/python-modules/pytest-jupyter/default.nix
+++ b/pkgs/development/python-modules/pytest-jupyter/default.nix
@@ -22,14 +22,14 @@
 
 let self = buildPythonPackage rec {
   pname = "pytest-jupyter";
-  version = "0.8.0";
+  version = "0.9.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "jupyter-server";
     repo = "pytest-jupyter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ND51UpPsvZGH6LdEaNFXaBLoCMB4n7caPoo1/Go9fNs=";
+    hash = "sha256-8pQNtzMylW9b3vk0kp7NcJnXAJKYeoFsHy/lyQFCNzc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-services/default.nix b/pkgs/development/python-modules/pytest-services/default.nix
index 91094c81ab411..0b6a8f8f87b57 100644
--- a/pkgs/development/python-modules/pytest-services/default.nix
+++ b/pkgs/development/python-modules/pytest-services/default.nix
@@ -1,25 +1,43 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, isPy3k
-, requests
+, fetchFromGitHub
+, fetchpatch
 , psutil
+, pylibmc
 , pytest
+, pytestCheckHook
+, pythonOlder
+, requests
+, setuptools
 , setuptools-scm
 , toml
+, mysqlclient
 , zc-lockfile
 }:
 
 buildPythonPackage rec {
   pname = "pytest-services";
   version = "2.2.1";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "2da740487d08ea63dfdf718f5d4ba11e590c99ddf5481549edebf7a3a42ca536";
+  src = fetchFromGitHub {
+    owner = "pytest-dev";
+    repo = "pytest-services";
+    rev = "refs/tags/${version}";
+    hash = "sha256-E/VcKcAb1ekypm5jP4lsSz1LYJTcTSed6i5OY5ihP30=";
   };
 
+  patches = [
+    # Replace distutils.spawn.find_executable with shutil.which, https://github.com/pytest-dev/pytest-services/pull/46
+    (fetchpatch {
+      name = "replace-distutils.patch";
+      url = "https://github.com/pytest-dev/pytest-services/commit/e0e2a85434a2dcbcc0584299c5b2b751efe0b6db.patch";
+      hash = "sha256-hvr7EedfjfonHDn6v2slwUBqz1xQoF7Ez/kqAhZRXEc=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools-scm
     toml
@@ -33,14 +51,27 @@ buildPythonPackage rec {
     zc-lockfile
   ];
 
-  # no tests in PyPI tarball
-  doCheck = false;
+  nativeCheckInputs = [
+    mysqlclient
+    pylibmc
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_services"
+  ];
 
-  pythonImportsCheck = [ "pytest_services" ];
+  disabledTests = [
+    # Tests require binaries and additional parts
+    "test_memcached"
+    "test_mysql"
+    "test_xvfb "
+  ];
 
   meta = with lib; {
     description = "Services plugin for pytest testing framework";
     homepage = "https://github.com/pytest-dev/pytest-services";
+    changelog = "https://github.com/pytest-dev/pytest-services/blob/${version}/CHANGES.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/python-dotenv/default.nix b/pkgs/development/python-modules/python-dotenv/default.nix
index b335a8a9831c7..0854d354c2fe7 100644
--- a/pkgs/development/python-modules/python-dotenv/default.nix
+++ b/pkgs/development/python-modules/python-dotenv/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "python-dotenv";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "setuptools";
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qN+WA0qubS1QpOvoIWMmxhw+tkg2d2UE/MpBDlk3o7o=";
+    hash = "sha256-4yTukKAj2AjxlZxGvLwERGoQztJ3eD3G7gmYfDfsEMo=";
   };
 
   propagatedBuildInputs = [ click ];
diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix
index 57761e5dcac1e..a451aed79092c 100644
--- a/pkgs/development/python-modules/python-matter-server/default.nix
+++ b/pkgs/development/python-modules/python-matter-server/default.nix
@@ -55,7 +55,7 @@ in
 
 buildPythonPackage rec {
   pname = "python-matter-server";
-  version = "5.8.0";
+  version = "5.8.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -64,7 +64,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = "python-matter-server";
     rev = "refs/tags/${version}";
-    hash = "sha256-bpXRay4JUujqdnscGldW732e8FTkcmfShbtwp2YJC60=";
+    hash = "sha256-iisDEopaKklLvvGDTo2fv0Fpkhuhd+7KoNnQA+QmjB8=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyvisa-py/default.nix b/pkgs/development/python-modules/pyvisa-py/default.nix
index 58d538ec98ade..d64213c2c540d 100644
--- a/pkgs/development/python-modules/pyvisa-py/default.nix
+++ b/pkgs/development/python-modules/pyvisa-py/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyvisa-py";
-  version = "0.7.1";
+  version = "0.7.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "pyvisa";
     repo = "pyvisa-py";
     rev = "refs/tags/${version}";
-    hash = "sha256-zsa4TGDvvPAogOC0ljXC9uwWC9mteldUYprLmwrXNMQ=";
+    hash = "sha256-UFAKLrZ1ZrTmFXwVuyTCPVo3Y1YIDOvkx5krpsz71BM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 3dcffdd2ecc53..60900c8ce1780 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "rapidfuzz";
-  version = "3.6.1";
+  version = "3.6.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -27,12 +27,12 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "RapidFuzz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QJVRT+d/IIGxkWfSNoXFSmbW017+8CTKuWD4W+TzvBs=";
+    hash = "sha256-rezyw0v1VijMe78ip3U+Jd+NQExW+gQXjs8qkcPNcUk=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "Cython==3.0.3" "Cython"
+      --replace-fail "Cython >=3.0.9, <3.1.0" "Cython"
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/readabilipy/default.nix b/pkgs/development/python-modules/readabilipy/default.nix
new file mode 100644
index 0000000000000..0bf33623cb869
--- /dev/null
+++ b/pkgs/development/python-modules/readabilipy/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, fetchFromGitHub
+, html5lib
+, lxml
+, pytestCheckHook
+, pythonOlder
+, regex
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "readabilipy";
+  version = "0.2.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "alan-turing-institute";
+    repo = "ReadabiliPy";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-XrmdQjLFYdadWeO5DoKAQeEdta+6T6BqfvGlDkzLMyM=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    html5lib
+    lxml
+    regex
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "readabilipy"
+  ];
+
+  disabledTests = [
+    # AssertionError
+    "test_extract_simple_article_with_readability_js"
+    "test_extract_article_from_page_with_readability_js"
+    "test_plain_element_with_comments"
+    "test_content_digest_on_filled_and_empty_elements"
+  ];
+
+  disabledTestPaths = [
+    # Exclude benchmarks
+    "tests/test_benchmarking.py"
+  ];
+
+  meta = with lib; {
+    description = "HTML content extractor";
+    homepage = "https://github.com/alan-turing-institute/ReadabiliPy";
+    changelog = "https://github.com/alan-turing-institute/ReadabiliPy/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/recipe-scrapers/default.nix b/pkgs/development/python-modules/recipe-scrapers/default.nix
index 30d0efc834323..70a852bfb1a01 100644
--- a/pkgs/development/python-modules/recipe-scrapers/default.nix
+++ b/pkgs/development/python-modules/recipe-scrapers/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "recipe-scrapers";
-  version = "14.54.0";
+  version = "14.55.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "hhursev";
     repo = "recipe-scrapers";
     rev = "refs/tags/${version}";
-    hash = "sha256-Q7ubT7SBHNxyvfqFhDmBjnW7ssoXBsMZR+eYg5CntHY=";
+    hash = "sha256-HjR4Lwlcrpeqv6BXI+aYCL9e7ZTaTa522z0lSW03wW0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix
index af73624d1ae6a..ef0a575789e75 100644
--- a/pkgs/development/python-modules/reportlab/default.nix
+++ b/pkgs/development/python-modules/reportlab/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, chardet
 , fetchPypi
 , freetype
 , pillow
@@ -13,15 +14,15 @@ let
   ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
 in buildPythonPackage rec {
   pname = "reportlab";
-  version = "4.0.7";
-  format = "pyproject";
+  version = "4.1.0";
+  pyproject = true;
 
   # See https://bitbucket.org/pypy/compatibility/wiki/reportlab%20toolkit
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lnx38A79kYzCMc+LbY9OR33Jc7XBZVfjvRjfrrWnAjQ=";
+    hash = "sha256-Opn69BJpEVnAaLP/AcFTB84v0s9rhgGZQ0h04AIECoQ=";
   };
 
   postPatch = ''
@@ -44,6 +45,7 @@ in buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    chardet
     pillow
   ];
 
@@ -61,7 +63,7 @@ in buildPythonPackage rec {
 
   meta = with lib; {
     description = "An Open Source Python library for generating PDFs and graphics";
-    homepage = "http://www.reportlab.com/";
+    homepage = "https://www.reportlab.com/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/reptor/default.nix b/pkgs/development/python-modules/reptor/default.nix
index db85c6b3edcb3..9da827f9253b1 100644
--- a/pkgs/development/python-modules/reptor/default.nix
+++ b/pkgs/development/python-modules/reptor/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "reptor";
-  version = "0.12";
+  version = "0.13";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "Syslifters";
     repo = "reptor";
     rev = "refs/tags/${version}";
-    hash = "sha256-8XjEWs+LKKc7ztNchNVmW+YGdYpmi5ee4eOoXIUBoM8=";
+    hash = "sha256-7jFS3GCaPeGBBxB++XTtIYh+m0uXTm5NHuLeIen0KYc=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/python-modules/rns/default.nix b/pkgs/development/python-modules/rns/default.nix
index 6c2473f971c1c..0df16e875cf18 100644
--- a/pkgs/development/python-modules/rns/default.nix
+++ b/pkgs/development/python-modules/rns/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "rns";
-  version = "0.7.2";
+  version = "0.7.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "Reticulum";
     rev = "refs/tags/${version}";
-    hash = "sha256-7j82M2T3bPypcXa3SsAflrN5T+d+JJlg3voYu8ALmXE=";
+    hash = "sha256-QcYjqqeXBKx+Ef00Bw1OJMWDMdQgp/fqh3r5yhsa0Kg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix
index 184f27c292ea4..2cc6bb9d79505 100644
--- a/pkgs/development/python-modules/s3fs/default.nix
+++ b/pkgs/development/python-modules/s3fs/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2023.12.2";
+  version = "2024.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tewHBiSBu7RcsGGzGYTHGI0QbiksJwMwOeAk5LpXQNw=";
+    hash = "sha256-+AZPUirQiLVrBDBHyCVzSEfAJp3xnyYTyVbUwg3hW2I=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/safety-schemas/default.nix b/pkgs/development/python-modules/safety-schemas/default.nix
new file mode 100644
index 0000000000000..0f9724e95f65e
--- /dev/null
+++ b/pkgs/development/python-modules/safety-schemas/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, hatchling
+, pythonRelaxDepsHook
+, dparse
+, packaging
+, pydantic
+, ruamel-yaml
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "safety-schemas";
+  version = "0.0.2";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "safety_schemas";
+    inherit version;
+    hash = "sha256-fRsEDsBkgPBc/2tF6nqT4JyJQt+GT7DQHd62fDI8+ow=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "dparse"
+  ];
+
+  propagatedBuildInputs = [
+    dparse
+    packaging
+    pydantic
+    ruamel-yaml
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "safety_schemas" ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  meta = {
+    description = "Schemas for Safety CLI";
+    homepage = "https://pypi.org/project/safety-schemas/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/safety/default.nix b/pkgs/development/python-modules/safety/default.nix
index bb367629b5a34..dee37f85eeb4e 100644
--- a/pkgs/development/python-modules/safety/default.nix
+++ b/pkgs/development/python-modules/safety/default.nix
@@ -5,33 +5,46 @@
 , pythonRelaxDepsHook
 , setuptools
 , click
+, urllib3
 , requests
 , packaging
 , dparse
 , ruamel-yaml
+, jinja2
+, marshmallow
+, authlib
+, jwt
+, rich
+, typer
+, pydantic
+, safety-schemas
+, typing-extensions
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "safety";
-  version = "2.3.5";
+  version = "3.0.1";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-pgwR+JUvQSy7Fl1wyx9nOjtDorqak84R+X5qTeg0qjo=";
+    hash = "sha256-HyAA8DZS86C/xn+P0emLxXI8y3bhXLG91oVFw9gD3wE=";
   };
 
   postPatch = ''
     substituteInPlace safety/safety.py \
-      --replace "telemetry=True" "telemetry=False"
+      --replace-fail "telemetry=True" "telemetry=False"
     substituteInPlace safety/util.py \
-      --replace "telemetry=True" "telemetry=False"
+      --replace-fail "telemetry = True" "telemetry = False"
     substituteInPlace safety/cli.py \
-      --replace "telemetry', default=True" "telemetry', default=False"
+      --replace-fail "disable-optional-telemetry', default=False" \
+                     "disable-optional-telemetry', default=True"
+    substituteInPlace safety/scan/finder/handlers.py \
+      --replace-fail "telemetry=True" "telemetry=False"
   '';
 
   nativeBuildInputs = [
@@ -41,15 +54,28 @@ buildPythonPackage rec {
 
   pythonRelaxDeps = [
     "packaging"
+    "dparse"
+    "authlib"
+    "pydantic"
   ];
 
   propagatedBuildInputs = [
     setuptools
     click
+    urllib3
     requests
     packaging
     dparse
     ruamel-yaml
+    jinja2
+    marshmallow
+    authlib
+    jwt
+    rich
+    typer
+    pydantic
+    safety-schemas
+    typing-extensions
   ];
 
   nativeCheckInputs = [
@@ -61,9 +87,8 @@ buildPythonPackage rec {
     "test_announcements_if_is_not_tty"
     "test_check_live"
     "test_check_live_cached"
-    "test_check_vulnerabilities"
-    "test_license"
-    "test_chained_review"
+    "test_get_packages_licenses_without_api_key"
+    "test_validate_with_policy_file_using_invalid_keyword"
   ];
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index 1fc9889da7a65..1d85fb9bed9f6 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.210.0";
+  version = "2.212.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "sagemaker-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-LRBN8jChycHZKKO2SeYHbYwBKGE6qh9qUdGdvmMXdSQ=";
+    hash = "sha256-JZX/k8AJSQrCrPAsDfEc78mAouBWFQlmRG0ZA1yBGJY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/service-identity/default.nix b/pkgs/development/python-modules/service-identity/default.nix
index 53fa54a5aff09..9f708245cd443 100644
--- a/pkgs/development/python-modules/service-identity/default.nix
+++ b/pkgs/development/python-modules/service-identity/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "service-identity";
-  version = "23.1.0";
+  version = "24.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "pyca";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-PGDtsDgRwh7GuuM4OuExiy8L4i3Foo+OD0wMrndPkvo=";
+    hash = "sha256-ibi9hls/VnVePv4fF2CyxI22P1RX6QpCwyeENWVPkx4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/smartypants/default.nix b/pkgs/development/python-modules/smartypants/default.nix
index 5094287fcfafc..d2ca5f2973222 100644
--- a/pkgs/development/python-modules/smartypants/default.nix
+++ b/pkgs/development/python-modules/smartypants/default.nix
@@ -1,6 +1,5 @@
 { lib
 , buildPythonPackage
-, python
 , fetchFromGitHub
 , fetchpatch2
 , isPyPy
@@ -10,9 +9,10 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage (rec {
+buildPythonPackage rec {
   version = "2.0.1";
   pname = "smartypants";
+  pyproject = true;
 
   disabled = isPyPy;
 
@@ -23,6 +23,19 @@ buildPythonPackage (rec {
     sha256 = "00p1gnb9pzb3svdq3c5b9b332gsp50wrqqa39gj00m133zadanjp";
   };
 
+  patches = [
+    (fetchpatch2 {
+      # https://github.com/leohemsted/smartypants.py/pull/21
+      name = "smartypants-3.12-compat.patch";
+      url = "https://github.com/leohemsted/smartypants.py/commit/ea46bf36343044a7a61ba3acce4a7f188d986ec5.patch";
+      hash = "sha256-9lsiiZKFFKHLy7j3y9ff4gt01szY+2AHpWPAKQgKwZg=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     docutils
     pygments
@@ -40,23 +53,3 @@ buildPythonPackage (rec {
     maintainers = with maintainers; [ dotlambda ];
   };
 }
-  # FIXME: just avoiding large rebuild, we'll revert this commit
-  // (if lib.versionOlder python.version "3.12" then {
-    format = "setuptools";
-  } else {
-    pyproject = true;
-
-    patches = [
-      (fetchpatch2 {
-        # https://github.com/leohemsted/smartypants.py/pull/21
-        name = "smartypants-3.12-compat.patch";
-        url = "https://github.com/leohemsted/smartypants.py/commit/ea46bf36343044a7a61ba3acce4a7f188d986ec5.patch";
-        hash = "sha256-9lsiiZKFFKHLy7j3y9ff4gt01szY+2AHpWPAKQgKwZg=";
-      })
-    ];
-
-    nativeBuildInputs = [
-      setuptools
-    ];
-  })
-)
diff --git a/pkgs/development/python-modules/smmap/default.nix b/pkgs/development/python-modules/smmap/default.nix
index 70b538e43fa04..dd58978ced49a 100644
--- a/pkgs/development/python-modules/smmap/default.nix
+++ b/pkgs/development/python-modules/smmap/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , setuptools
 , nosexcover
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -19,6 +20,8 @@ buildPythonPackage rec {
     setuptools
   ];
 
+  doCheck = pythonOlder "3.12";
+
   nativeCheckInputs = [
     nosexcover
   ];
diff --git a/pkgs/development/python-modules/snitun/default.nix b/pkgs/development/python-modules/snitun/default.nix
index 9701824a4df2b..b0fe11d9f9bb2 100644
--- a/pkgs/development/python-modules/snitun/default.nix
+++ b/pkgs/development/python-modules/snitun/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, setuptools
 , async-timeout
 , attrs
 , buildPythonPackage
@@ -14,17 +15,21 @@
 buildPythonPackage rec {
   pname = "snitun";
   version = "0.36.2";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "NabuCasa";
-    repo = pname;
+    repo = "snitun";
     rev = "refs/tags/${version}";
     hash = "sha256-ViNsmTq1iLxNujA71b9JZB5AZ79ZbiqdTyDeBGd4gUA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     async-timeout
     attrs
@@ -36,19 +41,30 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # broke after aiohttp 3.8.5 upgrade
-    "test_client_stop_no_wait"
-  ] ++ lib.optionals stdenv.isDarwin [
+  disabledTests = lib.optionals stdenv.isDarwin [
     "test_multiplexer_data_channel_abort_full" # https://github.com/NabuCasa/snitun/issues/61
     # port binding conflicts
     "test_snitun_single_runner_timeout"
     "test_snitun_single_runner_throttling"
     # ConnectionResetError: [Errno 54] Connection reset by peer
     "test_peer_listener_timeout"
-  ] ++ lib.optionals (pythonAtLeast "3.11") [
-    # TypeError: Passing coroutines is forbidden, use tasks explicitly.
-    "test_snitun_runner_updown"
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    # blocking
+    "test_flow_client_peer"
+    "test_close_client_peer"
+    "test_init_connector"
+    "test_flow_connector"
+    "test_close_connector_remote"
+    "test_init_connector_whitelist"
+    "test_init_multiplexer_server"
+    "test_init_multiplexer_client"
+    "test_init_multiplexer_server_throttling"
+    "test_init_multiplexer_client_throttling"
+    "test_multiplexer_ping"
+    "test_multiplexer_ping_error"
+    "test_multiplexer_init_channel_full"
+    "test_multiplexer_close_channel_full"
+    "test_init_dual_peer_with_multiplexer"
   ];
 
   pythonImportsCheck = [ "snitun" ];
diff --git a/pkgs/development/python-modules/solax/default.nix b/pkgs/development/python-modules/solax/default.nix
index ca835923901c9..ffba0140becdb 100644
--- a/pkgs/development/python-modules/solax/default.nix
+++ b/pkgs/development/python-modules/solax/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "solax";
-  version = "0.3.3";
+  version = "3.0.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+e0z65qMjj1vQ3BR6kmLs+S5CF5chSaQ3mHQPIo++bQ=";
+    hash = "sha256-PQ7qJCNfXGNF2RK6pHwf0U1DXgv2j2uQ64Nv/qh8f8s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix b/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix
index f99d32ec7e21a..6e0b7802d03a8 100644
--- a/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-plantuml";
-  version = "0.28";
+  version = "0.29";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zpNirT1LvMTDDf38MIqsrSwHs0RjUxZoGnESabjgC+o=";
+    hash = "sha256-l6Tyomr5HbiHcMz4o7LgMwW82n7EGn+Wn8jLJ7hKPEQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/pkgs/development/python-modules/sqlalchemy-utils/default.nix
index 9fd3c75adcc6a..1ace2eab95900 100644
--- a/pkgs/development/python-modules/sqlalchemy-utils/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-utils/default.nix
@@ -83,7 +83,6 @@ buildPythonPackage rec {
     docutils
     flexmock
     psycopg2
-    psycopg2cffi
     pg8000
     pytz
     python-dateutil
@@ -91,6 +90,10 @@ buildPythonPackage rec {
     pyodbc
   ]
   ++ lib.flatten (builtins.attrValues passthru.optional-dependencies)
+  ++ lib.optionals (pythonOlder "3.12") [
+    # requires distutils, which were removed in 3.12
+    psycopg2cffi
+  ]
   ++ lib.optionals (pythonOlder "3.9") [
     backports-zoneinfo
   ];
diff --git a/pkgs/development/python-modules/statsd/default.nix b/pkgs/development/python-modules/statsd/default.nix
index a9dd1b3ff2524..7ff02acd0bdcb 100644
--- a/pkgs/development/python-modules/statsd/default.nix
+++ b/pkgs/development/python-modules/statsd/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools
-, nose
+, pynose
 , mock
 }:
 
@@ -20,13 +20,10 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  nativeCheckInputs = [ nose mock ];
+  nativeCheckInputs = [ pynose mock ];
 
-  patchPhase = ''
-    # Failing test: ERROR: statsd.tests.test_ipv6_resolution_udp
-    sed -i 's/test_ipv6_resolution_udp/noop/' statsd/tests.py
-    # well this is a noop, but so it was before
-    sed -i 's/assert_called_once()/called/' statsd/tests.py
+  checkPhase = ''
+    nosetests -sv
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/streamlit/default.nix b/pkgs/development/python-modules/streamlit/default.nix
index 3e1027913bd3f..a0f6111c6eab8 100644
--- a/pkgs/development/python-modules/streamlit/default.nix
+++ b/pkgs/development/python-modules/streamlit/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "streamlit";
-  version = "1.31.1";
+  version = "1.32.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-38Q8qFtLTDHQl8J7mDuMzJYCIq2QeGKysvtN3wTFD9w=";
+    hash = "sha256-Zb8i4ZDelzuRDAsSezPYDTHFJ17Ykcb950DeRuXgUyM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/systembridgeconnector/default.nix b/pkgs/development/python-modules/systembridgeconnector/default.nix
index bb3a714d68a91..111517c6ca5e6 100644
--- a/pkgs/development/python-modules/systembridgeconnector/default.nix
+++ b/pkgs/development/python-modules/systembridgeconnector/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "systembridgeconnector";
-  version = "4.0.2";
+  version = "4.0.3";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "timmo001";
     repo = "system-bridge-connector";
     rev = "refs/tags/${version}";
-    hash = "sha256-CbLm2CHofgtaTHuGDexVEKmy8+ovvvGJOO3iiAimLTg=";
+    hash = "sha256-AjdWDEotz5AUo+auxBqXu7EMv/Kt97DZ6vOrFunZ2Fw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/systembridgemodels/default.nix b/pkgs/development/python-modules/systembridgemodels/default.nix
index 16a16b3a8da4a..37bbef1c3b710 100644
--- a/pkgs/development/python-modules/systembridgemodels/default.nix
+++ b/pkgs/development/python-modules/systembridgemodels/default.nix
@@ -5,11 +5,12 @@
 , fetchpatch2
 , setuptools
 , incremental
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "systembridgemodels";
-  version = "4.0.0";
+  version = "4.0.1";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -18,13 +19,13 @@ buildPythonPackage rec {
     owner = "timmo001";
     repo = "system-bridge-models";
     rev = "refs/tags/${version}";
-    hash = "sha256-4nbTsVRqtoX4UhTrQS4HwoLtx0RO1VA8UewSAWOSsik=";
+    hash = "sha256-9k85tqJO/YtkYncfNQBelmDkd3SYtf6SHURfumvqUo0=";
   };
 
   patches = [
     (fetchpatch2 {
-      url = "https://github.com/timmo001/system-bridge-models/commit/7cd506760fd47c0f3717b6fcfe127b673e3198f8.patch";
-      hash = "sha256-i+GCcoyX07ii9Kj46dtAlT85jUKfF0KHEH9++UTjiik=";
+      url = "https://github.com/timmo001/system-bridge-models/commit/82fcee37cb302bc77384165b2ce10f2234c2a14a.patch";
+      hash = "sha256-tZSaWVUPCJmuzkae9LBTdyZ3UINMvrSMbdS5AvbId8Q=";
     })
   ];
 
@@ -38,8 +39,9 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "systembridgemodels" ];
 
-  # upstream has no tests
-  doCheck = false;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = {
     changelog = "https://github.com/timmo001/system-bridge-models/releases/tag/${version}";
diff --git a/pkgs/development/python-modules/textual-universal-directorytree/default.nix b/pkgs/development/python-modules/textual-universal-directorytree/default.nix
index b36ce6ed84e9c..0e9e3e6d002c3 100644
--- a/pkgs/development/python-modules/textual-universal-directorytree/default.nix
+++ b/pkgs/development/python-modules/textual-universal-directorytree/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , hatchling
 , textual
 , universal-pathlib
@@ -16,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "textual-universal-directorytree";
-  version = "1.0.2";
+  version = "1.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,18 +24,9 @@ buildPythonPackage rec {
     owner = "juftin";
     repo = "textual-universal-directorytree";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FL2bwPGqBmDn33Rhj7+VEpuqB4znEAw+GGAODTs25oo=";
+    hash = "sha256-ncQ3IRaZaCv1rMUWT9dkUKo6OAEC5pziMCM7adIBGWo=";
   };
 
-  patches = [
-    # universal-pathlib upgrade, https://github.com/juftin/textual-universal-directorytree/pull/2
-    (fetchpatch {
-      name = "universal-pathlib-upgrade.patch";
-      url = "https://github.com/juftin/textual-universal-directorytree/commit/e445aff21ddf756e3f180c8308a75c41487667c3.patch";
-      hash = "sha256-Fftx8rrLPb6lQ+HBdB5Ai55LHMWEO6XftmFfZXbXIyk=";
-    })
-  ];
-
   nativeBuildInputs = [
     hatchling
   ];
diff --git a/pkgs/development/python-modules/tinysegmenter/default.nix b/pkgs/development/python-modules/tinysegmenter/default.nix
new file mode 100644
index 0000000000000..2b56544061b70
--- /dev/null
+++ b/pkgs/development/python-modules/tinysegmenter/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+, unittestCheckHook
+
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "tinysegmenter";
+  version = "0.4";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-ZEWL26VLp0gsAseF+WDPPWz2FZSk2rPWTDJUOQlPwbc=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  unittestFlagsArray = [ "-s" "tests" ];
+
+  pythonImportsCheck = [ "tinysegmenter" ];
+
+  meta = with lib; {
+    description = "Very compact Japanese tokenizer";
+    homepage = "https://tinysegmenter.tuxfamily.org";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index c3f43507af336..b828f4e1ee808 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "4.1.7";
+  version = "4.1.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bO7fIrk+ScSvz1iwLMdPN+fK9T5VhIEitxdZRnLBSxA=";
+    hash = "sha256-oG0UejqUe+8OcgSZF/Ln/QC70GifiHHkkI5EelPF+0A=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index b730c0951194c..3ca58dba99bb3 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -44,6 +44,9 @@ buildPythonPackage rec {
     requests
   ];
 
+  # aiounittest is not supported on 3.12
+  doCheck = pythonOlder "3.12";
+
   nativeCheckInputs = [
     aiounittest
     cryptography
diff --git a/pkgs/development/python-modules/types-colorama/default.nix b/pkgs/development/python-modules/types-colorama/default.nix
index 6651855d95699..5d97e04b40b56 100644
--- a/pkgs/development/python-modules/types-colorama/default.nix
+++ b/pkgs/development/python-modules/types-colorama/default.nix
@@ -1,18 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "types-colorama";
-  version = "0.4.15.20240205";
-  format = "setuptools";
+  version = "0.4.15.20240310";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-euT1jUB9OH9PmLJNgeG3ZX7HVOodxGGa5b0n8MNnY34=";
+    hash = "sha256-fr/clzbTk8+7G/5g1Q4kbnAggxC2WaZS8eV35YDWvs8=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # Module has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/types-decorator/default.nix b/pkgs/development/python-modules/types-decorator/default.nix
index d118f349ebd05..3cc020d8a9f2a 100644
--- a/pkgs/development/python-modules/types-decorator/default.nix
+++ b/pkgs/development/python-modules/types-decorator/default.nix
@@ -1,18 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "types-decorator";
-  version = "5.1.8.20240106";
-  format = "setuptools";
+  version = "5.1.8.20240310";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Mv+SszYVBg0judN2ASS9s1BsSqjZ61CWPPGjwguey78=";
+    hash = "sha256-UuMWsDeDiGqKKr3CKPcHFoC6ZYlFRc0ghevjz4hoSg4=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # Modules doesn't have tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/types-docutils/default.nix b/pkgs/development/python-modules/types-docutils/default.nix
index d353fb6a706ad..22c4dc6ce35f9 100644
--- a/pkgs/development/python-modules/types-docutils/default.nix
+++ b/pkgs/development/python-modules/types-docutils/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-docutils";
-  version = "0.20.0.20240304";
+  version = "0.20.0.20240309";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-w1rjXKg1pa7q11jfQRzUbPt+fxnysiPEE9rn4GnVsL4=";
+    hash = "sha256-zVFHAoE7pBPJATT+2tlBayy46viAFot2mnB9b80VnwU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-pillow/default.nix b/pkgs/development/python-modules/types-pillow/default.nix
index a622e86996cdd..360eb5c83bed7 100644
--- a/pkgs/development/python-modules/types-pillow/default.nix
+++ b/pkgs/development/python-modules/types-pillow/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "types-pillow";
-  version = "10.2.0.20240206";
+  version = "10.2.0.20240213";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "types-Pillow";
-    hash = "sha256-8N5RB/+DYv/bvVPsiWICrJBearIq54S0a82tFg6hQ7k=";
+    hash = "sha256-SAC2G/fqva4vGxet4NCAcJ7TPp8moukA5HDotW6+I4c=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/types-psutil/default.nix b/pkgs/development/python-modules/types-psutil/default.nix
index fcfd7f5d0a658..0d51f30d12aa5 100644
--- a/pkgs/development/python-modules/types-psutil/default.nix
+++ b/pkgs/development/python-modules/types-psutil/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-psutil";
-  version = "5.9.5.17";
+  version = "5.9.5.20240205";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-99h2mBLXKktRPX7J61WA/i9gE/wnA5SmA8tlNIEfPk0=";
+    hash = "sha256-Ud82o2GqWXv0g9zFtY8qt6qHRSo20tqXyQmU1qge90M=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index 520927662c2b6..715b1f5e19605 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.31.0.20240218";
+  version = "2.31.0.20240310";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8XIduoOFlY9QSlOGJAuS3kc04EegikB1HBZU0awzScU=";
+    hash = "sha256-iiAXHgiKD3iTqsSQpffzfp9T4U1rdixdVWI76gIu4G8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix
index cff06ebc62aa7..7b9da3aed9d77 100644
--- a/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/pkgs/development/python-modules/types-setuptools/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "69.1.0.20240215";
+  version = "69.1.0.20240308";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Kk/dOjymQ8VzWeWE2y3Stdt0gaguzCHqNovEMXv8BQU=";
+    hash = "sha256-rU9eUSUe7cvkqo2whEr2ZUBUqvycD20/H6APcHPBd2c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/unidecode/default.nix b/pkgs/development/python-modules/unidecode/default.nix
index 5fcf87e9ced97..3e39c28eabd42 100644
--- a/pkgs/development/python-modules/unidecode/default.nix
+++ b/pkgs/development/python-modules/unidecode/default.nix
@@ -3,22 +3,27 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "unidecode";
-  version = "1.3.6";
-  format = "setuptools";
+  version = "1.3.8";
+  pyproject = true;
 
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "avian2";
-    repo = pname;
-    rev = "${pname}-${version}";
-    hash = "sha256-75E2OlrGIxvwR9MeZEB4bDLdFd1SdprCVcBIJCPS3hM=";
+    repo = "unidecode";
+    rev = "refs/tags/${pname}-${version}";
+    hash = "sha256-OoJSY+dNNISyVwKuRboMH7Je8nYFKxus2c4v3VsmyRE=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/universal-pathlib/default.nix b/pkgs/development/python-modules/universal-pathlib/default.nix
index 23667d02c2835..195d6cbfe2a86 100644
--- a/pkgs/development/python-modules/universal-pathlib/default.nix
+++ b/pkgs/development/python-modules/universal-pathlib/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "universal-pathlib";
-  version = "0.1.4";
+  version = "0.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "universal_pathlib";
     inherit version;
-    hash = "sha256-guXYbRaifg6hrcfYisvLqdAtWkVIgWMXT5bZrCidsuQ=";
+    hash = "sha256-a8IVVIeSrV2zVTcIscGbr9ni+hZn3JJe1ATJXlKuLxM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/uvcclient/default.nix b/pkgs/development/python-modules/uvcclient/default.nix
index 59e6f93aff8d1..8cd0a28b533db 100644
--- a/pkgs/development/python-modules/uvcclient/default.nix
+++ b/pkgs/development/python-modules/uvcclient/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, nose, mock }:
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, pynose, mock }:
 
 buildPythonPackage rec {
   pname = "uvcclient";
@@ -12,8 +12,13 @@ buildPythonPackage rec {
     sha256 = "0k8aswrk1n08w6pi6dg0zdzsmk23cafihkrss9ywg3i85w7q43x2";
   };
 
+  postPatch = ''
+    substituteInPlace tests/test_camera.py \
+      --replace-fail "assertEquals" "assertEqual"
+  '';
+
   nativeCheckInputs = [
-    nose
+    pynose
     mock
   ];
 
diff --git a/pkgs/development/python-modules/vector/default.nix b/pkgs/development/python-modules/vector/default.nix
index 11e20dfc1d56a..44678dcd884a4 100644
--- a/pkgs/development/python-modules/vector/default.nix
+++ b/pkgs/development/python-modules/vector/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "vector";
-  version = "1.2.0";
+  version = "1.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-I7esW9qyc7T5MGFn/YZmajd3pSgE0CgqVW2YkTDLV6Q=";
+    hash = "sha256-nQ7tzYVOmcF0oklmhxbgH4w5cJ+cwuJi1ihich7D7yc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/whitenoise/default.nix b/pkgs/development/python-modules/whitenoise/default.nix
index 13168c3757ebe..04f9528c8d744 100644
--- a/pkgs/development/python-modules/whitenoise/default.nix
+++ b/pkgs/development/python-modules/whitenoise/default.nix
@@ -11,10 +11,10 @@
 
 buildPythonPackage rec {
   pname = "whitenoise";
-  version = "6.5.0";
-  format = "pyproject";
+  version = "6.6.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   __darwinAllowLocalNetworking = true;
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "evansd";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-g1D0tjGsAP3y1fWvODWwNvxnTSZJuTpyZ0Otk83Oq9E=";
+    hash = "sha256-Z59GjrOL+BPHqBCirg9T4qBOrjiuBng6Q5lTuLQx9ac=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ws4py/default.nix b/pkgs/development/python-modules/ws4py/default.nix
index 6a1cde0a1a909..59dab76820c93 100644
--- a/pkgs/development/python-modules/ws4py/default.nix
+++ b/pkgs/development/python-modules/ws4py/default.nix
@@ -1,27 +1,53 @@
-{ lib, buildPythonPackage, fetchPypi, pytest, mock, git
-, cherrypy, gevent, tornado }:
+{ lib
+, buildPythonPackage
+, cherrypy
+, fetchPypi
+, gevent
+, git
+, mock
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, tornado
+}:
 
 buildPythonPackage rec {
   pname = "ws4py";
   version = "0.5.1";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "29d073d7f2e006373e6a848b1d00951a1107eb81f3742952be905429dc5a5483";
+    hash = "sha256-KdBz1/LgBjc+aoSLHQCVGhEH64HzdClSvpBUKdxaVIM=";
   };
 
-  nativeCheckInputs = [ pytest mock git ];
-  propagatedBuildInputs = [ cherrypy gevent tornado ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    cherrypy
+    gevent
+    tornado
+  ];
+
+  nativeCheckInputs = [
+    git
+    mock
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest
-  '';
+  pythonImportsCheck = [
+    "ws4py"
+  ];
 
   meta = with lib; {
-    homepage = "https://ws4py.readthedocs.org";
     description = "A WebSocket package for Python";
-    maintainers = [];
+    homepage = "https://ws4py.readthedocs.org";
+    changelog = "https://github.com/Lawouach/WebSocket-for-Python/blob/${version}/CHANGELOG.md";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/xdxf2html/default.nix b/pkgs/development/python-modules/xdxf2html/default.nix
new file mode 100644
index 0000000000000..496627c3724f0
--- /dev/null
+++ b/pkgs/development/python-modules/xdxf2html/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "xdxf2html";
+  version = "0.1.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-u2UaEALzD583+hbgwTItQOdGQ6GIhdVy79C2gfJwzlI=";
+  };
+
+  build-system = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [ "xdxf2html" ];
+
+  meta = with lib; {
+    description = "Python module for converting XDXF dictionary texts into HTML";
+    homepage = "https://github.com/Crissium/python-xdxf2html";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ vizid ];
+  };
+}
diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix
index 18de691f53983..8264a5b9fb173 100644
--- a/pkgs/development/python-modules/xiaomi-ble/default.nix
+++ b/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "xiaomi-ble";
-  version = "0.26.1";
+  version = "0.27.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "xiaomi-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ENs+n8YgOSQpN+UpYU6CI1McWPyh8hKKMUjPDUYRWjI=";
+    hash = "sha256-D1LqIdnusCs7vzVCPnbhXqRER/+uPKWoVsfeGe2M6b8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index 498be7f69303c..dc3e1adb1707f 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -24,14 +24,19 @@ buildPythonPackage rec {
     hash = "sha256-gajxXIR3lmHsW7258v4z20RilzGfm5KGVrXZwRm74Mk=";
   };
 
+  patches = [
+    ./pytest-asyncio-0.22-compat.patch
+  ];
+
   nativeBuildInputs = [
     setuptools
   ];
 
   propagatedBuildInputs = [
-    async-timeout
     cryptography
     ifaddr
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    async-timeout
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/xknx/pytest-asyncio-0.22-compat.patch b/pkgs/development/python-modules/xknx/pytest-asyncio-0.22-compat.patch
new file mode 100644
index 0000000000000..2688ceb1fdd62
--- /dev/null
+++ b/pkgs/development/python-modules/xknx/pytest-asyncio-0.22-compat.patch
@@ -0,0 +1,28 @@
+diff --git a/test/devices_tests/datetime_test.py b/test/devices_tests/datetime_test.py
+index af06abc6..2145fcc1 100644
+--- a/test/devices_tests/datetime_test.py
++++ b/test/devices_tests/datetime_test.py
+@@ -12,11 +12,6 @@ from xknx.telegram.apci import GroupValueRead, GroupValueResponse, GroupValueWri
+ class TestDateTime:
+     """Test class for DateTime object."""
+ 
+-    # pylint: disable=attribute-defined-outside-init
+-    def teardown_method(self):
+-        """Cancel broadcast_task."""
+-        self.datetime.__del__()
+-
+     #
+     # SET Time
+     #
+diff --git a/test/io_tests/secure_session_test.py b/test/io_tests/secure_session_test.py
+index cd2dc1d0..ca90e2d9 100644
+--- a/test/io_tests/secure_session_test.py
++++ b/test/io_tests/secure_session_test.py
+@@ -65,7 +65,6 @@ class TestSecureSession:
+ 
+     def teardown_method(self):
+         """Cancel keepalive task."""
+-        self.session.stop()
+         self.patch_serial_number.stop()
+         self.patch_message_tag.stop()
+ 
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index 304614488640b..4f515f9b7bbbc 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -50,6 +50,9 @@ buildPythonPackage rec {
     requests
   ];
 
+  # aiounittest is not supported on 3.12
+  doCheck = pythonOlder "3.12";
+
   nativeCheckInputs = [
     aioresponses
     aiounittest
diff --git a/pkgs/development/python-modules/youless-api/default.nix b/pkgs/development/python-modules/youless-api/default.nix
index 3fc465d9bad10..ff10359238b40 100644
--- a/pkgs/development/python-modules/youless-api/default.nix
+++ b/pkgs/development/python-modules/youless-api/default.nix
@@ -5,7 +5,7 @@
 , certifi
 , chardet
 , idna
-, nose
+, pynose
 , requests
 , urllib3
 }:
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    nose
+    pynose
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix
index 6f0d61b7c6429..41e8f3c4248a5 100644
--- a/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "1.5.4";
+  version = "1.6.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "sigma67";
     repo = "ytmusicapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-Bg2Ikxkaq+dJkX842GCdIevgxULYSfE7s61YviqUln8=";
+    hash = "sha256-DqTcdWVivE2R51qm3XQ7cDnD1a90AocmX9TG+M5reto=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 3a13beb7e7898..c51494b4428f1 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -309,6 +309,7 @@ let
   };
 
   packagesWithNativeBuildInputs = {
+    adbcpostgresql = [ pkgs.postgresql ];
     arrow = [ pkgs.pkg-config pkgs.arrow-cpp ];
     adimpro = [ pkgs.imagemagick ];
     animation = [ pkgs.which ];
@@ -316,11 +317,13 @@ let
     BayesSAE = [ pkgs.gsl ];
     BayesVarSel = [ pkgs.gsl ];
     BayesXsrc = with pkgs; [ readline.dev ncurses gsl ];
+    bioacoustics = [ pkgs.fftw.dev pkgs.cmake ];
     bigGP = [ pkgs.mpi ];
     bio3d = [ pkgs.zlib ];
     BiocCheck = [ pkgs.which ];
     Biostrings = [ pkgs.zlib ];
     CellBarcode = [ pkgs.zlib ];
+    cld3 = [ pkgs.protobuf ];
     bnpmr = [ pkgs.gsl ];
     cairoDevice = [ pkgs.gtk2.dev ];
     Cairo = with pkgs; [ libtiff libjpeg cairo.dev xorg.libXt.dev fontconfig.lib ];
@@ -338,6 +341,7 @@ let
     fftwtools = with pkgs; [ fftw.dev pkg-config ];
     Formula = [ pkgs.gmp ];
     gdtools = with pkgs; [ cairo.dev fontconfig.lib freetype.dev ];
+    GeneralizedWendland = [ pkgs.gsl ];
     ggiraph = with pkgs; [ pkgs.libpng.dev ];
     git2r = with pkgs; [ zlib.dev openssl.dev libssh2.dev libgit2 pkg-config ];
     GLAD = [ pkgs.gsl ];
@@ -346,10 +350,12 @@ let
     GPBayes = [ pkgs.gsl ];
     graphscan = [ pkgs.gsl ];
     gsl = [ pkgs.gsl ];
+    gslnls = [ pkgs.gsl ];
     gert = [ pkgs.libgit2 ];
     haven = with pkgs; [ zlib.dev ];
     h5vc = [ pkgs.zlib.dev ];
     highs = [ pkgs.which pkgs.cmake ];
+    rbedrock = [ pkgs.zlib.dev pkgs.which pkgs.cmake ];
     HiCseg = [ pkgs.gsl ];
     imager = [ pkgs.xorg.libX11.dev ];
     iBMQ = [ pkgs.gsl ];
@@ -359,6 +365,7 @@ let
     jqr = [ pkgs.jq.dev ];
     KFKSDS = [ pkgs.gsl ];
     kza = [ pkgs.fftw.dev ];
+    leidenAlg = [ pkgs.gmp.dev ];
     Libra = [ pkgs.gsl ];
     LOMAR = [ pkgs.gmp.dev ];
     lpsymphony = with pkgs; [ pkg-config gfortran gettext ];
@@ -380,6 +387,7 @@ let
     pbdMPI = [ pkgs.mpi ];
     pbdPROF = [ pkgs.mpi ];
     pbdZMQ = [ pkgs.pkg-config ] ++ lib.optionals stdenv.isDarwin [ pkgs.which ];
+    pcaL1 = [ pkgs.pkg-config pkgs.clp ];
     pdftools = [ pkgs.poppler.dev ];
     phytools = [ pkgs.which ];
     PKI = [ pkgs.openssl.dev ];
@@ -426,6 +434,7 @@ let
     httpuv = [ pkgs.zlib.dev ];
     clustermq = [ pkgs.zeromq ];
     SAVE = with pkgs; [ zlib bzip2 icu xz pcre ];
+    salso = [ pkgs.cargo ];
     sdcTable = with pkgs; [ gmp glpk ];
     seewave = with pkgs; [ fftw.dev libsndfile.dev ];
     seqinr = [ pkgs.zlib.dev ];
@@ -435,6 +444,7 @@ let
     strawr = with pkgs; [ curl.dev ];
     terra = with pkgs; [ gdal proj geos ];
     apcf = with pkgs; [ geos ];
+    SemiCompRisks = [ pkgs.gsl ];
     showtext = with pkgs; [ zlib libpng icu freetype.dev ];
     simplexreg = [ pkgs.gsl ];
     spate = [ pkgs.fftw.dev ];
@@ -446,6 +456,7 @@ let
     sysfonts = with pkgs; [ zlib libpng freetype.dev ];
     systemfonts = with pkgs; [ fontconfig.dev freetype.dev ];
     TAQMNGR = [ pkgs.zlib.dev ];
+    TDA = [ pkgs.gmp ];
     tesseract = with pkgs; [ tesseract leptonica ];
     tiff = [ pkgs.libtiff.dev ];
     tkrplot = with pkgs; [ xorg.libX11 tk.dev ];
@@ -501,6 +512,7 @@ let
     RDieHarder = [ pkgs.gsl ];
     QF = [ pkgs.gsl ];
     PICS = [ pkgs.gsl ];
+    RationalMatrix = [ pkgs.pkg-config pkgs.gmp.dev];
     RcppCWB = [ pkgs.pkg-config pkgs.pcre2 ];
     redux = [ pkgs.pkg-config ];
     rrd = [ pkgs.pkg-config ];
@@ -513,17 +525,23 @@ let
     textshaping = [ pkgs.pkg-config ];
     ragg = [ pkgs.pkg-config ];
     qqconf = [ pkgs.pkg-config ];
+    vapour = [ pkgs.pkg-config ];
   };
 
   packagesWithBuildInputs = {
     # sort -t '=' -k 2
     asciicast = with pkgs; [ xz.dev bzip2.dev zlib.dev icu.dev ];
+    island = [ pkgs.gsl.dev ];
     svKomodo = [ pkgs.which ];
+    ulid = [ pkgs.zlib.dev ];
     nat = [ pkgs.which ];
     nat_templatebrains = [ pkgs.which ];
     pbdZMQ = [ pkgs.zeromq ] ++ lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
     bigmemory = lib.optionals stdenv.isLinux [ pkgs.libuuid.dev ];
+    bayesWatch = [ pkgs.boost.dev ];
     clustermq = [  pkgs.pkg-config ];
+    coga = [ pkgs.gsl.dev ];
+    gpg = [ pkgs.gpgme ];
     webp = [ pkgs.libwebp ];
     RMark = [ pkgs.which ];
     RPushbullet = [ pkgs.which ];
@@ -587,6 +605,7 @@ let
     DiffBind = with pkgs; [ zlib.dev ];
     CNEr = with pkgs; [ zlib ];
     GMMAT = with pkgs; [ zlib.dev bzip2.dev ];
+    rmumps = with pkgs; [ zlib.dev ];
     HiCDCPlus = [ pkgs.zlib.dev ];
     PopGenome = [ pkgs.zlib.dev ];
     QuasR = [ pkgs.zlib.dev ];
@@ -641,6 +660,7 @@ let
     redux = [ pkgs.hiredis ];
     RmecabKo = [ pkgs.mecab ];
     PoissonBinomial = [ pkgs.fftw.dev ];
+    poisbinom = [ pkgs.fftw.dev ];
     PoissonMultinomial = [ pkgs.fftw.dev ];
     rrd = [ pkgs.rrdtool ];
     flowWorkspace = [ pkgs.zlib.dev ];
@@ -656,6 +676,7 @@ let
     ijtiff = [ pkgs.libtiff ];
     ragg = with pkgs; [ freetype.dev libpng.dev libtiff.dev zlib.dev libjpeg.dev bzip2.dev ];
     qqconf = [ pkgs.fftw.dev ];
+    vapour = with pkgs; [ proj.dev gdal ];
   };
 
   packagesRequiringX = [
@@ -834,6 +855,7 @@ let
     "svWidgets"
     "SYNCSA"
     "SyNet"
+    "switchboard"
     "tcltk2"
     "TestScorer"
     "TIMP"
@@ -866,10 +888,13 @@ let
     "R_filesets"
     "RKorAPClient"
     "R_rsp"
+    "salso"
     "scholar"
     "stepR"
     "styler"
+    "teal_code"
     "TreeTools"
+    "TreeSearch"
     "ACNE"
     "APAlyzer"
     "EstMix"
@@ -895,6 +920,7 @@ let
     "fixest"
     "paxtoolsr"
     "systemPipeShiny"
+    "matlab2r"
   ];
 
   packagesToSkipCheck = [
diff --git a/pkgs/development/tools/algolia-cli/default.nix b/pkgs/development/tools/algolia-cli/default.nix
index 86135d232bc0a..2e01b612bda49 100644
--- a/pkgs/development/tools/algolia-cli/default.nix
+++ b/pkgs/development/tools/algolia-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "algolia-cli";
-  version = "1.6.1";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "algolia";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-XcsVU/yV6c6jzuJdZvqs+kAu6XwR8ygVcJ6KEI04x9I=";
+    hash = "sha256-xRGWPJx4AVdUT9f7L2B5SHEOneuIlscFTHIk7XtPzS8=";
   };
 
   vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk=";
diff --git a/pkgs/development/tools/analysis/binlore/default.nix b/pkgs/development/tools/analysis/binlore/default.nix
index 54ea108b7d463..e081f43a768fa 100644
--- a/pkgs/development/tools/analysis/binlore/default.nix
+++ b/pkgs/development/tools/analysis/binlore/default.nix
@@ -1,8 +1,7 @@
 { lib
 , fetchFromGitHub
 , runCommand
-, yallback
-, yara
+, pkgsBuildBuild
 }:
 
 /* TODO/CAUTION:
@@ -59,7 +58,7 @@ let
     callback = lore: drv: overrides: ''
       if [[ -d "${drv}/bin" ]] || [[ -d "${drv}/lib" ]] || [[ -d "${drv}/libexec" ]]; then
         echo generating binlore for $drv by running:
-        echo "${yara}/bin/yara --scan-list --recursive ${lore.rules} <(printf '%s\n' ${drv}/{bin,lib,libexec}) | ${yallback}/bin/yallback ${lore.yallback}"
+        echo "${pkgsBuildBuild.yara}/bin/yara --scan-list --recursive ${lore.rules} <(printf '%s\n' ${drv}/{bin,lib,libexec}) | ${pkgsBuildBuild.yallback}/bin/yallback ${lore.yallback}"
       else
         echo "failed to generate binlore for $drv (none of ${drv}/{bin,lib,libexec} exist)"
       fi
@@ -84,7 +83,7 @@ let
         ((i--)) || true # don't break build
       done # || true # don't break build
       if [[ -d "${drv}/bin" ]] || [[ -d "${drv}/lib" ]] || [[ -d "${drv}/libexec" ]]; then
-        ${yara}/bin/yara --scan-list --recursive ${lore.rules} <(printf '%s\n' ${drv}/{bin,lib,libexec}) | ${yallback}/bin/yallback ${lore.yallback} "$filter"
+        ${pkgsBuildBuild.yara}/bin/yara --scan-list --recursive ${lore.rules} <(printf '%s\n' ${drv}/{bin,lib,libexec}) | ${pkgsBuildBuild.yallback}/bin/yallback ${lore.yallback} "$filter"
       fi
     '';
   };
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 09bb334659ce2..81ddda28e9fde 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.2.32";
+  version = "3.2.33";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-brebisU7YhbLHEojJUu5Ei0F6hMHg1lsYjppBAXewYQ=";
+    hash = "sha256-OI5c1L4wWM9C+wKJCY+VIoIyxoNVAdlZoeu3zbWSNPY=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/analysis/rizin/0001-fix-compilation-with-clang.patch b/pkgs/development/tools/analysis/rizin/0001-fix-compilation-with-clang.patch
new file mode 100644
index 0000000000000..adb1eebb3e17d
--- /dev/null
+++ b/pkgs/development/tools/analysis/rizin/0001-fix-compilation-with-clang.patch
@@ -0,0 +1,30 @@
+From 93acbc13cf271faf6025e96991eb3ab65062f90f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Sat, 9 Mar 2024 09:35:24 +0100
+Subject: [PATCH] fix compilation with clang
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ librz/analysis/p/analysis_xtensa.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/librz/analysis/p/analysis_xtensa.c b/librz/analysis/p/analysis_xtensa.c
+index 4a32d2037c..f7331ae376 100644
+--- a/librz/analysis/p/analysis_xtensa.c
++++ b/librz/analysis/p/analysis_xtensa.c
+@@ -21,7 +21,8 @@ typedef struct {
+ static bool xtensa_init(void **user) {
+ 	XtensaContext *ctx = RZ_NEW0(XtensaContext);
+ 	rz_return_val_if_fail(ctx, false);
+-	memcpy(ctx->length_table, (int[16]){ 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 8, 8 }, sizeof(ctx->length_table));
++	int temp_length_table[16] = { 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 8, 8 };
++	memcpy(ctx->length_table, temp_length_table, sizeof(ctx->length_table));
+ 	ctx->insn_buffer = NULL;
+ 	ctx->slot_buffer = NULL;
+ 	*user = ctx;
+-- 
+2.43.1
+
diff --git a/pkgs/development/tools/analysis/rizin/cutter.nix b/pkgs/development/tools/analysis/rizin/cutter.nix
index 480f20f04f49d..44954c62a3c2c 100644
--- a/pkgs/development/tools/analysis/rizin/cutter.nix
+++ b/pkgs/development/tools/analysis/rizin/cutter.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
 , stdenv
 # for passthru.plugins
 , pkgs
@@ -23,25 +22,16 @@
 
 let cutter = stdenv.mkDerivation rec {
   pname = "cutter";
-  version = "2.3.2";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
     owner = "rizinorg";
     repo = "cutter";
     rev = "v${version}";
-    hash = "sha256-88yIqFYIv7o6aC2YSJwWJ46fZJBnOmifv+SirsfS4tw=";
+    hash = "sha256-TSEi1mXVvvaGo4koo3EnN/veXPUHF747g+gifnl4IDQ=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # tracking: https://github.com/rizinorg/cutter/pull/3268
-    (fetchpatch {
-      name = "cutter-simplify-python-binding-include-handling.patch";
-      url = "https://github.com/rizinorg/cutter/compare/7256fbb00e92ab12a24d14a92364db482ed295cb..ca5949d9d7c907185cf3d062d9fa71c34c5960d4.diff";
-      hash = "sha256-bqV2FTA8lMNpHBDXdenNx+1cLYa7MH47XKo1YatmLV4=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     pkg-config
diff --git a/pkgs/development/tools/analysis/rizin/default.nix b/pkgs/development/tools/analysis/rizin/default.nix
index 9f8524e68995f..e298b16904053 100644
--- a/pkgs/development/tools/analysis/rizin/default.nix
+++ b/pkgs/development/tools/analysis/rizin/default.nix
@@ -1,13 +1,13 @@
 { lib
 , pkgs # for passthru.plugins
 , stdenv
-, fetchpatch
 , fetchurl
 , pkg-config
 , libusb-compat-0_1
 , readline
 , libewf
 , perl
+, pcre2
 , zlib
 , openssl
 , file
@@ -22,15 +22,16 @@
 , ninja
 , capstone
 , tree-sitter
+, zstd
 }:
 
 let rizin = stdenv.mkDerivation rec {
   pname = "rizin";
-  version = "0.6.3";
+  version = "0.7.2";
 
   src = fetchurl {
     url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz";
-    hash = "sha256-lfZMarnm2qnp+lY0OY649s206/LoFNouTLlp0x9FCcI=";
+    hash = "sha256-/P8/tFrit14/YEvHoIB24yLm4U3veQmBhjeAZcyzWCo=";
   };
 
   mesonFlags = [
@@ -39,11 +40,13 @@ let rizin = stdenv.mkDerivation rec {
     "-Duse_sys_libzip=enabled"
     "-Duse_sys_zlib=enabled"
     "-Duse_sys_lz4=enabled"
+    "-Duse_sys_libzstd=enabled"
     "-Duse_sys_lzma=enabled"
     "-Duse_sys_xxhash=enabled"
     "-Duse_sys_openssl=enabled"
     "-Duse_sys_libmspack=enabled"
     "-Duse_sys_tree_sitter=enabled"
+    "-Duse_sys_pcre2=enabled"
     # this is needed for wrapping (adding plugins) to work
     "-Dportable=true"
   ];
@@ -55,12 +58,8 @@ let rizin = stdenv.mkDerivation rec {
     # caching it. This patch replaces the entire logic to only look at
     # the env var NIX_RZ_PREFIX
     ./librz-wrapper-support.patch
-    # Fix tree-sitter 0.20.9 build failure: https://github.com/rizinorg/rizin/pull/4165
-    (fetchpatch {
-      name = "tree-sitter-0.20.9.patch";
-      url = "https://github.com/rizinorg/rizin/commit/1bb08712dbc9e062bb439a65dcebeb4221ded699.patch";
-      hash = "sha256-mE0eQAFhyxX5bwrz+S1IVl6HNV9ITQ+tRRvGLLif5VI=";
-    })
+
+    ./0001-fix-compilation-with-clang.patch
   ];
 
 
@@ -96,6 +95,7 @@ let rizin = stdenv.mkDerivation rec {
     readline
     libusb-compat-0_1
     libewf
+    pcre2
     perl
     zlib
     lz4
@@ -104,6 +104,7 @@ let rizin = stdenv.mkDerivation rec {
     tree-sitter
     xxHash
     xz
+    zstd
   ];
 
   postPatch = ''
diff --git a/pkgs/development/tools/analysis/rizin/jsdec.nix b/pkgs/development/tools/analysis/rizin/jsdec.nix
index df291d169eb55..a1c0bc7ed67fb 100644
--- a/pkgs/development/tools/analysis/rizin/jsdec.nix
+++ b/pkgs/development/tools/analysis/rizin/jsdec.nix
@@ -8,28 +8,41 @@
 , openssl
 }:
 
-stdenv.mkDerivation rec {
+let
+  libquickjs = fetchFromGitHub {
+    owner = "frida";
+    repo = "quickjs";
+    rev = "c81f05c9859cea5f83a80057416a0c7affe9b876";
+    hash = "sha256-nAws0ae9kAwvCFcw/yR7XRMwU8EbHoq7kp7iBFpZEZc=";
+  };
+in
+stdenv.mkDerivation (finalAttrs: {
   pname = "jsdec";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "rizinorg";
     repo = "jsdec";
-    rev = "v${version}";
-    hash = "sha256-iVaxxPBIJRhZrmejAOL/Fb4k66mGsZOBs7UikgMj5WA=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-UuFA0YKH+0n4Ec3CTiSUFlKXMY4k+tooaEFJYrj6Law=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
-  preConfigure = ''
-    cd p
+  postUnpack = ''
+    cp -r --no-preserve=mode ${libquickjs} $sourceRoot/subprojects/libquickjs
+  '';
+
+  postPatch = ''
+    cp subprojects/packagefiles/libquickjs/* subprojects/libquickjs
   '';
-  mesonFlags = [ "-Djsc_folder=.." ];
+
+  nativeBuildInputs = [ meson ninja pkg-config ];
   buildInputs = [ openssl rizin ];
 
   meta = with lib; {
     description = "Simple decompiler for Rizin";
-    homepage = src.meta.homepage;
+    homepage = finalAttrs.src.meta.homepage;
+    changelog = "${finalAttrs.src.meta.homepage}/releases/tag/${finalAttrs.src.rev}";
     license = with licenses; [ asl20 bsd3 mit ];
     maintainers = with maintainers; [ chayleaf ];
   };
-}
+})
diff --git a/pkgs/development/tools/analysis/rizin/rz-ghidra.nix b/pkgs/development/tools/analysis/rizin/rz-ghidra.nix
index d2cb95f2d9628..fcc014f9944dc 100644
--- a/pkgs/development/tools/analysis/rizin/rz-ghidra.nix
+++ b/pkgs/development/tools/analysis/rizin/rz-ghidra.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 # buildInputs
 , rizin
@@ -15,25 +14,18 @@
 , qtsvg
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "rz-ghidra";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "rizinorg";
     repo = "rz-ghidra";
-    rev = "v${version}";
-    hash = "sha256-tQAurouRr6fP1tbIkfd0a9UfeYcwiU1BpjOTcooXkT0=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-W9VcKrDAh7GNRbE4eyWbtHlsYLmrjBBgVvWNyMUhlDk=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/rizinorg/rz-ghidra/pull/327/commits/eba20e2c743ed3dfc5d1be090a5018f7267baa49.patch";
-      hash = "sha256-aoXFClXZBcOnHl+6lLYrnui7sRb3cRJQhQfNDLxHtcs=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
   buildInputs = [
     openssl
@@ -59,9 +51,10 @@ stdenv.mkDerivation rec {
     # errors out with undefined symbols from Cutter
     broken = enableCutterPlugin && stdenv.isDarwin;
     description = "Deep ghidra decompiler and sleigh disassembler integration for rizin";
-    homepage = src.meta.homepage;
+    homepage = finalAttrs.src.meta.homepage;
+    changelog = "${finalAttrs.src.meta.homepage}/releases/tag/${finalAttrs.src.rev}";
     license = licenses.lgpl3;
     maintainers = with maintainers; [ chayleaf ];
     inherit (rizin.meta) platforms;
   };
-}
+})
diff --git a/pkgs/development/tools/analysis/rizin/sigdb.nix b/pkgs/development/tools/analysis/rizin/sigdb.nix
index 2c4bdaebbabab..40d0fe62f259e 100644
--- a/pkgs/development/tools/analysis/rizin/sigdb.nix
+++ b/pkgs/development/tools/analysis/rizin/sigdb.nix
@@ -5,15 +5,15 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "rizin-sigdb";
-  version = "unstable-2023-02-13";
+  version = "unstable-2023-08-23";
 
   src = fetchFromGitHub {
     owner = "rizinorg";
     # sigdb-source: source files (.pat and etc), around 2.5gb total
     # sigdb: built and deflated .sig files, around 50mb total
     repo = "sigdb";
-    rev = "829baf835e3515923266898fd597f7f75046ebd2";
-    hash = "sha256-zvGna2CEsDctc9P7hWTaz7kdtxAtPsXHNWOrRQ9ocdc=";
+    rev = "4addbed50cd3b50eeef5a41d72533d079ebbfbf8";
+    hash = "sha256-Fy92MTuLswEgQ/XEUExqdU1Z4a5MP2Ahzi/gGxd5BtA=";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/tools/bearer/default.nix b/pkgs/development/tools/bearer/default.nix
index 5cd2cfff0d767..75b264effdc90 100644
--- a/pkgs/development/tools/bearer/default.nix
+++ b/pkgs/development/tools/bearer/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "bearer";
-  version = "1.40.1";
+  version = "1.41.0";
 
   src = fetchFromGitHub {
     owner = "bearer";
     repo = "bearer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yfgbkF7ANJyyy3qYNLOg85+MJ8SdHCZkXsOhH0vzy8o=";
+    hash = "sha256-RwoUyEIwKGDRqkETGEo6x1U14lqBogDzsoOHQKt8lHc=";
   };
 
-  vendorHash = "sha256-TKdZVNt98jrIzXekfxRXfxEfEhb2doWTTGojOLOcKzU=";
+  vendorHash = "sha256-KCsCUVO2WsKJKU/aiXgeyS01341Xf9yQnKvQ7hAkYbQ=";
 
   subPackages = [
     "cmd/bearer"
diff --git a/pkgs/development/tools/benthos/default.nix b/pkgs/development/tools/benthos/default.nix
index 57541ceb1760a..12466c8cfe82e 100644
--- a/pkgs/development/tools/benthos/default.nix
+++ b/pkgs/development/tools/benthos/default.nix
@@ -5,16 +5,18 @@
 
 buildGoModule rec {
   pname = "benthos";
-  version = "4.24.0";
+  version = "4.25.1";
 
   src = fetchFromGitHub {
     owner = "benthosdev";
     repo = "benthos";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cZhx/a6bTOMP7JKM7ZnMzUEe5R79TIrVpv+6y/9qR0U=";
+    hash = "sha256-s81svVIu/6VsZCKyDtP0TMBN6ZLxToTLGpMxRAzZLXs=";
   };
 
-  vendorHash = "sha256-6JEFToCBdfdS9MluApkEOcktWU66PpAD07Y9BKSzGx4=";
+  proxyVendor = true;
+
+  vendorHash = "sha256-bnQn6gdHhbUJUPWU3CKrw1sq5CL0Tkss4DINPwlsiPU=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix
index 85ad114c93df2..814e13417471d 100644
--- a/pkgs/development/tools/buf/default.nix
+++ b/pkgs/development/tools/buf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "buf";
-  version = "1.29.0";
+  version = "1.30.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-X3/t+hMcZXR3X+XtbW2eItTgeP1NIuqrkMT4bX5VJog=";
+    hash = "sha256-SHwmX9/9qqhpTDVKf+0HAJqPvSKKoUyxHqCe8WXhMUc=";
   };
 
-  vendorHash = "sha256-0wW938eU9my92dpwHEJ0Obt4XSIK5vuDa1P27nbhzao=";
+  vendorHash = "sha256-4ccctJ5C4/Ff+wLrZPR1oS0tjqkULAsTjKm3X8WDr6o=";
 
   patches = [
     # Skip a test that requires networking to be available to work,
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index 8c9261628bfee..15954c61c15e3 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -151,7 +151,7 @@ stdenv.mkDerivation rec {
     description = "Package and build manager for D applications and libraries";
     homepage = "https://code.dlang.org/";
     license = licenses.mit;
-    maintainers = with maintainers; [ ThomasMader jtbx ];
+    maintainers = with maintainers; [ jtbx ];
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/scala-cli/sources.json b/pkgs/development/tools/build-managers/scala-cli/sources.json
index f6a82483343f1..54e1ce307a93b 100644
--- a/pkgs/development/tools/build-managers/scala-cli/sources.json
+++ b/pkgs/development/tools/build-managers/scala-cli/sources.json
@@ -1,21 +1,21 @@
 {
-  "version": "1.1.3",
+  "version": "1.2.0",
   "assets": {
     "aarch64-darwin": {
       "asset": "scala-cli-aarch64-apple-darwin.gz",
-      "sha256": "03rxllpnr93ms6j0fny7h2sym9pj1q8xrj0jmhapdjv582j4by82"
+      "sha256": "1d9r45k9j7hniik5f6x9ym4lhkk6f1hs5rlxngsjb9v19jaik1nw"
     },
     "aarch64-linux": {
       "asset": "scala-cli-aarch64-pc-linux.gz",
-      "sha256": "1msi2ylx2qf6k5gm1jj31qh9qbrxp5fydybzb25zclnpwwg1jlyc"
+      "sha256": "0rvw4ahcq546nxcrkm16b9bra4398d3glgj3911bpp1zbyhzihz0"
     },
     "x86_64-darwin": {
       "asset": "scala-cli-x86_64-apple-darwin.gz",
-      "sha256": "1sl3q59mb56g6795c8sm9kjpdgmpcdd23fxhaw49px2dvyryvxyy"
+      "sha256": "1z3rgsny3fk3jqzqkyggvjx4ha1xj3v0f2ascd8a2qkxhzr6gl77"
     },
     "x86_64-linux": {
       "asset": "scala-cli-x86_64-pc-linux.gz",
-      "sha256": "17cp6mq0046y21pd7cadxj90aqkqnlz7zx7sdp7mmn3pzjcaynqc"
+      "sha256": "00vgp421967iyz13rhfhfbq6xqc2g17grm4vabh9dzb5rmrpga8g"
     }
   }
 }
diff --git a/pkgs/development/tools/build-managers/xmake/default.nix b/pkgs/development/tools/build-managers/xmake/default.nix
index b6d2f8ab69099..82d2fe7cf3463 100644
--- a/pkgs/development/tools/build-managers/xmake/default.nix
+++ b/pkgs/development/tools/build-managers/xmake/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xmake";
-  version = "2.8.7";
+  version = "2.8.8";
 
   src = fetchurl {
     url = "https://github.com/xmake-io/xmake/releases/download/v${version}/xmake-v${version}.tar.gz";
-    hash = "sha256-jHqMb3ex/BcF54ViTpoelEcWhEqDeP7Oc0HeJ7mfC4k=";
+    hash = "sha256-UJFlQJleO59K1xr3Gy0Zh751SkaNGzGZxE5CWyMv0KM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 9c3e988085d8b..f8f9a6b1decfa 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.34.1";
+  version = "1.35.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    hash = "sha256-0mH6s9BSTkXutwYVG3EpqEcildO3g37Us4pdTmLPcAQ=";
+    hash = "sha256-xVcqbcKb6qm/XXRBi2vSIeISjfg5EivXpEbif96f+6U=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/continuous-integration/buildbot/default.nix b/pkgs/development/tools/continuous-integration/buildbot/default.nix
index 019ba4579d4a0..b2ec827f7526e 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/default.nix
@@ -1,36 +1,31 @@
-{ python3
-, fetchPypi
+{ lib
+, newScope
+, python3
 , recurseIntoAttrs
-, callPackage
 }:
-let
+# Take packages from self first, then python.pkgs (and secondarily pkgs)
+lib.makeScope (self: newScope (self.python.pkgs // self)) (self: {
   python = python3.override {
     packageOverrides = self: super: {
       sqlalchemy = super.sqlalchemy_1_4;
-      moto = super.moto.overridePythonAttrs (oldAttrs: rec {
+      moto = super.moto.overridePythonAttrs (oldAttrs: {
         # a lot of tests -> very slow, we already build them when building python packages
         doCheck = false;
       });
     };
   };
 
-  buildbot-pkg = python.pkgs.callPackage ./pkg.nix {
-    inherit buildbot;
-  };
-  buildbot-worker = python3.pkgs.callPackage ./worker.nix {
-    inherit buildbot;
-  };
-  buildbot = python.pkgs.callPackage ./master.nix {
-    inherit buildbot-pkg buildbot-worker buildbot-plugins;
-  };
-  buildbot-plugins = recurseIntoAttrs (callPackage ./plugins.nix {
-    inherit buildbot-pkg;
-  });
-in
-{
-  inherit buildbot buildbot-plugins buildbot-worker;
-  buildbot-ui = buildbot.withPlugins (with buildbot-plugins; [ www ]);
-  buildbot-full = buildbot.withPlugins (with buildbot-plugins; [
+  buildbot-pkg = self.callPackage ./pkg.nix { };
+
+  buildbot-worker = self.callPackage ./worker.nix { };
+
+  buildbot = self.callPackage ./master.nix { };
+
+  buildbot-plugins = recurseIntoAttrs (self.callPackage ./plugins.nix { });
+
+  buildbot-ui = self.buildbot.withPlugins (with self.buildbot-plugins; [ www ]);
+
+  buildbot-full = self.buildbot.withPlugins (with self.buildbot-plugins; [
     www console-view waterfall-view grid-view wsgi-dashboards badges
   ]);
-}
+})
diff --git a/pkgs/development/tools/continuous-integration/buildbot/master.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix
index 98626ed36bf48..68566ca93c799 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/master.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix
@@ -1,9 +1,11 @@
 { lib
 , stdenv
-, buildPythonPackage
 , buildPythonApplication
 , fetchPypi
 , makeWrapper
+# Tie withPlugins through the fixed point here, so it will receive an
+# overridden version properly
+, buildbot
 , pythonOlder
 , python
 , twisted
@@ -38,13 +40,12 @@
 , unidiff
 , glibcLocales
 , nixosTests
-, callPackage
 }:
 
 let
   withPlugins = plugins: buildPythonApplication {
-    pname = "${package.pname}-with-plugins";
-    inherit (package) version;
+    pname = "${buildbot.pname}-with-plugins";
+    inherit (buildbot) version;
     format = "other";
 
     dontUnpack = true;
@@ -55,110 +56,109 @@ let
       makeWrapper
     ];
 
-    propagatedBuildInputs = plugins ++ package.propagatedBuildInputs;
+    propagatedBuildInputs = plugins ++ buildbot.propagatedBuildInputs;
 
     installPhase = ''
-      makeWrapper ${package}/bin/buildbot $out/bin/buildbot \
-        --prefix PYTHONPATH : "${package}/${python.sitePackages}:$PYTHONPATH"
-      ln -sfv ${package}/lib $out/lib
+      makeWrapper ${buildbot}/bin/buildbot $out/bin/buildbot \
+        --prefix PYTHONPATH : "${buildbot}/${python.sitePackages}:$PYTHONPATH"
+      ln -sfv ${buildbot}/lib $out/lib
     '';
 
-    passthru = package.passthru // {
+    passthru = buildbot.passthru // {
       withPlugins = morePlugins: withPlugins (morePlugins ++ plugins);
     };
   };
+in
+buildPythonApplication rec {
+  pname = "buildbot";
+  version = "3.11.1";
+  format = "pyproject";
 
-  package = buildPythonApplication rec {
-    pname = "buildbot";
-    version = "3.11.1";
-    format = "pyproject";
+  disabled = pythonOlder "3.8";
 
-    disabled = pythonOlder "3.8";
-
-    src = fetchPypi {
-      inherit pname version;
-      hash = "sha256-ruYW1sVoGvFMi+NS+xiNsn0Iq2RmKlax4bxHgYrj6ZY=";
-    };
-
-    propagatedBuildInputs = [
-      # core
-      twisted
-      jinja2
-      msgpack
-      zope-interface
-      sqlalchemy
-      alembic
-      python-dateutil
-      txaio
-      autobahn
-      pyjwt
-      pyyaml
-      setuptools
-      croniter
-      importlib-resources
-      packaging
-      unidiff
-    ]
-      # tls
-      ++ twisted.optional-dependencies.tls;
-
-    nativeCheckInputs = [
-      treq
-      txrequests
-      pypugjs
-      boto3
-      moto
-      markdown
-      lz4
-      setuptools-trial
-      buildbot-worker
-      buildbot-pkg
-      buildbot-plugins.www
-      parameterized
-      git
-      openssh
-      glibcLocales
-    ];
-
-    patches = [
-      # This patch disables the test that tries to read /etc/os-release which
-      # is not accessible in sandboxed builds.
-      ./skip_test_linux_distro.patch
-    ];
-
-    postPatch = ''
-      substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
-    '';
-
-    # Silence the depreciation warning from SqlAlchemy
-    SQLALCHEMY_SILENCE_UBER_WARNING = 1;
-
-    # TimeoutErrors on slow machines -> aarch64
-    doCheck = !stdenv.isAarch64;
-
-    preCheck = ''
-      export LC_ALL="en_US.UTF-8"
-      export PATH="$out/bin:$PATH"
-
-      # remove testfile which is missing configuration file from sdist
-      rm buildbot/test/integration/test_graphql.py
-      # tests in this file are flaky, see https://github.com/buildbot/buildbot/issues/6776
-      rm buildbot/test/integration/test_try_client.py
-    '';
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-ruYW1sVoGvFMi+NS+xiNsn0Iq2RmKlax4bxHgYrj6ZY=";
+  };
 
-    passthru = {
-      inherit withPlugins;
-      tests.buildbot = nixosTests.buildbot;
-      updateScript = ./update.sh;
-    };
+  propagatedBuildInputs = [
+    # core
+    twisted
+    jinja2
+    msgpack
+    zope-interface
+    sqlalchemy
+    alembic
+    python-dateutil
+    txaio
+    autobahn
+    pyjwt
+    pyyaml
+    setuptools
+    croniter
+    importlib-resources
+    packaging
+    unidiff
+  ]
+    # tls
+    ++ twisted.optional-dependencies.tls;
+
+  nativeCheckInputs = [
+    treq
+    txrequests
+    pypugjs
+    boto3
+    moto
+    markdown
+    lz4
+    setuptools-trial
+    buildbot-worker
+    buildbot-pkg
+    buildbot-plugins.www
+    parameterized
+    git
+    openssh
+    glibcLocales
+  ];
+
+  patches = [
+    # This patch disables the test that tries to read /etc/os-release which
+    # is not accessible in sandboxed builds.
+    ./skip_test_linux_distro.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
+  '';
+
+  # Silence the depreciation warning from SqlAlchemy
+  SQLALCHEMY_SILENCE_UBER_WARNING = 1;
+
+  # TimeoutErrors on slow machines -> aarch64
+  doCheck = !stdenv.isAarch64;
+
+  preCheck = ''
+    export LC_ALL="en_US.UTF-8"
+    export PATH="$out/bin:$PATH"
+
+    # remove testfile which is missing configuration file from sdist
+    rm buildbot/test/integration/test_graphql.py
+    # tests in this file are flaky, see https://github.com/buildbot/buildbot/issues/6776
+    rm buildbot/test/integration/test_try_client.py
+  '';
+
+  passthru = {
+    inherit withPlugins;
+    tests.buildbot = nixosTests.buildbot;
+    updateScript = ./update.sh;
+  };
 
-    meta = with lib; {
-      description = "An open-source continuous integration framework for automating software build, test, and release processes";
-      homepage = "https://buildbot.net/";
-      changelog = "https://github.com/buildbot/buildbot/releases/tag/v${version}";
-      maintainers = teams.buildbot.members;
-      license = licenses.gpl2Only;
-      broken = stdenv.isDarwin;
-    };
+  meta = with lib; {
+    description = "An open-source continuous integration framework for automating software build, test, and release processes";
+    homepage = "https://buildbot.net/";
+    changelog = "https://github.com/buildbot/buildbot/releases/tag/v${version}";
+    maintainers = teams.buildbot.members;
+    license = licenses.gpl2Only;
+    broken = stdenv.isDarwin;
   };
-in package
+}
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 21b2a5a6afde5..374e46b87f5b6 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoModule, fetchFromGitLab, fetchurl, bash }:
 
 let
-  version = "16.7.0";
+  version = "16.9.1";
 in
 buildGoModule rec {
   inherit version;
@@ -17,13 +17,13 @@ buildGoModule rec {
   # For patchShebangs
   buildInputs = [ bash ];
 
-  vendorHash = "sha256-SHtxkB4qJMfhjo3UVjqBzD647AWIXIk10VtH/CMIB1I=";
+  vendorHash = "sha256-ErDwGjU6085/on5qazLME3stTLYhP8quHV/EoIZOO04=";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "sha256-pVD3DCrujsrDJPt/DXelMYSK+u25aV2YUMDW+22QHwI=";
+    sha256 = "sha256-NEDqXgc0hbQc5BzyPuxddW+rvAWUz8KxnqSkzTDDu/I=";
   };
 
   patches = [
@@ -40,6 +40,7 @@ buildGoModule rec {
 
     # No writable developer environment
     rm common/build_test.go
+    rm common/build_settings_test.go
     rm executors/custom/custom_test.go
 
     # No docker during build
@@ -67,7 +68,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "GitLab Runner the continuous integration executor of GitLab";
     license = licenses.mit;
-    homepage = "https://about.gitlab.com/gitlab-ci/";
+    homepage = "https://docs.gitlab.com/runner/";
     platforms = platforms.unix ++ platforms.darwin;
     maintainers = with maintainers; [ bachp zimbatm ] ++ teams.gitlab.members;
   };
diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix
index de4038fd346d4..0c2f94bd7fe85 100644
--- a/pkgs/development/tools/dtools/default.nix
+++ b/pkgs/development/tools/dtools/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     description = "Ancillary tools for the D programming language compiler";
     homepage = "https://github.com/dlang/tools";
     license = lib.licenses.boost;
-    maintainers = with maintainers; [ ThomasMader jtbx ];
+    maintainers = with maintainers; [ jtbx ];
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix
index 858e16583177a..e9b92fd117d8a 100644
--- a/pkgs/development/tools/dump_syms/default.nix
+++ b/pkgs/development/tools/dump_syms/default.nix
@@ -7,6 +7,7 @@
 
 # darwin
 , Security
+, SystemConfiguration
 
 # tests
 , firefox-esr-unwrapped
@@ -43,6 +44,7 @@ rustPlatform.buildRustPackage {
     openssl
   ] ++ lib.optionals (stdenv.isDarwin) [
     Security
+    SystemConfiguration
   ];
 
   checkFlags = [
diff --git a/pkgs/development/tools/firebase-tools/default.nix b/pkgs/development/tools/firebase-tools/default.nix
index fd455607e098e..f43f48e5cfd12 100644
--- a/pkgs/development/tools/firebase-tools/default.nix
+++ b/pkgs/development/tools/firebase-tools/default.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "firebase-tools";
-  version = "13.4.0";
+  version = "13.4.1";
 
   src = fetchFromGitHub {
     owner = "firebase";
     repo = "firebase-tools";
     rev = "v${version}";
-    hash = "sha256-15u6upX9xPSlXhRrCxqmAuzjkfnpkXk8vwt1pI7c7Tk=";
+    hash = "sha256-XznQP9kcool3dgydMk1tq68ms+/TKVgKj8EvhdFr8LE=";
   };
 
-  npmDepsHash = "sha256-on4NKTGpdEb9l0JoybbssUN6z63Yg5AT8sHeGRGUEDA=";
+  npmDepsHash = "sha256-mDjSWIg/mtB1nl0Znu4MQO8Rr0EYfRbArx650DnqZd8=";
 
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index 8b3e3eb7c3501..67a6ad2c08638 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.35.0";
+  version = "3.35.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jjhWo/rQeGcZvvpYisCujFuExJrFiJqIiDytRo8lH1k=";
+    hash = "sha256-HFjoLzGF62noA9NQk1Delq6vOcuTZzsyq6kH6QtR7zI=";
   };
 
   vendorHash = "sha256-HhnherRx5YQn4ArcavVZutze9usYP+PRI07lEXyw8a0=";
diff --git a/pkgs/development/tools/infisical/default.nix b/pkgs/development/tools/infisical/default.nix
index 55218252e2f44..6e0d0dd122c21 100644
--- a/pkgs/development/tools/infisical/default.nix
+++ b/pkgs/development/tools/infisical/default.nix
@@ -15,7 +15,7 @@ let
   buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json);
 
   # the version of infisical
-  version = "0.17.1";
+  version = "0.18.0";
 
   # the platform-specific, statically linked binary
   src =
diff --git a/pkgs/development/tools/infisical/hashes.json b/pkgs/development/tools/infisical/hashes.json
index 416bd8fd5decb..b31de1a9a12a8 100644
--- a/pkgs/development/tools/infisical/hashes.json
+++ b/pkgs/development/tools/infisical/hashes.json
@@ -1,6 +1,6 @@
 { "_comment": "@generated by pkgs/development/tools/infisical/update.sh"
-, "x86_64-linux": "sha256-RfZP7au3F9GN7W8ksbqE167y28GhLMvX6Xy5qI920Vs="
-, "x86_64-darwin": "sha256-Ye0hdk5m/LX7uAMdysSZmJihhV6+J35cn02M7PQziSk="
-, "aarch64-linux": "sha256-6bcli2zJW6Y5zx860WFLqg0iPnvDKdq9RqnA5r8nv5E="
-, "aarch64-darwin": "sha256-QaqYt0aPhPOuq4TY/kjSejnL5c3TrrYAVrLmYX6btuM="
+, "x86_64-linux": "sha256-FDkDZJ4Uq/FZonfbuzYFbY7g00jGhyw36VizyqfkZO8="
+, "x86_64-darwin": "sha256-gi/5W49tp3vhxDuMxooALKzt73jLFBtPonR/9ZExSgc="
+, "aarch64-linux": "sha256-War89zjbKxDdyXa1AUhwpKCKbOPFaJR7lsDXUk+PmmI="
+, "aarch64-darwin": "sha256-F3CD3gxBn0so89zImM6gi8+3WnNNuMdj/o3x3h1OrjM="
 }
diff --git a/pkgs/development/tools/language-servers/neocmakelsp/default.nix b/pkgs/development/tools/language-servers/neocmakelsp/default.nix
index 0b8c3b5f7b498..3bdcf8a7a588c 100644
--- a/pkgs/development/tools/language-servers/neocmakelsp/default.nix
+++ b/pkgs/development/tools/language-servers/neocmakelsp/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "neocmakelsp";
-  version = "0.6.19";
+  version = "0.6.20";
 
   src = fetchFromGitHub {
     owner = "Decodetalkers";
     repo = "neocmakelsp";
     rev = "v${version}";
-    hash = "sha256-nYZ9H66sA5umOTn/w/P62kJy3WHLwYPWWs1B74bTAEM=";
+    hash = "sha256-ZeaQgGD8XsbSfg5vxT165JLPybPsmmqqsbJiG0CaL7Y=";
   };
 
-  cargoHash = "sha256-1jpKo/fSWLf0pFgzTvnkaghz/Fdy+MJhZsKQPaJHlfs=";
+  cargoHash = "sha256-ljbJ+ZeCtDr8OlGgZ5kgO31chs7/ZD3UfHkq3vWx+h8=";
 
   meta = with lib; {
     description = "A cmake lsp based on tower-lsp and treesitter";
diff --git a/pkgs/development/tools/melange/default.nix b/pkgs/development/tools/melange/default.nix
index 1f726919bb98f..9e50d9f288604 100644
--- a/pkgs/development/tools/melange/default.nix
+++ b/pkgs/development/tools/melange/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "melange";
-  version = "0.6.5";
+  version = "0.6.9";
 
   src = fetchFromGitHub {
     owner = "chainguard-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Itb1FMdn/k5HBeJ4RGjsH0f5VVL8xeNiGo9tjkeec3Q=";
+    hash = "sha256-txyfoGl0MPMHQFOhdCQPVSLveYBVFIiDxJct1W6xYKM=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -25,7 +25,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorHash = "sha256-qI7BAd0H5k6AjVZIjm5gd6+TF4YUXufskKinfj8y+So=";
+  vendorHash = "sha256-uMdphe78cEwypVZOyIvFgUJQuVQ3scd6SQc8y5Sqjdo=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/misc/binutils/CVE-2023-1972.patch b/pkgs/development/tools/misc/binutils/CVE-2023-1972.patch
deleted file mode 100644
index 838fbf7227619..0000000000000
--- a/pkgs/development/tools/misc/binutils/CVE-2023-1972.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/bfd/elf.c b/bfd/elf.c
-index 027d0143735..185028cbd97 100644
---- a/bfd/elf.c
-+++ b/bfd/elf.c
-@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
- 	  bfd_set_error (bfd_error_file_too_big);
- 	  goto error_return_verdef;
- 	}
-+
-+      if (amt == 0)
-+	goto error_return_verdef;
-       elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
-       if (elf_tdata (abfd)->verdef == NULL)
- 	goto error_return_verdef;
-@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
- 	  bfd_set_error (bfd_error_file_too_big);
- 	  goto error_return;
- 	}
-+      if (amt == 0)
-+	goto error_return;
-       elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
-       if (elf_tdata (abfd)->verdef == NULL)
- 	goto error_return;
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 3a5a07dadabbf..c707d0daec896 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -33,12 +33,12 @@ assert enableGoldDefault -> enableGold;
 let
   inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
-  version = "2.40";
+  version = "2.41";
 
   srcs = {
     normal = fetchurl {
       url = "mirror://gnu/binutils/binutils-${version}.tar.bz2";
-      hash = "sha256-+CmOsVOks30RLpRapcsoUAQLzyaj6mW1pxXIOv4F5Io=";
+      hash = "sha256-pMS+wFL3uDcAJOYDieGUN38/SLVmGEGOpRBn9nqqsws=";
     };
     vc4-none = fetchFromGitHub {
       owner = "itszor";
@@ -66,6 +66,11 @@ stdenv.mkDerivation (finalAttrs: {
   # fetchpatch! All mutable patches (generated by GitHub or cgit) that are
   # needed here should be included directly in Nixpkgs as files.
   patches = [
+    # Upstream patch to fix llvm testsuite failure when loading powerpc
+    # objects:
+    #   https://sourceware.org/PR30794
+    ./gold-powerpc-for-llvm.patch
+
     # Make binutils output deterministic by default.
     ./deterministic.patch
 
@@ -90,10 +95,6 @@ stdenv.mkDerivation (finalAttrs: {
     # not need to know binutils' BINDIR at all. It's an absolute path
     # where libraries are stored.
     ./plugins-no-BINDIR.patch
-
-    # CVE-2023-1972 fix to bfd/elf.c from:
-    # https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57
-    ./CVE-2023-1972.patch
   ]
   ++ lib.optional targetPlatform.isiOS ./support-ios.patch
   # Adds AVR-specific options to "size" for compatibility with Atmel's downstream distribution
@@ -101,15 +102,6 @@ stdenv.mkDerivation (finalAttrs: {
   # https://github.com/archlinux/svntogit-community/blob/c8d53dd1734df7ab15931f7fad0c9acb8386904c/trunk/avr-size.patch
   ++ lib.optional targetPlatform.isAvr ./avr-size.patch
   ++ lib.optional stdenv.targetPlatform.isWindows ./windres-locate-gcc.patch
-  ++ lib.optional stdenv.targetPlatform.isMips64n64
-     # this patch is from debian:
-     # https://sources.debian.org/data/main/b/binutils/2.38-3/debian/patches/mips64-default-n64.diff
-     (if stdenv.targetPlatform.isMusl
-      then substitute { src = ./mips64-default-n64.patch; substitutions = [ "--replace" "gnuabi64" "muslabi64" ]; }
-      else ./mips64-default-n64.patch)
-  # This patch fixes a bug in 2.40 on MinGW, which breaks DXVK when cross-building from Darwin.
-  # See https://sourceware.org/bugzilla/show_bug.cgi?id=30079
-  ++ lib.optional stdenv.targetPlatform.isMinGW ./mingw-abort-fix.patch
   ;
 
   outputs = [ "out" "info" "man" "dev" ]
diff --git a/pkgs/development/tools/misc/binutils/gold-powerpc-for-llvm.patch b/pkgs/development/tools/misc/binutils/gold-powerpc-for-llvm.patch
new file mode 100644
index 0000000000000..29330131499b3
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/gold-powerpc-for-llvm.patch
@@ -0,0 +1,107 @@
+https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=d537f77ef3b18a5fbfd598643aaad957652e9608
+
+Fix llvm testsuite failure on a single test:
+    FAIL: LLVM :: tools/gold/PowerPC/mtriple.ll (43659 of 49708)
+      ld.gold: internal error in add_output_section_to_load, at output.cc:4097
+
+From: Alan Modra <amodra@gmail.com>
+Date: Thu, 24 Aug 2023 23:42:18 +0000 (+0930)
+Subject: PR30794, PowerPC gold: internal error in add_output_section_to_load
+X-Git-Tag: gdb-14-branchpoint~482
+X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=d537f77ef3b18a5fbfd598643aaad957652e9608
+
+PR30794, PowerPC gold: internal error in add_output_section_to_load
+
+Caused by commit 5a97377e5513, specifically this code added to
+Target_powerpc::do_relax
++      if (parameters->options().output_is_position_independent())
++       this->rela_dyn_size_
++         = this->rela_dyn_section(layout)->current_data_size();
+
+The problem here is that if .rela.dyn isn't already created then the
+call to rela_dyn_section creates it, and as this comment in
+Target_powerpc::do_finalize_sections says:
+	  // Annoyingly, we need to make these sections now whether or
+	  // not we need them.  If we delay until do_relax then we
+	  // need to mess with the relaxation machinery checkpointing.
+We can't be creating sections in do_relax.
+
+	PR 30794
+	* powerpc.cc (Target_powerpc::do_relax): Only set rela_dyn_size_
+	for size == 64, and assert that rela_dyn_ already exists.
+	Tidy code setting plt_thread_safe, which also only needs to be
+	set when size == 64 for ELFv1.
+---
+
+diff --git a/gold/powerpc.cc b/gold/powerpc.cc
+index e66d9cbb900..a4fecaae55a 100644
+--- a/gold/powerpc.cc
++++ b/gold/powerpc.cc
+@@ -3714,12 +3714,7 @@ Target_powerpc<size, big_endian>::do_relax(int pass,
+   unsigned int prev_brlt_size = 0;
+   if (pass == 1)
+     {
+-      bool thread_safe
+-	= this->abiversion() < 2 && parameters->options().plt_thread_safe();
+-      if (size == 64
+-	  && this->abiversion() < 2
+-	  && !thread_safe
+-	  && !parameters->options().user_set_plt_thread_safe())
++      if (size == 64 && this->abiversion() < 2)
+ 	{
+ 	  static const char* const thread_starter[] =
+ 	    {
+@@ -3747,29 +3742,37 @@ Target_powerpc<size, big_endian>::do_relax(int pass,
+ 	      /* libgo */
+ 	      "__go_go",
+ 	    };
++	  bool thread_safe = parameters->options().plt_thread_safe();
+ 
+-	  if (parameters->options().shared())
+-	    thread_safe = true;
+-	  else
++	  if (!thread_safe
++	      && !parameters->options().user_set_plt_thread_safe())
+ 	    {
+-	      for (unsigned int i = 0;
+-		   i < sizeof(thread_starter) / sizeof(thread_starter[0]);
+-		   i++)
++	      if (parameters->options().shared())
++		thread_safe = true;
++	      else
+ 		{
+-		  Symbol* sym = symtab->lookup(thread_starter[i], NULL);
+-		  thread_safe = (sym != NULL
+-				 && sym->in_reg()
+-				 && sym->in_real_elf());
+-		  if (thread_safe)
+-		    break;
++		  for (unsigned int i = 0;
++		       i < sizeof(thread_starter) / sizeof(thread_starter[0]);
++		       i++)
++		    {
++		      Symbol* sym = symtab->lookup(thread_starter[i], NULL);
++		      thread_safe = (sym != NULL
++				     && sym->in_reg()
++				     && sym->in_real_elf());
++		      if (thread_safe)
++			break;
++		    }
+ 		}
+ 	    }
++	  this->plt_thread_safe_ = thread_safe;
+ 	}
+-      this->plt_thread_safe_ = thread_safe;
+ 
+-      if (parameters->options().output_is_position_independent())
+-	this->rela_dyn_size_
+-	  = this->rela_dyn_section(layout)->current_data_size();
++      if (size == 64
++	  && parameters->options().output_is_position_independent())
++	{
++	  gold_assert (this->rela_dyn_);
++	  this->rela_dyn_size_ = this->rela_dyn_->current_data_size();
++	}
+ 
+       this->stub_group_size_ = parameters->options().stub_group_size();
+       bool no_size_errors = true;
diff --git a/pkgs/development/tools/misc/binutils/mingw-abort-fix.patch b/pkgs/development/tools/misc/binutils/mingw-abort-fix.patch
deleted file mode 100644
index b322d6ad7cd13..0000000000000
--- a/pkgs/development/tools/misc/binutils/mingw-abort-fix.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b7eab2a9d4f4e92692daf14b09fc95ca11b72e30 Mon Sep 17 00:00:00 2001
-From: Michael Matz <matz@suse.de>
-Date: Thu, 9 Feb 2023 15:29:00 +0100
-Subject: [PATCH 1/1] Fix PR30079: abort on mingw
-
-the early-out in wild_sort is not enough, it might still be
-that filenames are equal _and_ the wildcard list doesn't specify
-a sort order either.  Don't call compare_section then.
-
-Tested on all targets.
----
- ld/ldlang.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/ld/ldlang.c b/ld/ldlang.c
-index 84a2914fc26..b5e0d026ae4 100644
---- a/ld/ldlang.c
-+++ b/ld/ldlang.c
-@@ -649,7 +649,8 @@ wild_sort (lang_wild_statement_type *wild,
- 	 looking at the sections for this file.  */
- 
-       /* Find the correct node to append this section.  */
--      if (compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
-+      if (sec && sec->spec.sorted != none && sec->spec.sorted != by_none
-+	  && compare_section (sec->spec.sorted, section, (*tree)->section) < 0)
- 	tree = &((*tree)->left);
-       else
- 	tree = &((*tree)->right);
--- 
-2.31.1
diff --git a/pkgs/development/tools/misc/binutils/mips64-default-n64.patch b/pkgs/development/tools/misc/binutils/mips64-default-n64.patch
deleted file mode 100644
index 00581279f85e5..0000000000000
--- a/pkgs/development/tools/misc/binutils/mips64-default-n64.patch
+++ /dev/null
@@ -1,82 +0,0 @@
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -927,11 +927,21 @@ case "${targ}" in
-     targ_defvec=mips_elf32_be_vec
-     targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
-     ;;
--  mips64*el-*-linux*)
-+  mips*64*el-*-linux*-gnuabi64)
-+    targ_defvec=mips_elf64_trad_le_vec
-+    targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec"
-+    want64=true
-+    ;;
-+  mips*64*-*-linux*-gnuabi64)
-+    targ_defvec=mips_elf64_trad_be_vec
-+    targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
-+    want64=true
-+    ;;
-+  mips*64*el-*-linux*)
-     targ_defvec=mips_elf32_ntrad_le_vec
-     targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
-     ;;
--  mips64*-*-linux*)
-+  mips*64*-*-linux*)
-     targ_defvec=mips_elf32_ntrad_be_vec
-     targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
-     ;;
---- a/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
-+++ b/binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
-@@ -1,4 +1,5 @@
- #PROG: objcopy
-+#as: -n32
- #readelf: --notes --wide
- #objcopy: --merge-notes
- #name: MIPS merge notes section (n32)
---- a/gas/configure
-+++ b/gas/configure
-@@ -12167,6 +12167,9 @@ _ACEOF
- 	esac
- 	# Decide which ABI to target by default.
- 	case ${target} in
-+	  mips*64*-linux-gnuabi64)
-+	    mips_default_abi=N64_ABI
-+	    ;;
- 	  mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
- 	  | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
- 	    mips_default_abi=N32_ABI
---- a/gas/configure.ac
-+++ b/gas/configure.ac
-@@ -384,6 +384,9 @@ changequote([,])dnl
- 	esac
- 	# Decide which ABI to target by default.
- 	case ${target} in
-+	  mips*64*-linux-gnuabi64)
-+	    mips_default_abi=N64_ABI
-+	    ;;
- 	  mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
- 	  | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
- 	    mips_default_abi=N32_ABI
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -543,11 +543,19 @@ mips*-*-vxworks*)	targ_emul=elf32ebmipvx
- 			;;
- mips*-*-windiss)	targ_emul=elf32mipswindiss
- 			;;
--mips64*el-*-linux-*)	targ_emul=elf32ltsmipn32
-+mips*64*el-*-linux-gnuabi64)	targ_emul=elf64ltsmip
-+			targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
-+			targ_extra_libpath=$targ_extra_emuls
-+			;;
-+mips*64*el-*-linux-*)	targ_emul=elf32ltsmipn32
- 			targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
- 			targ_extra_libpath=$targ_extra_emuls
- 			;;
--mips64*-*-linux-*)	targ_emul=elf32btsmipn32
-+mips*64*-*-linux-gnuabi64)	targ_emul=elf64btsmip
-+			targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
-+			targ_extra_libpath=$targ_extra_emuls
-+			;;
-+mips*64*-*-linux-*)	targ_emul=elf32btsmipn32
- 			targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
- 			targ_extra_libpath=$targ_extra_emuls
- 			;;
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
deleted file mode 100644
index c59ed440b7c02..0000000000000
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{ lib
-, pkg-config
-, fetchurl
-, fetchpatch
-, meson
-, ninja
-, glib
-, gtk3
-, python3
-, wrapGAppsHook
-, gnome
-, libwnck
-, gobject-introspection
-, gettext
-, itstool
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "d-feet";
-  version = "0.3.16";
-
-  format = "other";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/d-feet/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "hzPOS5qaVOwYWx2Fv02p2dEQUogqiAdg/2D5d5stHMs=";
-  };
-
-  patches = [
-    # Fix build with meson 0.61
-    # data/meson.build:15:0: ERROR: Function does not take positional arguments.
-    # data/meson.build:27:0: ERROR: Function does not take positional arguments.
-    # Patch taken from https://gitlab.gnome.org/GNOME/d-feet/-/merge_requests/32
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/d-feet/-/commit/05465d486afdba116dbc22fc22c1e6573aea4f22.patch";
-      sha256 = "sFI3nd0YE/deGws/YcTpzC/em9QNgicyb4j7cTfOdhY=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    gettext
-    gobject-introspection
-    itstool
-    meson
-    ninja
-    pkg-config
-    python3
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    glib
-    gnome.adwaita-icon-theme
-    gtk3
-    libwnck
-  ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    pygobject3
-  ];
-
-  mesonFlags = [
-    "-Dtests=false" # needs dbus
-  ];
-
-  postPatch = ''
-    chmod +x meson_post_install.py
-    patchShebangs meson_post_install.py
-  '';
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "dfeet";
-      versionPolicy = "none";
-    };
-  };
-
-  meta = with lib; {
-    description = "D-Feet is an easy to use D-Bus debugger";
-    longDescription = ''
-      D-Feet can be used to inspect D-Bus interfaces of running programs
-      and invoke methods on those interfaces.
-    '';
-    homepage = "https://wiki.gnome.org/Apps/DFeet";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-    maintainers = teams.gnome.members;
-  };
-}
diff --git a/pkgs/development/tools/misc/lttng-ust/generic.nix b/pkgs/development/tools/misc/lttng-ust/generic.nix
index 56ad3b19e520f..60b133f731444 100644
--- a/pkgs/development/tools/misc/lttng-ust/generic.nix
+++ b/pkgs/development/tools/misc/lttng-ust/generic.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   configureFlags = [ "--disable-examples" ];
 
   propagatedBuildInputs = [ liburcu ];
diff --git a/pkgs/development/tools/misc/terser/default.nix b/pkgs/development/tools/misc/terser/default.nix
index 8b862bcc2cd30..e51d5328db268 100644
--- a/pkgs/development/tools/misc/terser/default.nix
+++ b/pkgs/development/tools/misc/terser/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "terser";
-  version = "5.19.3";
+  version = "5.28.1";
 
   src = fetchFromGitHub {
     owner = "terser";
     repo = "terser";
     rev = "v${version}";
-    hash = "sha256-ZI5ElHnQwoCJspGL/v0PqddMUAAhQGWDZA9utWZD/nM=";
+    hash = "sha256-iThO12jPzwCyfi69Z0YpttRxhVnSVirKbttN6R5iqRg=";
   };
 
-  npmDepsHash = "sha256-M7LGXoZFBQrXpkiofnam7tgFkk6+N7ckPxTcwAAuqxU=";
+  npmDepsHash = "sha256-CptJkwC0A03v2CeYSCKXq7fOhPdLWPrVJYpayzKbdkQ=";
 
   meta = with lib; {
     description = "JavaScript parser, mangler and compressor toolkit for ES6+";
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index 92cc9ac1803a0..66990d84589fc 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "19.11.7";
+  version = "19.13.0";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CBAIojr+J84spnd0SQHT0xLoLuOPQsZEhWfKZMuj12Q=";
+    hash = "sha256-nQJs+Kj0sxEI15QPLVFyVQWcM6HU6KzsSpW0ogYMzpQ=";
   };
 
-  vendorHash = "sha256-OkcwcQfI1CeKIQaaS/Bd1Hct2yebp0TB98lsGAVRWqk=";
+  vendorHash = "sha256-LIxOlU9YRA3xdHoilOBpo7P68ThVDOdiqXt47du/20g=";
 
   sourceRoot = "${src.name}/src";
 
diff --git a/pkgs/development/tools/operator-sdk/default.nix b/pkgs/development/tools/operator-sdk/default.nix
index dde9361926fed..62bf98c593f47 100644
--- a/pkgs/development/tools/operator-sdk/default.nix
+++ b/pkgs/development/tools/operator-sdk/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.34.0";
+  version = "1.34.1";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7Kkx1XMWoi1P3UA2HlCsqVxr2d5jjs9JxMUvHWs1nlk=";
+    hash = "sha256-3S7jR76b9MZpqn4Hj9yhjfravBk1PiESJEbG5XR4tnI=";
   };
 
   vendorHash = "sha256-YspUrnSS6d8Ta8dmUjx9A5D/V5Bqm08DQJrRBaIGyQg=";
diff --git a/pkgs/development/tools/pet/default.nix b/pkgs/development/tools/pet/default.nix
index 14f50820f2e5b..98d7a9c742bdf 100644
--- a/pkgs/development/tools/pet/default.nix
+++ b/pkgs/development/tools/pet/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pet";
-  version = "0.6.3";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "knqyf263";
     repo = "pet";
     rev = "v${version}";
-    sha256 = "sha256-NnnutXVwyWlPO7yJk8BAZJqtNl8sodDx/ZnX+TL8sWs=";
+    sha256 = "sha256-2C87oqMyq85cbN2rq8aEkEyFC5IZCw75TMQSjzR+RrY=";
   };
 
   vendorHash = "sha256-ebdPWKNL9i3sEGpfDCXIfOaFQjV5LXohug2qFXeWenk=";
diff --git a/pkgs/development/tools/profiling/pprof/default.nix b/pkgs/development/tools/profiling/pprof/default.nix
index 05539f6658619..44f9d5030d1cd 100644
--- a/pkgs/development/tools/profiling/pprof/default.nix
+++ b/pkgs/development/tools/profiling/pprof/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "pprof";
-  version = "unstable-2023-07-05";
+  version = "unstable-2024-02-27";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "pprof";
-    rev = "200ffdc848b879f8aff937ffeba601c186916257";
-    hash = "sha256-/Y1Tj9z+2MNe+b2vzd4F+PwHGSbCYP7HpbaDUL9ZzKQ=";
+    rev = "401108e1b7e7e113ef887df16b6227698eb5bb0f";
+    hash = "sha256-TD285HHXkePQA2J9W/dEciK5tOLmvbDPr54KNXeE1b4=";
   };
 
-  vendorHash = "sha256-MuejFoK49VMmLt7xsiX/4Av7TijPwM9/mewXlfdufd8=";
+  vendorHash = "sha256-XOcOt+pe1lZj4XHafxROLslhyJk4mTC72yn7R1k2JCk=";
 
   meta = with lib; {
     description = "A tool for visualization and analysis of profiling data";
diff --git a/pkgs/development/tools/reindeer/default.nix b/pkgs/development/tools/reindeer/default.nix
index 179cf46045f2f..781662af8cafc 100644
--- a/pkgs/development/tools/reindeer/default.nix
+++ b/pkgs/development/tools/reindeer/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reindeer";
-  version = "unstable-2024-02-20";
+  version = "unstable-2024-03-06";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = pname;
-    rev = "40e0e40eac95c859a36b4a0fe8ad8f1363620fb0";
-    sha256 = "sha256-bxRxFxoBt1nOXKBaYQcDYV2KB4OAnhJCaQ8iWvve8sw=";
+    rev = "3ec771e9608a01c90d6aac92aa77145551786c64";
+    sha256 = "sha256-cClbSJuEs4yIjx+13GSIevZO2PWEEHVDaMEmf729keA=";
   };
 
-  cargoSha256 = "sha256-sQk8HXPb0tnafOdVQrtpZmn0QaoNNxBj63QW7P6tZkU=";
+  cargoSha256 = "sha256-plkn+snWUaOH6ZxaPUbCvnNOky+eL6oY4ZHwv+qyNiE=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs =
diff --git a/pkgs/development/tools/rust/cargo-binstall/default.nix b/pkgs/development/tools/rust/cargo-binstall/default.nix
index 85e635307cfc1..8149550313fee 100644
--- a/pkgs/development/tools/rust/cargo-binstall/default.nix
+++ b/pkgs/development/tools/rust/cargo-binstall/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-binstall";
-  version = "1.6.3";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "cargo-bins";
     repo = "cargo-binstall";
     rev = "v${version}";
-    hash = "sha256-DevAkIzgt39V5vp+a15TBCMeYbny/TkJzyub425N7/o=";
+    hash = "sha256-xG2eLKqGv+wqpSGBUMoYGSQ22lrMHDpQzrSyxyHMHoc=";
   };
 
-  cargoHash = "sha256-gcYCTKa+i2v/T1C0j89rJjD73tmiUow11E+59oiR7sk=";
+  cargoHash = "sha256-xNTSvJZWX19kmaFoLLHNKIrcsTFYWwN+7Ubym0hCwTA=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/cargo-deb/default.nix b/pkgs/development/tools/rust/cargo-deb/default.nix
index c8f16bdf5140c..0d3af8268eceb 100644
--- a/pkgs/development/tools/rust/cargo-deb/default.nix
+++ b/pkgs/development/tools/rust/cargo-deb/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deb";
-  version = "2.0.6";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "kornelski";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-EYb1cJ+t5pI7KfL2SK8w2oeKbbdbOpUarNHFxpW79fQ=";
+    hash = "sha256-LCyTbOSSz3O53hZmOPcK+tB5LNZLE4uwfOZrwJZuebc=";
   };
 
-  cargoHash = "sha256-eLLi79XP/G6L0+2WlVTs6xpmkXOSO+4VOt6Srw5hnvw=";
+  cargoHash = "sha256-apT60W4lUCMsRvuzGkY8AkA8m8e7ESGGnmOpyv5Ca1I=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/development/tools/rust/cargo-mobile2/default.nix b/pkgs/development/tools/rust/cargo-mobile2/default.nix
index 01184fe5007d2..80a6b1cb41f7f 100644
--- a/pkgs/development/tools/rust/cargo-mobile2/default.nix
+++ b/pkgs/development/tools/rust/cargo-mobile2/default.nix
@@ -12,7 +12,7 @@
 let
   inherit (darwin.apple_sdk.frameworks) CoreServices;
   pname = "cargo-mobile2";
-  version = "0.10.3";
+  version = "0.10.4";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -20,14 +20,14 @@ rustPlatform.buildRustPackage {
     owner = "tauri-apps";
     repo = pname;
     rev = "cargo-mobile2-v${version}";
-    hash = "sha256-awf4BvDUeRfg66mv7unN0uKviLI6f1m7s1sQKEeBm2E=";
+    hash = "sha256-AGEsmTGitHqq6952olAxRXiXmNPTiqqbRvVmt7X7lZ8=";
   };
 
   # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
   # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
   # sourceRoot = "${src.name}/tooling/cli";
 
-  cargoHash = "sha256-rqNhkuQVQ6MHUX1hcwqPS46LpsDZwJ6COvJztap7X4w=";
+  cargoHash = "sha256-fbdJii4eeIs+YL/JGfoQxiZXOmHs9v4zrLeIHaVo2Uw=";
 
   preBuild = ''
     mkdir -p $out/share/
diff --git a/pkgs/development/tools/rust/cargo-tally/default.nix b/pkgs/development/tools/rust/cargo-tally/default.nix
index cac76677c3311..9bc9022a469ff 100644
--- a/pkgs/development/tools/rust/cargo-tally/default.nix
+++ b/pkgs/development/tools/rust/cargo-tally/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tally";
-  version = "1.0.39";
+  version = "1.0.40";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-7YUS+MaUmZ9dopeailASZQdmJiyVLwdXV0agA1upXsE=";
+    hash = "sha256-X+Tbse4svpGCQuspmfMv3iMJRCbX4LVB+rfYrFlOy98=";
   };
 
-  cargoHash = "sha256-eEfuFYl949Ps9cstO61j4GTdMHk2SjpRpWxK4onTgfw=";
+  cargoHash = "sha256-+/6Cwonu/W17ZhAqp902hUeonPZ4DOuC+Z4Ix16pNkY=";
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
     DiskArbitration
diff --git a/pkgs/development/tools/rye/Cargo.lock b/pkgs/development/tools/rye/Cargo.lock
index 0b4ed0aab0337..0bec4dca29913 100644
--- a/pkgs/development/tools/rye/Cargo.lock
+++ b/pkgs/development/tools/rye/Cargo.lock
@@ -1795,7 +1795,7 @@ dependencies = [
 
 [[package]]
 name = "rye"
-version = "0.27.0"
+version = "0.28.0"
 dependencies = [
  "age",
  "anyhow",
diff --git a/pkgs/development/tools/rye/default.nix b/pkgs/development/tools/rye/default.nix
index fb7db7343a0b4..b6452b19afa8d 100644
--- a/pkgs/development/tools/rye/default.nix
+++ b/pkgs/development/tools/rye/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rye";
-  version = "0.27.0";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "rye";
     rev = "refs/tags/${version}";
-    hash = "sha256-tqwjhA81UYCtZjz6X5tIZ91pDVPe4UU+sTKUIzmOHlM=";
+    hash = "sha256-i40VpPDK991mgBdGtufMFXuQuKuvqr0qIvl7q2KXQrg=";
   };
 
   cargoLock = {
@@ -57,12 +57,15 @@ rustPlatform.buildRustPackage rec {
     # The following require internet access to fetch a python binary
     "--skip=test_add_and_sync_no_auto_sync"
     "--skip=test_add_autosync"
+    "--skip=test_add_explicit_version_or_url"
     "--skip=test_add_flask"
     "--skip=test_add_from_find_links"
+    "--skip=test_autosync_remember"
     "--skip=test_basic_tool_behavior"
     "--skip=test_config_empty"
     "--skip=test_config_get_set_multiple"
     "--skip=test_config_incompatible_format_and_show_path"
+    "--skip=test_config_save_missing_folder"
     "--skip=test_config_show_path"
     "--skip=test_empty_sync"
     "--skip=test_fetch"
@@ -70,6 +73,7 @@ rustPlatform.buildRustPackage rec {
     "--skip=test_init_lib"
     "--skip=test_init_script"
     "--skip=test_lint_and_format"
+    "--skip=test_version"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index 738a2c659ddb8..63e773017ff6a 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -11,13 +11,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "2.29.1";
+  version = "2.30.0";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "sha256-hSAd+fGEVpCAyG2HzrF0W09yk6ghxX/lwdPQNuGsZW0=";
+    sha256 = "sha256-pICQBV8tIGeNoQF694uaVGx1eFN0iLACv1ztKXucKlM=";
   };
   doCheck = false;
 
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
   nativeBuildInputs = [ installShellFiles pkg-config ];
 
-  cargoHash = "sha256-g+rGWS/wZncyq9zPOOI+Zq1WEsQarMK2TkccVohJTUs=";
+  cargoHash = "sha256-sYPmVum1xY4p7imR1iZdXugM5je4ncNoEf0Q8dvWM4c=";
 
   postInstall = ''
     installShellCompletion --cmd sentry-cli \
diff --git a/pkgs/development/tools/sshs/Cargo.lock b/pkgs/development/tools/sshs/Cargo.lock
new file mode 100644
index 0000000000000..1b4c04235ee70
--- /dev/null
+++ b/pkgs/development/tools/sshs/Cargo.lock
@@ -0,0 +1,1053 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "anstream"
+version = "0.6.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
+[[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 = "cassowary"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+
+[[package]]
+name = "castaway"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc"
+dependencies = [
+ "rustversion",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "compact_str"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f"
+dependencies = [
+ "castaway",
+ "cfg-if",
+ "itoa",
+ "ryu",
+ "static_assertions",
+]
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crossterm"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
+dependencies = [
+ "bitflags 2.4.2",
+ "crossterm_winapi",
+ "libc",
+ "mio",
+ "parking_lot",
+ "signal-hook",
+ "signal-hook-mio",
+ "winapi",
+]
+
+[[package]]
+name = "crossterm_winapi"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
+dependencies = [
+ "winapi",
+]
+
+[[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 = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+]
+
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "either"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+
+[[package]]
+name = "fuzzy-matcher"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94"
+dependencies = [
+ "thread_local",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "handlebars"
+version = "5.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab283476b99e66691dee3f1640fea91487a8d81f50fb5ecc75538f8f8879a1e4"
+dependencies = [
+ "log",
+ "pest",
+ "pest_derive",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "indoc"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
+[[package]]
+name = "lru"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc"
+dependencies = [
+ "hashbrown",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "mio"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "pest"
+version = "2.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56f8023d0fb78c8e03784ea1c7f3fa36e68a723138990b8d5a47d916b651e7a8"
+dependencies = [
+ "memchr",
+ "thiserror",
+ "ucd-trie",
+]
+
+[[package]]
+name = "pest_derive"
+version = "2.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0d24f72393fd16ab6ac5738bc33cdb6a9aa73f8b902e8fe29cf4e67d7dd1026"
+dependencies = [
+ "pest",
+ "pest_generator",
+]
+
+[[package]]
+name = "pest_generator"
+version = "2.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fdc17e2a6c7d0a492f0158d7a4bd66cc17280308bbaff78d5bef566dca35ab80"
+dependencies = [
+ "pest",
+ "pest_meta",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "pest_meta"
+version = "2.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "934cd7631c050f4674352a6e835d5f6711ffbfb9345c2fc0107155ac495ae293"
+dependencies = [
+ "once_cell",
+ "pest",
+ "sha2",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "ratatui"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcb12f8fbf6c62614b0d56eb352af54f6a22410c3b079eb53ee93c7b97dd31d8"
+dependencies = [
+ "bitflags 2.4.2",
+ "cassowary",
+ "compact_str",
+ "crossterm",
+ "indoc",
+ "itertools",
+ "lru",
+ "paste",
+ "stability",
+ "strum",
+ "unicode-segmentation",
+ "unicode-width",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom",
+ "libredox",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
+name = "ryu"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "serde"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.114"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "shellexpand"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b"
+dependencies = [
+ "dirs",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "signal-hook"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
+dependencies = [
+ "libc",
+ "signal-hook-registry",
+]
+
+[[package]]
+name = "signal-hook-mio"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
+dependencies = [
+ "libc",
+ "mio",
+ "signal-hook",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "sshs"
+version = "4.2.1"
+dependencies = [
+ "anyhow",
+ "clap",
+ "crossterm",
+ "fuzzy-matcher",
+ "glob",
+ "handlebars",
+ "itertools",
+ "ratatui",
+ "regex",
+ "serde",
+ "shellexpand",
+ "shlex",
+ "strum",
+ "strum_macros",
+ "tui-input",
+ "unicode-width",
+]
+
+[[package]]
+name = "stability"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd1b177894da2a2d9120208c3386066af06a488255caabc5de8ddca22dbc3ce"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
+name = "strum"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f"
+dependencies = [
+ "strum_macros",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.52",
+]
+
+[[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.52"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "tui-input"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3e785f863a3af4c800a2a669d0b64c879b538738e352607e2624d03f868dc01"
+dependencies = [
+ "crossterm",
+ "unicode-width",
+]
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "ucd-trie"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[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-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.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.4",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
diff --git a/pkgs/development/tools/sshs/Cargo.toml b/pkgs/development/tools/sshs/Cargo.toml
new file mode 100644
index 0000000000000..1bab1b60c9f98
--- /dev/null
+++ b/pkgs/development/tools/sshs/Cargo.toml
@@ -0,0 +1,31 @@
+[package]
+name = "sshs"
+version = "4.2.1"
+edition = "2021"
+
+[[bin]]
+name = "sshs"
+path = "src/main.rs"
+
+[profile.release]
+strip = true
+lto = true
+codegen-units = 1
+
+[dependencies]
+anyhow = "1.0.80"
+clap = { version = "4.5.0", features = ["derive"] }
+crossterm = "0.27.0"
+fuzzy-matcher = "0.3.7"
+glob = "0.3.1"
+handlebars = "5.1.0"
+itertools = "0.12.1"
+ratatui = "0.26.1"
+regex = { version = "1.10.3", default-features = false, features = ["std"] }
+serde = { version = "1.0.197", features = ["derive"] }
+shellexpand = "3.1.0"
+shlex = "1.3.0"
+strum = "0.26.1"
+strum_macros = "0.26.1"
+tui-input = "0.8.0"
+unicode-width = "0.1.11"
diff --git a/pkgs/development/tools/sshs/default.nix b/pkgs/development/tools/sshs/default.nix
index 74eecc7979c08..6929957294c11 100644
--- a/pkgs/development/tools/sshs/default.nix
+++ b/pkgs/development/tools/sshs/default.nix
@@ -1,30 +1,40 @@
 { lib
-, buildGoModule
+, rustPlatform
 , fetchFromGitHub
-, nix-update-script
+, testers
+, sshs
 }:
 
-buildGoModule rec {
+rustPlatform.buildRustPackage rec {
   pname = "sshs";
-  version = "3.4.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "quantumsheep";
     repo = pname;
     rev = version;
-    hash = "sha256-KD971dGm1oQt9GbiUGZm2k4SJrBAA9rnHj7Gu0t3SJw=";
+    hash = "sha256-phVwNPElQOTgsrDxzyUcDMByxi7t1IIPFCEHJTXiBdY=";
   };
 
-  vendorHash = "sha256-OCh37wjSs40Q0VQmoc1nXQ4nWddnoUCrI5xgxpxR/Ec=";
+  cargoLock = {
+    # Patch version output
+    lockFile = ./Cargo.lock;
+  };
 
-  ldflags = [ "-s" "-w" "-X github.com/quantumsheep/sshs/cmd.Version=${version}" ];
+  postPatch = ''
+    ln -sf ${./Cargo.toml} Cargo.toml
+    ln -sf ${./Cargo.lock} Cargo.lock
+  '';
 
-  passthru.updateScript = nix-update-script { };
+  passthru.tests.version = testers.testVersion {
+    package = sshs;
+  };
 
   meta = with lib; {
     description = "Terminal user interface for SSH";
     homepage = "https://github.com/quantumsheep/sshs";
     license = licenses.mit;
     maintainers = with maintainers; [ not-my-segfault ];
+    mainProgram = "sshs";
   };
 }
diff --git a/pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch b/pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch
index 75b8f0cf8dfe5..ae0b3f37d505c 100644
--- a/pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch
+++ b/pkgs/development/tools/vagrant/0001-Revert-Merge-pull-request-12225-from-chrisroberts-re.patch
@@ -78,18 +78,18 @@ index c019f30ff..ba7e40076 100755
    at_exit(&Vagrant::Bundler.instance.method(:deinit))
  
 diff --git a/lib/vagrant.rb b/lib/vagrant.rb
-index f3dcba0bc..d696bdff8 100644
+index f790039d3..97e67e3b8 100644
 --- a/lib/vagrant.rb
 +++ b/lib/vagrant.rb
-@@ -81,7 +81,7 @@ if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != ""
-     # See https://github.com/rest-client/rest-client/issues/34#issuecomment-290858
-     # for more information
-     class VagrantLogger < Log4r::Logger
--      def << msg
-+      def << (msg)
-         debug(msg.strip)
-       end
-     end
+@@ -59,7 +59,7 @@ require "vagrant/plugin/manager"
+ # See https://github.com/rest-client/rest-client/issues/34#issuecomment-290858
+ # for more information
+ class VagrantLogger < Log4r::Logger
+-  def << msg
++  def << (msg)
+     debug(msg.strip)
+   end
+ end
 diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb
 index eb2caabb0..d75f54362 100644
 --- a/lib/vagrant/bundler.rb
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 5dc9e46671e91..cfd8d91f10cfb 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,13 +1,14 @@
 { stdenv, lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive
 , libguestfs, qemu, writeText, withLibvirt ? stdenv.isLinux
+, openssl
 }:
 
 let
   # NOTE: bumping the version and updating the hash is insufficient;
   # you must use bundix to generate a new gemset.nix in the Vagrant source.
-  version = "2.3.7";
+  version = "2.4.1";
   url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  hash = "sha256-+oqWMZqnuf9fSpkbd8vzf1SVSdhHN2JLzr76jyAEv0U=";
+  hash = "sha256-Gc+jBuP/rl3b8wUE9hoaMSSqmodyGxMKFAmNTqH+v4k=";
 
   deps = bundlerEnv rec {
     name = "${pname}-${version}";
@@ -50,6 +51,11 @@ in buildRubyGem rec {
   dontBuild = false;
   src = fetchurl { inherit url hash; };
 
+  # Some reports indicate that some connection types, particularly
+  # WinRM, suffer from "Digest initialization failed" errors. Adding
+  # openssl as a build input resolves this runtime error.
+  buildInputs = [ openssl ];
+
   patches = [
     ./unofficial-installation-nowarn.patch
     ./use-system-bundler-version.patch
@@ -105,8 +111,8 @@ in buildRubyGem rec {
   meta = with lib; {
     description = "A tool for building complete development environments";
     homepage = "https://www.vagrantup.com/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    license = licenses.bsl11;
+    maintainers = with maintainers; [ tylerjl ];
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/tools/vagrant/gemset.nix b/pkgs/development/tools/vagrant/gemset.nix
index ba76a4f8d8bfd..d69322bc17c79 100644
--- a/pkgs/development/tools/vagrant/gemset.nix
+++ b/pkgs/development/tools/vagrant/gemset.nix
@@ -9,6 +9,16 @@
     };
     version = "1.1.0";
   };
+  bigdecimal = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00db5v09k1z3539g1zrk7vkjrln9967k08adh6qx33ng97a2gg5w";
+      type = "gem";
+    };
+    version = "3.1.6";
+  };
   builder = {
     groups = ["default"];
     platforms = [];
@@ -34,30 +44,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
+      sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.2.3";
   };
   date = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
+      sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "3.3.4";
   };
   diff-lcs = {
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9";
+      sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.5.1";
   };
   ed25519 = {
     groups = ["default"];
@@ -84,10 +94,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j826kfvzn7nc5pv950n270r0sx1702k988ad11cdlav3dcxxw09";
+      sha256 = "1kmmwgjzlrnc3nnrdnw1z67c95nbw0hv54a73yj8jw6pcvl9585x";
       type = "gem";
     };
-    version = "0.99.0";
+    version = "0.109.0";
   };
   fake_ftp = {
     groups = ["development"];
@@ -104,20 +114,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
+      sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
       type = "gem";
     };
-    version = "1.15.5";
+    version = "1.16.3";
   };
   google-protobuf = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zqyy07ps6zh0gi9nppmnsngzv5nx1qjv726mzhv83sh90rc25nm";
+      sha256 = "1mnxzcq8kmyfb9bkzqnp019d1hx1vprip3yzdkkha6b3qz5rgg9r";
       type = "gem";
     };
-    version = "3.22.2";
+    version = "3.25.3";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -125,10 +135,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12w5bwaziz2iqb9dvgnskp2a7ifml6n4lyl9ypvnxj5bfrrwysap";
+      sha256 = "1zrxnv9s2q39f2nh32x7nbfi8lpwzmmn3ji4adglg8dlfr1xrz16";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.13.0";
   };
   grpc = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types"];
@@ -136,20 +146,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kj4j1g6l9v92k3byqyfq2kmawy12cj898daxqn1jsw0b458k0dh";
+      sha256 = "1ndyis4hyq5wyypvy5j2pxaax73k9xd9cdsc5hyvpk3vbnn26rdb";
       type = "gem";
     };
-    version = "1.53.0";
+    version = "1.56.2";
   };
   grpc-tools = {
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dal0xca2f301jrh049agmrbab21yjqd8npizzz55dhqn9dkwdsl";
+      sha256 = "0pwwsmw402y8f8l3s3v433lx1f3cahzh2bj3i6jhkg1z87z83pqm";
       type = "gem";
     };
-    version = "1.53.0";
+    version = "1.62.0";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -199,20 +209,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi";
+      sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx";
       type = "gem";
     };
-    version = "1.12.0";
+    version = "1.14.1";
   };
   ipaddr = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ypic2hrmvvcgw7al72raphqv5cs1zvq4w284pwrkvfqsrqrqrsf";
+      sha256 = "0p98v9b6rn5ma04qwvzs0nrg0hmnwpm70s9jshzdsrkqapcw4sh2";
       type = "gem";
     };
-    version = "1.2.5";
+    version = "1.2.6";
   };
   listen = {
     dependencies = ["rb-fsevent" "rb-inotify"];
@@ -220,10 +230,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn";
+      sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv";
       type = "gem";
     };
-    version = "3.8.0";
+    version = "3.9.0";
   };
   little-plugger = {
     groups = ["default"];
@@ -262,20 +272,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
+      sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1";
       type = "gem";
     };
-    version = "3.4.1";
+    version = "3.5.2";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pky3vzaxlgm9gw5wlqwwi7wsw3jrglrfflrppvvnsrlaiz043z9";
+      sha256 = "0zpn5brxdf5akh7ij511bkrd30fxd7697shmxxszahqj9m62zvn5";
       type = "gem";
     };
-    version = "3.2023.0218.1";
+    version = "3.2024.0206";
   };
   multi_json = {
     groups = ["default"];
@@ -293,10 +303,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bqy9xg5225x102873j1qqq1bvnwfbi8lnf4357mpq6wimnw9pf9";
+      sha256 = "1pi67ywf8yvv18vr8kvyb1igdv8nsjafyy9c86fny5wvi10qcwqv";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "0.3.4";
   };
   net-protocol = {
     dependencies = ["timeout"];
@@ -304,10 +314,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91";
+      sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "0.2.2";
   };
   net-scp = {
     dependencies = ["net-ssh"];
@@ -336,40 +346,52 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yx0pb5fmziz92bw8qzbh8vf20lr56nd3s6q8h0gsgr307lki687";
+      sha256 = "1i01340c4i144vvn3x54lc2rb77ch829qipl1rh6rqwm3yxzml9w";
       type = "gem";
     };
-    version = "7.1.0";
+    version = "7.2.1";
   };
   nori = {
+    dependencies = ["bigdecimal"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn";
+      sha256 = "12wfv36jzc0978ij5c56nnfh5k8ax574njawigs98ysmp1x5s2ql";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   pairing_heap = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15rcn0bd9z25dgbrsnjp9zva1hs22vnr54pzi9wjy62js2nfmx9r";
+      sha256 = "059kqpw53cancnp0bp7y1s74y1955riw33w3lqfbnms4b4mdh5zj";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.1.0";
   };
   rake = {
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
+      sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
       type = "gem";
     };
-    version = "13.0.6";
+    version = "13.1.0";
+  };
+  rake-compiler = {
+    dependencies = ["rake"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vhdkwblhzp4wp1jh95qiibly2zsnmg3659r6d5xp1mzgd9ghxji";
+      type = "gem";
+    };
+    version = "1.2.7";
   };
   rb-fsevent = {
     groups = ["default"];
@@ -408,10 +430,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.6";
   };
   rgl = {
     dependencies = ["pairing_heap" "rexml" "stream"];
@@ -430,10 +452,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c";
+      sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l";
       type = "gem";
     };
-    version = "3.12.0";
+    version = "3.13.0";
   };
   rspec-core = {
     dependencies = ["rspec-support"];
@@ -441,10 +463,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0da45cvllbv39sdbsl65vp5djb2xf5m10mxc9jm7rsqyyxjw4h1f";
+      sha256 = "0k252n7s80bvjvpskgfm285a3djjjqyjcarlh3aq7a4dx2s94xsm";
       type = "gem";
     };
-    version = "3.12.1";
+    version = "3.13.0";
   };
   rspec-expectations = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -452,10 +474,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6";
+      sha256 = "0bhhjzwdk96vf3gq3rs7mln80q27fhq82hda3r15byb24b34h7b2";
       type = "gem";
     };
-    version = "3.12.2";
+    version = "3.13.0";
   };
   rspec-its = {
     dependencies = ["rspec-core" "rspec-expectations"];
@@ -474,20 +496,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfm17xakfvwya236graj6c2arr4sb9zasp35q5fykhyz8mhs0w2";
+      sha256 = "0rkzkcfk2x0qjr5fxw6ib4wpjy0hqbziywplnp6pg3bm2l98jnkk";
       type = "gem";
     };
-    version = "3.12.5";
+    version = "3.13.0";
   };
   rspec-support = {
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12y52zwwb3xr7h91dy9k3ndmyyhr3mjcayk0nnarnrzz8yr48kfx";
+      sha256 = "03z7gpqz5xkw9rf53835pa8a9vgj4lic54rnix9vfwmp2m7pv1s8";
       type = "gem";
     };
-    version = "3.12.0";
+    version = "3.13.1";
   };
   rubyntlm = {
     groups = ["default"];
@@ -535,20 +557,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13pzdsgf3v06mymzipcpa7p80shyw328ybn775nzpnhc6n8y9g30";
+      sha256 = "0c15v19hyxjcfzaviqlwhgajgyrrlb0pjilza6mkv49bhspy6av6";
       type = "gem";
     };
-    version = "0.2.2";
+    version = "0.3.0";
   };
   timeout = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pfddf51n5fnj4f9ggwj3wbf23ynj0nbxlxqpz12y1gvl9g7d6r6";
+      sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "0.4.1";
   };
   vagrant-spec = {
     dependencies = ["childprocess" "log4r" "rspec" "thor"];
@@ -556,8 +578,8 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "708be5c53ea10131b19921c536eae012d1396a96";
-      sha256 = "0xnyai6wdx3xi5nhdvn7bpz73dlvnam4dckkwzd03apdssg6pnr6";
+      rev = "2a5afa7512753288b4ec1e26ec13bc6479b2fabb";
+      sha256 = "08l0qc7566126pqwn3cr91j5wgd2zqij8sacngr5yfsk2anl8fw0";
       type = "git";
       url = "https://github.com/hashicorp/vagrant-spec.git";
     };
@@ -569,10 +591,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0np0d8rjca130si5iaxasbqmfbbx4l3kd9mxdsa3p5mqiia7za3b";
+      sha256 = "0jhwciki5i8hjbgv2f1p544bi92s9wdsfrjympzslysdzk95djpg";
       type = "gem";
     };
-    version = "3.0.5";
+    version = "3.1.1";
   };
   wdm = {
     groups = ["default"];
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 557913e957ddc..d4ba0ad404df9 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -9,20 +9,20 @@
 , libiconv
 , darwin
 , librusty_v8 ? callPackage ./librusty_v8.nix { }
+,
 }:
-
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.41.1";
+  version = "1.41.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-dbURsob4FLdTK8TiHUnmY4Gjd0bw+EDZu1R0WZJnJG8=";
+    hash = "sha256-l8He7EM9n8r7OTC6jN6F8ldf3INXxEeaUI1u6AfR7RI=";
   };
 
-  cargoHash = "sha256-8pENTx8BG23L7m3hlv++KvFY/xOjcXAHuw5V60p4Nh8=";
+  cargoHash = "sha256-T+6b4bGx7y/7E0CIacKFQ32DCAiNFXFi15ibq7rDfI4=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
@@ -40,8 +40,8 @@ rustPlatform.buildRustPackage rec {
     installShellFiles
   ];
   buildInputs = lib.optionals stdenv.isDarwin (
-    [ libiconv darwin.libobjc ] ++
-    (with darwin.apple_sdk_11_0.frameworks; [
+    [ libiconv darwin.libobjc ]
+    ++ (with darwin.apple_sdk_11_0.frameworks; [
       Security
       CoreServices
       Metal
diff --git a/pkgs/development/web/nodejs/v21.nix b/pkgs/development/web/nodejs/v21.nix
index 51460f6ce7867..d71480602d541 100644
--- a/pkgs/development/web/nodejs/v21.nix
+++ b/pkgs/development/web/nodejs/v21.nix
@@ -8,8 +8,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "21.7.0";
-  sha256 = "sha256-5B7v4eWWJO5/MSw4+PffwRWVZBrLIpPSEXbwPSdj6dQ=";
+  version = "21.7.1";
+  sha256 = "sha256-EnK24SnVZNveF1J7hEIQuXHCCnCucpJoGGt8udmQpks=";
   patches = [
     ./disable-darwin-v8-system-instrumentation-node19.patch
     ./bypass-darwin-xcrun-node16.patch
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 051e097eb3a34..1ddcccd27f9d2 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -1,16 +1,16 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitLab
 , makeWrapper
 , pkg-config
 , nasm
 , makeDesktopItem
+, copyDesktopItems
 , alsa-lib
 , flac
 , gtk2
 , libvorbis
 , libvpx
-, libGLU
 , libGL
 , SDL2
 , SDL2_mixer
@@ -18,29 +18,23 @@
 , Cocoa
 , GLUT
 , OpenGL
+, graphicsmagick
 }:
 
 let
-  desktopItem = makeDesktopItem {
-    name = "eduke32";
-    exec = "@out@/bin/${wrapper}";
-    comment = "Duke Nukem 3D port";
-    desktopName = "Enhanced Duke Nukem 3D";
-    genericName = "Duke Nukem 3D port";
-    categories = [ "Game" ];
-  };
-
   wrapper = "eduke32-wrapper";
+  swWrapper = "voidsw-wrapper";
 
-in stdenv.mkDerivation rec {
+in stdenv.mkDerivation (finalAttrs: {
   pname = "eduke32";
-  version = "20230926";
-  rev = "10459";
-  revExtra = "8feaf6c25";
-
-  src = fetchurl {
-    url = "https://dukeworld.com/eduke32/synthesis/${version}-${rev}-${revExtra}/eduke32_src_${version}-${rev}-${revExtra}.tar.xz";
-    hash = "sha256-GQOpDQm2FeaOMyYu9L5zhrM6XFvZAHMAwn1tSK7RCB8=";
+  version = "0-unstable-2024-02-17";
+
+  src = fetchFromGitLab {
+    domain = "voidpoint.io";
+    owner = "terminx";
+    repo = "eduke32";
+    rev = "8afa42e388e0434b38979fdddc763363717a2727";
+    hash = "sha256-dyZ4JtDBxsTDe9uQDWxJe7M74X7m+5wpEHm+i+s9hwo=";
   };
 
   buildInputs = [
@@ -53,7 +47,6 @@ in stdenv.mkDerivation rec {
     alsa-lib
     gtk2
     libGL
-    libGLU
   ] ++ lib.optionals stdenv.isDarwin [
     AGL
     Cocoa
@@ -61,21 +54,24 @@ in stdenv.mkDerivation rec {
     OpenGL
   ];
 
-  nativeBuildInputs = [ makeWrapper pkg-config ]
-    ++ lib.optional (stdenv.hostPlatform.system == "i686-linux") nasm;
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+    copyDesktopItems
+    graphicsmagick
+  ] ++ lib.optionals (stdenv.hostPlatform.system == "i686-linux") [
+    nasm
+  ];
 
   postPatch = ''
     substituteInPlace source/imgui/src/imgui_impl_sdl2.cpp \
-      --replace '#include <SDL.h>' '#include <SDL2/SDL.h>' \
-      --replace '#include <SDL_syswm.h>' '#include <SDL2/SDL_syswm.h>' \
-      --replace '#include <SDL_vulkan.h>' '#include <SDL2/SDL_vulkan.h>'
+      --replace-fail '#include <SDL.h>' '#include <SDL2/SDL.h>' \
+      --replace-fail '#include <SDL_syswm.h>' '#include <SDL2/SDL_syswm.h>' \
+      --replace-fail '#include <SDL_vulkan.h>' '#include <SDL2/SDL_vulkan.h>'
   '' + lib.optionalString stdenv.isLinux ''
-    substituteInPlace source/build/src/glbuild.cpp \
-      --replace libGLU.so ${libGLU}/lib/libGLU.so
-
     for f in glad.c glad_wgl.c ; do
       substituteInPlace source/glad/src/$f \
-        --replace libGL.so ${libGL}/lib/libGL.so
+        --replace-fail libGL.so ${libGL}/lib/libGL.so
     done
   '';
 
@@ -86,38 +82,72 @@ in stdenv.mkDerivation rec {
     "LTO=0"
   ];
 
+  buildFlags = [
+    "duke3d"
+    "sw"
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "eduke32";
+      icon = "eduke32";
+      exec = "${wrapper}";
+      comment = "Duke Nukem 3D port";
+      desktopName = "Enhanced Duke Nukem 3D";
+      genericName = "Duke Nukem 3D port";
+      categories = [ "Game" ];
+    })
+    (makeDesktopItem {
+      name = "voidsw";
+      icon = "voidsw";
+      exec = "${swWrapper}";
+      comment = "Shadow Warrior eduke32 source port";
+      desktopName = "VoidSW";
+      genericName = "Shadow Warrior source port";
+      categories = [ "Game" ];
+    })
+  ];
+
   enableParallelBuilding = true;
 
   installPhase = ''
     runHook preInstall
 
-    install -Dm755 -t $out/bin eduke32 mapster32
+    install -Dm755 -t $out/bin eduke32 mapster32 voidsw wangulator
   '' + lib.optionalString stdenv.isLinux ''
     makeWrapper $out/bin/eduke32 $out/bin/${wrapper} \
       --set-default EDUKE32_DATA_DIR /var/lib/games/eduke32 \
       --add-flags '-g "$EDUKE32_DATA_DIR/DUKE3D.GRP"'
-
-    cp -rv ${desktopItem}/share $out
-    substituteInPlace $out/share/applications/eduke32.desktop \
-      --subst-var out
+    makeWrapper $out/bin/voidsw $out/bin/${swWrapper} \
+      --set-default EDUKE32_DATA_DIR /var/lib/games/eduke32 \
+      --add-flags '-g"$EDUKE32_DATA_DIR/SW.GRP"'
+    mkdir -p $out/share/icons/hicolor/scalable/apps
+    gm convert "./source/duke3d/rsrc/game_icon.ico[10]" $out/share/icons/hicolor/scalable/apps/eduke32.png
+    install -Dm644 ./source/sw/rsrc/game_icon.svg $out/share/icons/hicolor/scalable/apps/voidsw.svg
   '' + lib.optionalString stdenv.isDarwin ''
     mkdir -p $out/Applications/EDuke32.app/Contents/MacOS
     mkdir -p $out/Applications/Mapster32.app/Contents/MacOS
+    mkdir -p $out/Applications/VoidSW.app/Contents/MacOS
+    mkdir -p $out/Applications/Wangulator.app/Contents/MacOS
 
     cp -r platform/Apple/bundles/EDuke32.app/* $out/Applications/EDuke32.app/
     cp -r platform/Apple/bundles/Mapster32.app/* $out/Applications/Mapster32.app/
+    cp -r platform/Apple/bundles/VoidSW.app/* $out/Applications/VoidSW.app/
+    cp -r platform/Apple/bundles/Wangulator.app/* $out/Applications/Wangulator.app/
 
     ln -sf $out/bin/eduke32 $out/Applications/EDuke32.app/Contents/MacOS/eduke32
     ln -sf $out/bin/mapster32 $out/Applications/Mapster32.app/Contents/MacOS/mapster32
+    ln -sf $out/bin/voidsw $out/Applications/VoidSW.app/Contents/MacOS/voidsw
+    ln -sf $out/bin/wangulator $out/Applications/Wangulator.app/Contents/MacOS/wangulator
   '' + ''
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Enhanched port of Duke Nukem 3D for various platforms";
     homepage = "http://eduke32.com";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ mikroskeem sander ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ gpl2Plus ];
+    maintainers = with lib.maintainers; [ mikroskeem sander ];
+    platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index 9ff36c949ce3c..6f653c46df864 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freeciv";
-  version = "3.0.10";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "freeciv";
     repo = "freeciv";
     rev = "R${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-f+VJYWsfsoGLs9Ypk5cJQgn86PhsJ/6ODDjlnp84Frg=";
+    hash = "sha256-8cMy0O5VxVi1ffvA/Gz4BnTB0WvJptMSgM7Zu992k5k=";
   };
 
   postPatch = ''
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
     ]
     ++ lib.optionals qtClient [
       "--enable-client=qt"
+      "--with-qtver=qt5"
       "--with-qt5-includes=${qt5.qtbase.dev}/include"
     ] ++ lib.optionals gtkClient [ "--enable-client=gtk3.22" ]
     ++ lib.optional enableSqlite "--enable-fcdb=sqlite3"
@@ -82,5 +83,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ pierron ];
     platforms = platforms.unix;
     hydraPlatforms = platforms.linux; # sdl-config times out on darwin
+    broken = qtClient && stdenv.isDarwin; # Missing Qt5 development files
   };
 }
diff --git a/pkgs/games/lgames/lbreakout2/default.nix b/pkgs/games/lgames/lbreakout2/default.nix
deleted file mode 100644
index f554a1683eee1..0000000000000
--- a/pkgs/games/lgames/lbreakout2/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, fetchpatch
-, SDL
-, SDL_mixer
-, libintl
-, libpng
-, zlib
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lbreakout2";
-  version = "2.6.5";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
-    sha256 = "0vwdlyvh7c4y80q5vp7fyfpzbqk9lq3w8pvavi139njkalbxc14i";
-  };
-
-  # Can't exit from pause without this patch
-  patches = [(fetchpatch {
-    url = "https://sources.debian.org/data/main/l/lbreakout2/2.6.5-2/debian/patches/sdl_fix_pauses.patch";
-    hash = "sha256-ycsuxfokpOblLky42MwtJowdEp7v5dZRMFIR4id4ZBI=";
-  })];
-
-  buildInputs = [
-    SDL
-    SDL_mixer
-    libintl
-    libpng
-    zlib
-  ];
-
-  # With fortify it crashes at runtime:
-  #   *** buffer overflow detected ***: terminated
-  #   Aborted (core dumped)
-  hardeningDisable = [ "fortify" ];
-
-  meta = with lib; {
-    homepage = "http://lgames.sourceforge.net/LBreakout2/";
-    description = "Breakout clone from the LGames series";
-    license = licenses.gpl2Plus;
-    maintainers = [ maintainers.ciil ];
-    platforms = platforms.unix;
-    hydraPlatforms = lib.platforms.linux; # sdl-config times out on darwin
-  };
-}
diff --git a/pkgs/games/nile/default.nix b/pkgs/games/nile/default.nix
index d7eb2cfb3b8ef..f1117f2fba890 100644
--- a/pkgs/games/nile/default.nix
+++ b/pkgs/games/nile/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonApplication rec {
   pname = "nile";
-  version = "unstable-2024-02-05";
+  version = "unstable-2024-03-09";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "imLinguin";
     repo = "nile";
-    rev = "5e878e19f6caba74bfe18369d84476ceb6779ff1";
-    hash = "sha256-sGhceSW1bL5uQ726apfn9BJaO1FxjOBqzAdt2x7us9Q=";
+    rev = "ae09acfc20fe4e462762666871f78caae70f6c74";
+    hash = "sha256-hqhIacsbultY3CvvkYAZHmhCkQLi1mkPQwkztaUOd10=";
   };
 
   disabled = pythonOlder "3.8";
diff --git a/pkgs/games/openjk/default.nix b/pkgs/games/openjk/default.nix
index 5ef8aa3e43b41..07ef12b003650 100644
--- a/pkgs/games/openjk/default.nix
+++ b/pkgs/games/openjk/default.nix
@@ -32,13 +32,13 @@ let
   };
 in stdenv.mkDerivation {
   pname = "OpenJK";
-  version = "0-unstable-2024-02-20";
+  version = "0-unstable-2024-03-05";
 
   src = fetchFromGitHub {
     owner = "JACoders";
     repo = "OpenJK";
-    rev = "1e8a7998ca2fe434daebb41d586ac3cd5296433a";
-    sha256 = "sha256-TKJNaz+oWNYyReFZVefg1frPXyd3Yl96JDklp1qY1to=";
+    rev = "62124e18ef09b293ea66a1f673b827d83e073928";
+    sha256 = "sha256-2LgxRWoAfxNE6YDyrpNmDH9APhi2XH4ufNCNMd91llU=";
   };
 
   dontAddPrefix = true;
diff --git a/pkgs/games/principia/default.nix b/pkgs/games/principia/default.nix
index 3cf98dada0275..5074b3582c3e2 100644
--- a/pkgs/games/principia/default.nix
+++ b/pkgs/games/principia/default.nix
@@ -1,13 +1,14 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, autoreconfHook
+, cmake
 , pkg-config
+, wrapGAppsHook
 
 , curl
 , freetype
 , glew
-, gtk2
+, gtk3
 , libGL
 , libjpeg
 , libpng
@@ -18,27 +19,28 @@
 , SDL2_ttf
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "principia";
-  version = "unstable-2023-03-21";
+  version = "2024.02.29";
 
   src = fetchFromGitHub {
     owner = "Bithack";
     repo = "principia";
-    rev = "af2cfda21b6ce4c0725700e2a01b0597a97dbeff";
-    hash = "sha256-jBWdXzbPpk23elHcs5sWkxXfkekj+aa24VvEHzid8KE=";
+    rev = finalAttrs.version;
+    hash = "sha256-L37H261IGCcH2K7RhX8iTdHRkle83vKhgpyssRmSKN0=";
   };
 
   nativeBuildInputs = [
-    autoreconfHook
+    cmake
     pkg-config
+    wrapGAppsHook
   ];
 
   buildInputs = [
     curl
     freetype
     glew
-    gtk2
+    gtk3
     libGL
     libjpeg
     libpng
@@ -49,45 +51,13 @@ stdenv.mkDerivation {
     SDL2_ttf
   ];
 
-  preAutoreconf = ''
-    cd build-linux
-  '';
-
-  # Since we bypass the "build-linux/go" wrapper script so we can use nixpkgs'
-  # autotools/make integration, set the release flags manually.
-  # https://github.com/Bithack/principia/issues/98
-  preBuild = ''
-    RELEASE_SHARED="-ffast-math -DNDEBUG=1 -s -fomit-frame-pointer -fvisibility=hidden -fdata-sections -ffunction-sections"
-    makeFlagsArray+=(
-      CFLAGS="$RELEASE_SHARED -O1"
-      CXXFLAGS="$RELEASE_SHARED -O2 -fvisibility-inlines-hidden -fno-rtti"
-      LDFLAGS="-Wl,-O,-s,--gc-sections"
-    )
-  '';
-
-  # `make install` only installs the binary, and the binary looks for data
-  # files in its same directory, so we override installPhase, install the
-  # binary in $out/share, and link to it from $out/bin
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-    mkdir -p $out/share/principia
-    install -Dm755 principia $out/share/principia/principia
-    ln -s $out/share/principia/principia $out/bin/principia
-
-    cp -r --dereference data-pc data-shared $out/share/principia/
-    install -Dm644 principia.desktop $out/share/applications/principia.desktop
-    install -Dm644 principia-url-handler.desktop $out/share/applications/principia-url-handler.desktop
-    install -Dm644 principia.png $out/share/pixmaps/principia.png
-
-    runHook postInstall
-  '';
-
-  # The actual binary is here, see comment above installPhase
-  stripDebugList = [ "share/principia" ];
+  cmakeFlags = [
+    # Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed
+    (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin")
+  ];
 
   meta = with lib; {
+    changelog = "https://principia-web.se/wiki/Changelog#${lib.replaceStrings ["."] ["-"] finalAttrs.version}";
     description = "Physics-based sandbox game";
     homepage = "https://principia-web.se/";
     downloadPage = "https://principia-web.se/download";
@@ -95,4 +65,4 @@ stdenv.mkDerivation {
     maintainers = [ maintainers.fgaz ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix
index d5b266cece376..9c68f241a7fee 100644
--- a/pkgs/games/steam/fhsenv.nix
+++ b/pkgs/games/steam/fhsenv.nix
@@ -111,8 +111,7 @@ in buildFHSEnv rec {
     xorg.libXdamage
     xorg.libxshmfence
     xorg.libXxf86vm
-    libelf
-    (lib.getLib elfutils)
+    elfutils
 
     # Without these it silently fails
     xorg.libXinerama
diff --git a/pkgs/games/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix
index df5b393ccded7..9afbdf1913b0f 100644
--- a/pkgs/games/wesnoth/default.nix
+++ b/pkgs/games/wesnoth/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch
+{ lib, stdenv, fetchFromGitHub
 , cmake, pkg-config, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf
 , pango, gettext, boost, libvorbis, fribidi, dbus, libpng, pcre, openssl, icu
 , Cocoa, Foundation
@@ -6,25 +6,15 @@
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.16.9";
+  version = "1.16.11";
 
   src = fetchFromGitHub {
     rev = version;
     owner = "wesnoth";
     repo = "wesnoth";
-    hash = "sha256-KtAPc2nsqSoHNsLTLom/yaUECn+IWBdBFpiMclrUHxM=";
+    hash = "sha256-nnAMMc1pPYOziaHGUfh8LevECBb/lzCkaPyzFWs4zTY=";
   };
 
-  patches = [
-    # Pull upstream fix https://github.com/wesnoth/wesnoth/pull/6726
-    # for gcc-13 support.
-    (fetchpatch {
-      name = "gcc-134.patch";
-      url = "https://github.com/wesnoth/wesnoth/commit/f073493ebc279cefa391d364c48265058795e1d2.patch";
-      hash = "sha256-uTB65DEBZwHFRgDwNx/yVjzmnW3jRoiibadXhNcwMkI=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net SDL2_ttf pango gettext boost
diff --git a/pkgs/kde/gear/akonadi/default.nix b/pkgs/kde/gear/akonadi/default.nix
index 15d1436e9cb52..64966c4fad583 100644
--- a/pkgs/kde/gear/akonadi/default.nix
+++ b/pkgs/kde/gear/akonadi/default.nix
@@ -22,4 +22,10 @@ mkKdeDerivation {
 
   extraNativeBuildInputs = [qttools shared-mime-info];
   extraBuildInputs = [kaccounts-integration accounts-qt xz mariadb];
+
+  # Hardcoded as a QString, which is UTF-16 so Nix can't pick it up automatically
+  postFixup = ''
+    mkdir -p $out/nix-support
+    echo "${mariadb}" > $out/nix-support/depends
+  '';
 }
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 9d4e04d1c18ab..617b71a6b2a1d 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -77,7 +77,6 @@ let
       ncurses # tools/kwboot
       bc
       bison
-      dtc
       flex
       installShellFiles
       (buildPackages.python3.withPackages (p: [
@@ -96,7 +95,7 @@ let
     enableParallelBuilding = true;
 
     makeFlags = [
-      "DTC=dtc"
+      "DTC=${lib.getExe buildPackages.dtc}"
       "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
     ] ++ extraMakeFlags;
 
diff --git a/pkgs/os-specific/linux/apparmor/0001-aa-remove-unknown_empty-ruleset.patch b/pkgs/os-specific/linux/apparmor/0001-aa-remove-unknown_empty-ruleset.patch
new file mode 100644
index 0000000000000..ce2a0e7cc5b3c
--- /dev/null
+++ b/pkgs/os-specific/linux/apparmor/0001-aa-remove-unknown_empty-ruleset.patch
@@ -0,0 +1,30 @@
+commit 166afaf144d6473464975438353257359dd51708
+Author: Andreas Wiese <andreas.wiese@kernkonzept.com>
+Date:   Thu Feb 1 11:35:02 2024 +0100
+
+    aa-remove-unknown: fix readability check
+    
+    This check is intended for ensuring that the profiles file can actually
+    be opened.  The *actual* check is performed by the shell, not the read
+    utility, which won't even be executed if the input redirection (and
+    hence the test) fails.
+    
+    If the test succeeds, though, using `read` here might actually
+    jeopardize the test result if there are no profiles loaded and the file
+    is empty.
+    
+    This commit fixes that case by simply using `true` instead of `read`.
+
+diff --git a/utils/aa-remove-unknown b/utils/aa-remove-unknown
+index 0e00d6a0..3351feef 100755
+--- a/utils/aa-remove-unknown
++++ b/utils/aa-remove-unknown
+@@ -63,7 +63,7 @@ fi
+ # We have to do this check because error checking awk's getline() below is
+ # tricky and, as is, results in an infinite loop when apparmorfs returns an
+ # error from open().
+-if ! IFS= read -r _ < "$PROFILES" ; then
++if ! true < "$PROFILES" ; then
+ 	echo "ERROR: Unable to read apparmorfs profiles file" 1>&2
+ 	exit 1
+ elif [ ! -w "$REMOVE" ] ; then
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 97fb7f0a6190f..cebae9b8402dd 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -56,7 +56,9 @@ let
       --replace "/usr/include/linux/capability.h" "${linuxHeaders}/include/linux/capability.h"
   '';
 
-  patches = lib.optionals stdenv.hostPlatform.isMusl [
+  patches = [
+    ./0001-aa-remove-unknown_empty-ruleset.patch
+  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
       url = "https://git.alpinelinux.org/aports/plain/testing/apparmor/0003-Added-missing-typedef-definitions-on-parser.patch?id=74b8427cc21f04e32030d047ae92caa618105b53";
       name = "0003-Added-missing-typedef-definitions-on-parser.patch";
diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix
index 984eee759451e..c16343a176b7e 100644
--- a/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/pkgs/os-specific/linux/bpftrace/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpftrace";
-  version = "0.20.1";
+  version = "0.20.2";
 
   src = fetchFromGitHub {
     owner = "iovisor";
     repo  = "bpftrace";
     rev   = "v${version}";
-    hash  = "sha256-jgM01G0zhaXNd2FiZwQb13O2/mXS971gUSGOAnrJLTQ=";
+    hash  = "sha256-AndqOqwDTQIFr5vVJ8i4tarCfg9Vz2i58eB+/7OVHNE=";
   };
 
 
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix
index ab55839c34080..32eef7f9e26a7 100644
--- a/pkgs/os-specific/linux/conky/default.nix
+++ b/pkgs/os-specific/linux/conky/default.nix
@@ -16,13 +16,14 @@
 
 , ncursesSupport      ? true      , ncurses       ? null
 , x11Support          ? true      , freetype, xorg
+, waylandSupport      ? true      , pango, wayland, wayland-protocols, wayland-scanner
 , xdamageSupport      ? x11Support, libXdamage    ? null
 , doubleBufferSupport ? x11Support
 , imlib2Support       ? x11Support, imlib2        ? null
 
 , luaSupport          ? true      , lua           ? null
 , luaImlib2Support    ? luaSupport && imlib2Support
-, luaCairoSupport     ? luaSupport && x11Support, cairo ? null
+, luaCairoSupport     ? luaSupport && (x11Support || waylandSupport), cairo ? null
 , toluapp ? null
 
 , wirelessSupport     ? true      , wirelesstools ? null
@@ -76,13 +77,13 @@ stdenv.mkDerivation rec {
     hash = "sha256-L8YSbdk+qQl17L4IRajFD/AEWRXb2w7xH9sM9qPGrQo=";
   };
 
-  postPatch = ''
-    sed -i -e '/include.*CheckIncludeFile)/i include(CheckIncludeFiles)' \
-      cmake/ConkyPlatformChecks.cmake
-  '' + optionalString docsSupport ''
+  postPatch = optionalString docsSupport ''
     substituteInPlace cmake/Conky.cmake --replace "# set(RELEASE true)" "set(RELEASE true)"
 
     cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp
+  '' + optionalString waylandSupport ''
+    substituteInPlace src/CMakeLists.txt \
+      --replace 'COMMAND ''${Wayland_SCANNER}' 'COMMAND wayland-scanner'
   '';
 
   env = {
@@ -91,16 +92,21 @@ stdenv.mkDerivation rec {
     NIX_LDFLAGS = "-lgcc_s";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ glib libXinerama ]
+  nativeBuildInputs = [ cmake pkg-config ]
     ++ optionals docsSupport        [ docbook2x docbook_xsl docbook_xml_dtd_44 libxslt man less ]
+    ++ optional  waylandSupport     wayland-scanner
+    ++ optional  luaImlib2Support   toluapp
+    ++ optional  luaCairoSupport    toluapp
+    ;
+  buildInputs = [ glib libXinerama ]
     ++ optional  ncursesSupport     ncurses
     ++ optionals x11Support         [ freetype xorg.libICE xorg.libX11 xorg.libXext xorg.libXft xorg.libSM ]
+    ++ optionals waylandSupport     [ pango wayland wayland-protocols ]
     ++ optional  xdamageSupport     libXdamage
     ++ optional  imlib2Support      imlib2
     ++ optional  luaSupport         lua
-    ++ optionals luaImlib2Support   [ toluapp imlib2 ]
-    ++ optionals luaCairoSupport    [ toluapp cairo ]
+    ++ optional  luaImlib2Support   imlib2
+    ++ optional  luaCairoSupport    cairo
     ++ optional  wirelessSupport    wirelesstools
     ++ optional  curlSupport        curl
     ++ optional  rssSupport         libxml2
@@ -121,6 +127,7 @@ stdenv.mkDerivation rec {
     ++ optional (!ncursesSupport)   "-DBUILD_NCURSES=OFF"
     ++ optional rssSupport          "-DBUILD_RSS=ON"
     ++ optional (!x11Support)       "-DBUILD_X11=OFF"
+    ++ optional waylandSupport      "-DBUILD_WAYLAND=ON"
     ++ optional xdamageSupport      "-DBUILD_XDAMAGE=ON"
     ++ optional doubleBufferSupport "-DBUILD_XDBE=ON"
     ++ optional weatherMetarSupport "-DBUILD_WEATHER_METAR=ON"
diff --git a/pkgs/os-specific/linux/firmware/sof-firmware/default.nix b/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
index 737c7b9369356..d84fb2a873d08 100644
--- a/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "sof-firmware";
-  version = "2023.12";
+  version = "2023.12.1";
 
   src = fetchurl {
     url = "https://github.com/thesofproject/sof-bin/releases/download/v${version}/sof-bin-${version}.tar.gz";
-    sha256 = "sha256-VeR+tj5iSNvat9ojK7HjHKLnFVs33BFvbcWxc8ujUDs=";
+    sha256 = "sha256-6ied38mcWxHWNPH10jN/bVwNw4HOMxR5D3tVDkCI5nQ=";
   };
 
   dontFixup = true; # binaries must not be stripped or patchelfed
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 6e530b3acd9d4..fb59bfecaa012 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -500,7 +500,7 @@ let
       F2FS_FS_COMPRESSION = whenAtLeast "5.6" yes;
       UDF_FS              = module;
 
-      NFSD_V2_ACL            = whenOlder "6.2" yes;
+      NFSD_V2_ACL            = whenOlder "6.1" yes;
       NFSD_V3                = whenOlder "5.18" yes;
       NFSD_V3_ACL            = yes;
       NFSD_V4                = yes;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index a7bf7128f5efc..9c2b50f95952a 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -79,4 +79,13 @@
     name = "rust-1.75.patch";
     patch = ./rust-1.75.patch;
   };
+
+  rust_1_76 = {
+    name = "rust-1.76.patch";
+    patch = fetchurl {
+      name = "rust-1.76.patch";
+      url = "https://lore.kernel.org/rust-for-linux/20240217002638.57373-2-ojeda@kernel.org/raw";
+      hash = "sha256-q3iNBo8t4b1Rn5k5lau2myqOAqdA/9V9A+ok2jGkLdY=";
+    };
+  };
 }
diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
index 348a4c36adc46..ea0db48c75f3e 100644
--- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
@@ -6,14 +6,14 @@ let
   # NOTE: When updating these, please also take a look at the changes done to
   # kernel config in the xanmod version commit
   ltsVariant = {
-    version = "6.6.19";
-    hash = "sha256-DfoClySWV0vlDDRAJsujGj5ypnGr+HsVbszCYfi+2V0=";
+    version = "6.6.21";
+    hash = "sha256-DDkjrtKK7zIffVMuBtHvSWp0GtMA87YuOp8AhUw64+Y=";
     variant = "lts";
   };
 
   mainVariant = {
-    version = "6.7.7";
-    hash = "sha256-Y+SvnvkFOGCxq+hGwpiiymNr1rYbNqppNA0d63TyUmo=";
+    version = "6.7.9";
+    hash = "sha256-/YoZTclMdJBQ8iwpfm/Ne/YLNQneN0hccy95o3fWvGM=";
     variant = "main";
   };
 
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 2994bf5064fe2..f7f513e21f60d 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.7.7"; #zen
+    version = "6.7.9"; #zen
     suffix = "zen1"; #zen
-    sha256 = "18h2ng7m70bwl8b80a26rhmnc4ivxcv4ppkn1fviz43x6j2h81mg"; #zen
+    sha256 = "0g20hx5jhs99gm7bc3b99x6cg3hkx6r91dnxjzbplinzgh2kp0pz"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.7.6"; #lqx
+    version = "6.7.9"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "1z737ma2ak2yddc416svr5s2f7pl31v1cs2bknl9v6syl6xm9sxk"; #lqx
+    sha256 = "0hhkn2098h69l8slz5f0krkckf3qm7hmh5z233j341jpc0qv8p6b"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 86b2535e1dde3..342626624c7ef 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = lib.optionals stdenv.hostPlatform.isStatic "NO_SOLIB=1";
 
-  outputs = [ "out" "lib" "dev" ];
+  outputs = [ "out" "lib" "dev" "man" ];
 
   postPatch = ''
     # https://github.com/archlinux/svntogit-packages/blob/packages/keyutils/trunk/reproducible.patch
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 132f46bf649dc..449ff8042a704 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -66,11 +66,11 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "550.40.53";
+    version = "550.40.55";
     persistencedVersion = "550.54.14";
     settingsVersion = "550.54.14";
-    sha256_64bit = "sha256-ZA5pb1xjzDyEBrf3UYHta4T9laCOCW7LHJwhcdjw6MA=";
-    openSha256 = "sha256-p4FL0j9Ev4SJ3YcjfhFLxbMbc77dBblkrTYK50+OYqA=";
+    sha256_64bit = "sha256-i9FYgSZW0vLMEORg16+LxFBOacXXrAfWKbtCFuD8+IQ=";
+    openSha256 = "sha256-slb058rNKk/TEltGkdw6Shn/3SF3kjgsXQc8IyFMUB8=";
     settingsSha256 = "sha256-m2rNASJp0i0Ez2OuqL+JpgEF0Yd8sYVCyrOoo/ln2a4=";
     persistencedSha256 = "sha256-XaPN8jVTjdag9frLPgBtqvO/goB5zxeGzaTU0CdL6C4=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux";
diff --git a/pkgs/os-specific/linux/ocf-resource-agents/default.nix b/pkgs/os-specific/linux/ocf-resource-agents/default.nix
index 0e63774526706..6c0157bb6cbb1 100644
--- a/pkgs/os-specific/linux/ocf-resource-agents/default.nix
+++ b/pkgs/os-specific/linux/ocf-resource-agents/default.nix
@@ -71,7 +71,17 @@ in
 
 # This combines together OCF definitions from other derivations.
 # https://github.com/ClusterLabs/resource-agents/blob/master/doc/dev-guides/ra-dev-guide.asc
-runCommand "ocf-resource-agents" {} ''
+runCommand "ocf-resource-agents" {
+  # Fix derivation location so things like
+  #   $ nix edit -f. ocf-resource-agents
+  # just work.
+  pos = builtins.unsafeGetAttrPos "version" resource-agentsForOCF;
+
+  # Useful to build and undate inputs individually:
+  passthru.inputs = {
+    inherit resource-agentsForOCF drbdForOCF pacemakerForOCF;
+  };
+} ''
   mkdir -p $out/usr/lib/ocf
   ${lndir}/bin/lndir -silent "${resource-agentsForOCF}/lib/ocf/" $out/usr/lib/ocf
   ${lndir}/bin/lndir -silent "${drbdForOCF}/usr/lib/ocf/" $out/usr/lib/ocf
diff --git a/pkgs/os-specific/linux/r8125/default.nix b/pkgs/os-specific/linux/r8125/default.nix
index 4517cb29e75ae..1c261355954ad 100644
--- a/pkgs/os-specific/linux/r8125/default.nix
+++ b/pkgs/os-specific/linux/r8125/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pname = "r8125";
   # On update please verify (using `diff -r`) that the source matches the
   # realtek version.
-  version = "9.011.01";
+  version = "9.012.03";
 
   # This is a mirror. The original website[1] doesn't allow non-interactive
   # downloads, instead emailing you a download link.
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "louistakepillz";
     repo = "r8125";
     rev = version;
-    sha256 = "sha256-QV1DKkWVtqcnuqgAdJnPpj6Z6ch+lw61zpouXKlyfqQ=";
+    sha256 = "sha256-+CrxvKB96QOcOo87McZOt/XUhriTtTV8jTQgpBG3ejs=";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index 2f4e49062aef4..946299366c0a1 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -17,13 +17,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "shadow";
-  version = "4.14.3";
+  version = "4.14.5";
 
   src = fetchFromGitHub {
     owner = "shadow-maint";
     repo = pname;
     rev = version;
-    hash = "sha256-Y5wyvmTh66Bjb1/UPdDF78lgvH7HFTCFowhQQ+Fo9ak=";
+    hash = "sha256-ogkPp6dxWHdvJvWcb5iauH81CVTH7BbonFXG1gGysUE=";
   };
 
   outputs = [ "out" "su" "dev" "man" ];
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 0dbfbd29b6c38..302404b38e126 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake, kernel, installShellFiles, pkg-config
 , luajit, ncurses, perl, jsoncpp, openssl, curl, jq, gcc, elfutils, tbb, protobuf, grpc
-, yaml-cpp, nlohmann_json, re2, zstd, uthash, fetchpatch, fetchurl
+, yaml-cpp, nlohmann_json, re2, zstd, uthash
 }:
 
 let
@@ -26,13 +26,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sysdig";
-  version = "0.35.1";
+  version = "0.35.3";
 
   src = fetchFromGitHub {
     owner = "draios";
     repo = "sysdig";
     rev = version;
-    hash = "sha256-nSCkKwhdEduepyvcyWEKMQtQ6TfhF3GnTSreRVoarsw=";
+    hash = "sha256-wvCnWzQbkkM8qEG93li22P67WX1bGX9orTk+2vsBHZY=";
   };
 
   nativeBuildInputs = [ cmake perl installShellFiles pkg-config ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 064c465bd6e3b..d1f179168c757 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -5,6 +5,7 @@
 , nixosTests
 , pkgsCross
 , fetchFromGitHub
+, fetchpatch
 , fetchzip
 , buildPackages
 , makeBinaryWrapper
@@ -224,6 +225,15 @@ stdenv.mkDerivation (finalAttrs: {
     ./0017-meson.build-do-not-create-systemdstatedir.patch
   ] ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu) [
     ./0018-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch
+  ] ++ lib.optional (stdenv.hostPlatform.isPower || stdenv.hostPlatform.isRiscV) [
+    # Fixed upstream and included in the main and stable branches. Can be dropped
+    # when bumping to >= v255.5.
+    # https://github.com/systemd/systemd/issues/30448
+    # https://github.com/NixOS/nixpkgs/pull/282607
+    (fetchpatch {
+      url = "https://github.com/systemd/systemd/commit/8040fa55a1cbc34dede3205a902095ecd26c21e3.patch";
+      sha256 = "0l8jk0w0wavagzck0vy5m0s6fhxab0hpdr4ib111bacqrvvda3kd";
+    })
   ] ++ lib.optional stdenv.hostPlatform.isMusl (
     let
       oe-core = fetchzip {
@@ -404,6 +414,11 @@ stdenv.mkDerivation (finalAttrs: {
 
   outputs = [ "out" "dev" ] ++ (lib.optional (!buildLibsOnly) "man");
 
+  hardeningDisable = [
+    # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111523
+    "trivialautovarinit"
+  ];
+
   nativeBuildInputs =
     [
       pkg-config
@@ -851,8 +866,8 @@ stdenv.mkDerivation (finalAttrs: {
     # needed - and therefore `interfaceVersion` should be incremented.
     interfaceVersion = 2;
 
-    inherit withCryptsetup withHostnamed withImportd withKmod withLocaled
-      withMachined withPortabled withTimedated withUtmp util-linux kmod kbd;
+    inherit withBootloader withCryptsetup withHostnamed withImportd withKmod
+      withLocaled withMachined withPortabled withTimedated withUtmp util-linux kmod kbd;
 
     tests = {
       inherit (nixosTests)
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index cfd94bf33c46a..4e64f394d82f9 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.linux-usb.org/";
     description = "Tools for working with USB devices, such as lsusb";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ cafkafk ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
+    mainProgram = "lsusb";
   };
 }
diff --git a/pkgs/os-specific/linux/vmware/default.nix b/pkgs/os-specific/linux/vmware/default.nix
index 7c1994687ae78..d63e5247dc512 100644
--- a/pkgs/os-specific/linux/vmware/default.nix
+++ b/pkgs/os-specific/linux/vmware/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "vmware-modules";
-  version = "workstation-17.0.2-2023-09-29-${kernel.version}";
+  version = "workstation-17.5.1-unstable-2024-01-12-${kernel.version}";
 
   src = fetchFromGitHub {
     owner = "mkubecek";
     repo = "vmware-host-modules";
     # Developer no longer provides tags for kernel compatibility fixes
-    # Commit hash for branch workstation-17.0.2 as of 2023-09-29
-    rev = "29de7e2bd45d32e6983106d6f15810c70ba3e654";
-    hash = "sha256-l0QJbjySINM/7EyNhZl6UnUonwPoGnCnsQeC8YtI15c=";
+    # Commit hash for branch workstation-17.5.1 as of 2024-03-07
+    rev = "2c6d66f3f1947384038b765c897b102ecdb18298";
+    hash = "sha256-VKN6nxtgQqElVrSD5++UdngjZio4+vmetGCgTAfgtTs=";
   };
 
   hardeningDisable = [ "pic" ];
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     platforms = [ "x86_64-linux" ];
     broken = (kernel.kernelOlder "5.5" && kernel.isHardened);
-    maintainers = with maintainers; [ deinferno ];
+    maintainers = with maintainers; [ deinferno vifino ];
   };
 }
diff --git a/pkgs/servers/geospatial/mapproxy/default.nix b/pkgs/servers/geospatial/mapproxy/default.nix
index 2c56d2d96dfd8..ce3bcd5560dee 100644
--- a/pkgs/servers/geospatial/mapproxy/default.nix
+++ b/pkgs/servers/geospatial/mapproxy/default.nix
@@ -6,10 +6,10 @@
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "MapProxy";
-  version = "1.15.1";
+  version = "2.0.2";
   src = fetchPypi {
   inherit pname version;
-  sha256 = "sha256-SVKZDLH8IfdND0/BFj/lrqp7BNanpzkjuTxlSMGjuiY=";
+  sha256 = "sha256-HwO5gvrsW9pArz4RLtxNfCmiFqa85AAi6wBJI+F9GE8=";
   };
   prePatch = ''
     substituteInPlace mapproxy/util/ext/serving.py --replace "args = [sys.executable] + sys.argv" "args = sys.argv"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 07b11ee1bf5f2..1a41629d92c7e 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -3,7 +3,7 @@
 , callPackage
 , fetchFromGitHub
 , fetchPypi
-, python311
+, python312
 , substituteAll
 , ffmpeg-headless
 , inetutils
@@ -319,6 +319,9 @@ let
           inherit version;
           hash = "sha256-6xjnunJoqIC/HM/pLlNOlqs04Dl/KNy8s/wNpPaltr0=";
         };
+        pytestFlagsArray = [
+          "-W" "ignore::DeprecationWarning"
+        ];
       });
 
       voluptuous = super.voluptuous.overridePythonAttrs (oldAttrs: rec {
@@ -378,7 +381,7 @@ let
     })
   ];
 
-  python = python311.override {
+  python = python312.override {
     packageOverrides = lib.composeManyExtensions (defaultOverrides ++ [ packageOverrides ]);
   };
 
diff --git a/pkgs/servers/home-automation/evcc/default.nix b/pkgs/servers/home-automation/evcc/default.nix
index baf1c81c98544..ec529a6833412 100644
--- a/pkgs/servers/home-automation/evcc/default.nix
+++ b/pkgs/servers/home-automation/evcc/default.nix
@@ -21,20 +21,20 @@ in
 
 buildGoModule rec {
   pname = "evcc";
-  version = "0.124.6";
+  version = "0.124.9";
 
   src = fetchFromGitHub {
     owner = "evcc-io";
     repo = "evcc";
     rev = version;
-    hash = "sha256-mZSJ8RKO2olPsbxuVyAFCyvgxkth4XatRXwaQQ0z/Do=";
+    hash = "sha256-I5dotao26D2fn1opQunUOFtJ/vS19lGumN6A21jkBjA=";
   };
 
-  vendorHash = "sha256-tu1rV5TWAOHidnDvjsyqFady8TrnPOoAoEEDugYYwLM=";
+  vendorHash = "sha256-PZWMqv3R4Dq4cLtGNuvHCQ/GiYvlKJfSKEmBn0JYnb8=";
 
   npmDeps = fetchNpmDeps {
     inherit src;
-    hash = "sha256-Uu1idwI3zRQmu2xBrbMcFBmJuO/z+N5+6eSRK+n1pg8=";
+    hash = "sha256-FWnRZ/NI49QZj8Uv6IbHc8IPAh3F5u4S6hY64B8+Uvk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/icecream/default.nix b/pkgs/servers/icecream/default.nix
index 573dcee7170e2..e6691e29aa126 100644
--- a/pkgs/servers/icecream/default.nix
+++ b/pkgs/servers/icecream/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, docbook2x, libarchive, libcap_ng, lzo, zstd, docbook_xml_dtd_45 }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, docbook2x, libarchive, libcap_ng, lzo, pkg-config, zstd, docbook_xml_dtd_45 }:
 
 stdenv.mkDerivation rec {
   pname = "icecream";
-  version = "2020-04-15";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "icecc";
     repo = pname;
-    rev = "c370c4d701d05e1872d44d1c1642a774a7f25807";
-    sha256 = "0ld2ihd39irlk4wshpbw7inmgyl3x0gbkgsy10izcm1wwfc0x2ac";
+    rev = version;
+    sha256 = "sha256-nBdUbWNmTxKpkgFM3qbooNQISItt5eNKtnnzpBGVbd4=";
   };
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ autoreconfHook docbook2x ];
+  nativeBuildInputs = [ autoreconfHook docbook2x pkg-config ];
   buildInputs = [ libarchive libcap_ng lzo zstd docbook_xml_dtd_45 ];
 
   meta = with lib; {
diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix
index 52c7497f5a6d3..344970ebb5641 100644
--- a/pkgs/servers/mail/mailman/hyperkitty.nix
+++ b/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -1,6 +1,6 @@
 { lib
 , python3
-, fetchPypi
+, fetchurl
 , nixosTests
 }:
 
@@ -8,18 +8,19 @@ with python3.pkgs;
 
 buildPythonPackage rec {
   pname = "HyperKitty";
-  version = "1.3.8";
+  version = "1.3.9";
+  pyproject = true;
+
   disabled = pythonOlder "3.10";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-j//Mrbos/g1BGenHRmOe5GvAza5nu/mchAgdLQu9h7g=";
+  src = fetchurl {
+    url = "https://gitlab.com/mailman/hyperkitty/-/releases/${version}/downloads/hyperkitty-${version}.tar.gz";
+    hash = "sha256-BfhCh4zZcfwoIfubW/+MUWXwh1yFOH/jpRdQdsj6lME=";
   };
 
-  postPatch = ''
-    # isort is a development dependency
-    sed -i '/isort/d' setup.py
-  '';
+  nativeBuildInputs = [
+    pdm-backend
+  ];
 
   propagatedBuildInputs = [
     django
@@ -39,9 +40,10 @@ buildPythonPackage rec {
   ];
 
   # Some of these are optional runtime dependencies that are not
-  # listed as dependencies in setup.py.  To use these, they should be
-  # dependencies of the Django Python environment, but not of
-  # HyperKitty so they're not included for people who don't need them.
+  # listed as dependencies in pyproject.toml.  To use these, they
+  # should be dependencies of the Django Python environment, but not
+  # of HyperKitty so they're not included for people who don't need
+  # them.
   nativeCheckInputs = [
     beautifulsoup4
     elastic-transport
diff --git a/pkgs/servers/mail/mailman/python.nix b/pkgs/servers/mail/mailman/python.nix
index ebac15e443bf1..29d2f6c6d36a5 100644
--- a/pkgs/servers/mail/mailman/python.nix
+++ b/pkgs/servers/mail/mailman/python.nix
@@ -18,15 +18,6 @@ python3.override {
         [1] 72a14ea563a3f5bf85db659349a533fe75a8b0ce
         [2] f931bc81d63f5cfda55ac73d754c87b3fd63b291
       */
-      # https://gitlab.com/mailman/hyperkitty/-/merge_requests/541
-      mistune = super.mistune.overridePythonAttrs (old: rec {
-        version = "2.0.5";
-        src = fetchPypi {
-          inherit (old) pname;
-          inherit version;
-          hash = "sha256-AkYRPLJJLbh1xr5Wl0p8iTMzvybNkokchfYxUc7gnTQ=";
-        };
-      });
 
       # django-q tests fail with redis 5.0.0.
       # https://gitlab.com/mailman/hyperkitty/-/issues/493
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index c76dd152929c3..a383bc3650b9e 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -12,13 +12,13 @@ buildGoModule rec {
   # See https://docs.mattermost.com/upgrade/extended-support-release.html
   # When a new ESR version is available (e.g. 8.1.x -> 9.5.x), update
   # the version regex in passthru.updateScript as well.
-  version = "9.5.1";
+  version = "9.5.2";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mattermost";
     rev = "v${version}";
-    hash = "sha256-w+VF8VoS7oIcDlYS5kCFzSX4rgD9l1B99XBHeJDB6JI=";
+    hash = "sha256-NYP0mhON+TCvNTSx4I4hddFGF9TWtnMAwyJvX8sEdWU=";
   };
 
   # Needed because buildGoModule does not support go workspaces yet.
@@ -34,7 +34,7 @@ buildGoModule rec {
 
   webapp = fetchurl {
     url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-    hash = "sha256-F32NWulKUhoyHPCmCCih6Hb9+W2iuF/Mxy9USrgp1pM=";
+    hash = "sha256-ogiowbNYHo9NTQLAg1OKXp8pV1Zn7kPcZR9ukaKvpKA=";
   };
 
   vendorHash = "sha256-TJCtgNf56A1U0EbV5gXjTro+YudVBRWiSZoBC3nJxnE=";
diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
index 7d97e1dd7bd06..423a23e87885e 100644
--- a/pkgs/servers/miniflux/default.nix
+++ b/pkgs/servers/miniflux/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "miniflux";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "miniflux";
     repo = "v2";
     rev = "refs/tags/${version}";
-    hash = "sha256-c7xKgu3039gTmxdWXoYWuuYDD/oPv3/uYS3m8KRkhTk=";
+    hash = "sha256-vXSOHZt6Ov5g4fQBg0bubCfn76aaVrjw2b+LRebbV6s=";
   };
 
-  vendorHash = "sha256-PuyWik0OA77gJipnuOyRgrCCQlDj9gTM/LDRBl6mBRo=";
+  vendorHash = "sha256-p31kwJZQMYff5Us6mXpPmxbPrEXyxU6Sipf4LKSG3wU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index 3fb9ecc28f389..f1553889e4de3 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -21,16 +21,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2024-02-26T09-33-48Z";
+  version = "2024-03-07T00-43-48Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    hash = "sha256-V5Pmp36YA0u1Z2SBNdJZAHQuA3PgVKHmIJlDElhS24s=";
+    hash = "sha256-W82479M4Bgq1ERpiAR6Zc5YDr8vADOtQThV6lSlDuTs=";
   };
 
-  vendorHash = "sha256-0EymK7jQhr+NJDg1zgWpcniV5zZ33Av6zpq0IDuWw7M=";
+  vendorHash = "sha256-VHokz58pSZd2Tt3hG8MgpeilEMFGjOZ/y6YKt9Fe5xw=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/monitoring/consul-alerts/default.nix b/pkgs/servers/monitoring/consul-alerts/default.nix
index 4cf5f6b80682b..23bf58c98e597 100644
--- a/pkgs/servers/monitoring/consul-alerts/default.nix
+++ b/pkgs/servers/monitoring/consul-alerts/default.nix
@@ -17,6 +17,7 @@ buildGoPackage rec {
   };
 
   meta = with lib; {
+    mainProgram = "consul-alerts";
     description = "An extendable open source continuous integration server";
     homepage = "https://github.com/AcalephStorage/consul-alerts";
     # As per README
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index 6ddaf2ba07a28..622147f92f975 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -2,10 +2,11 @@
 , buildGoModule
 , fetchFromGitHub
 , fetchYarnDeps
-, prefetch-yarn-deps
 , grafana-agent
+, nix-update-script
 , nixosTests
 , nodejs
+, prefetch-yarn-deps
 , stdenv
 , systemd
 , testers
@@ -14,21 +15,21 @@
 
 buildGoModule rec {
   pname = "grafana-agent";
-  version = "0.39.2";
+  version = "0.40.2";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "agent";
     rev = "v${version}";
-    hash = "sha256-KwXkCTKnoXHL2RFpJjjwtIolEpqCM6te5wMk9xQNOqE=";
+    hash = "sha256-muSgFBg+/XWx2f9EGYYLQ0wUzZ7AxEC2F19A5Qs5cgw=";
   };
 
-  vendorHash = "sha256-aSHO5SoMem14Fc6DirqtYBVWJQtf5mzCT3T33mMyhkc=";
+  vendorHash = "sha256-ekFl+aSmyUvgv4pkpS86HwPMfqtDaJEaZhWiwHjHp9g=";
   proxyVendor = true; # darwin/linux hash mismatch
 
   frontendYarnOfflineCache = fetchYarnDeps {
     yarnLock = src + "/web/ui/yarn.lock";
-    hash = "sha256-rT0UCInISo/p60xzQC7wAJFuKFByIzhNf0RxFFJx+3k=";
+    hash = "sha256-WqbIg18qUNcs9O2wh7DAzwXKb60iEuPL8zFCIgScqI0=";
   };
 
   ldflags = let
@@ -89,13 +90,18 @@ buildGoModule rec {
       $out/bin/grafana-agent
   '';
 
-  passthru.tests = {
-    inherit (nixosTests) grafana-agent;
-    version = testers.testVersion {
-      inherit version;
-      command = "${lib.getExe grafana-agent} --version";
-      package = grafana-agent;
+  passthru = {
+    tests = {
+      inherit (nixosTests) grafana-agent;
+      version = testers.testVersion {
+        inherit version;
+        command = "${lib.getExe grafana-agent} --version";
+        package = grafana-agent;
+      };
     };
+    updateScript = nix-update-script { };
+    # alias for nix-update to be able to find and update this attribute
+    offlineCache = frontendYarnOfflineCache;
   };
 
   meta = {
diff --git a/pkgs/servers/monitoring/prometheus/smokeping-prober.nix b/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
index c61302603daae..0f4e21defc043 100644
--- a/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
+++ b/pkgs/servers/monitoring/prometheus/smokeping-prober.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "smokeping_prober";
-  version = "0.7.1";
+  version = "0.7.2";
 
   ldflags = let
     setVars = rec {
@@ -20,9 +20,9 @@ buildGoModule rec {
     owner = "SuperQ";
     repo = "smokeping_prober";
     rev = "v${version}";
-    sha256 = "sha256-kpg4oUDv1C5NQuxfFNLmRIMkc8hbMkjiKL16HkYrUyU=";
+    sha256 = "sha256-Z+K3cRMD885V9aJwu3N/vP6aqtzD3LfMrxJ8DSCa5Xo=";
   };
-  vendorHash = "sha256-TgieqjE23gwyKLuKSqc5pkxRpou8lg+yVnVoINZDkGU=";
+  vendorHash = "sha256-39/0reEt4Rfe7DfysS4BROUgBUg+x95z6DU3IjC6m5U=";
 
   doCheck = true;
 
diff --git a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
index d810633c17f36..a1e9ee7f434e6 100644
--- a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
@@ -27,5 +27,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/MindFlavor/prometheus_wireguard_exporter";
     license = licenses.mit;
     maintainers = with maintainers; [ ma27 globin ];
+    mainProgram = "prometheus_wireguard_exporter";
   };
 }
diff --git a/pkgs/servers/nosql/aerospike/default.nix b/pkgs/servers/nosql/aerospike/default.nix
index dc2ed8c79ec1c..5dda0767c6396 100644
--- a/pkgs/servers/nosql/aerospike/default.nix
+++ b/pkgs/servers/nosql/aerospike/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aerospike-server";
-  version = "7.0.0.4";
+  version = "7.0.0.5";
 
   src = fetchFromGitHub {
     owner = "aerospike";
     repo = "aerospike-server";
     rev = version;
-    hash = "sha256-CyDGJ0fM9mDNOG1CV/noaSDIh8x/duM3NhgLTnANNKA=";
+    hash = "sha256-NTZW/pBCrwhmqMNXBS34HUKENy+TJKmoFWS7LhcLM4k=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-16.patch b/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-16.patch
deleted file mode 100644
index 2a5ae040d9d4c..0000000000000
--- a/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-16.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 72f3fe059f031f24c5ad026cb2fc16318f227c09 Mon Sep 17 00:00:00 2001
-From: Andrew Childs <andrew.childs@bibo.com.ph>
-Date: Tue, 19 Apr 2022 16:29:58 +0900
-Subject: [PATCH 1/8] Make gio-2.0 optional when gsettings is disabled
-
-Derived from https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/654
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index c5135330f..340f58e17 100644
---- a/meson.build
-+++ b/meson.build
-@@ -683,7 +683,7 @@ if get_option('daemon')
-     cdata.set('HAVE_ALSA_UCM', 1)
-   endif
- 
--  gio_dep = dependency('gio-2.0', version : '>= 2.26.0')
-+  gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : false)
-   if get_option('gsettings').enabled()
-     assert(gio_dep.found(), 'GSettings support needs glib I/O library (GIO)')
-     cdata.set('HAVE_GSETTINGS', 1)
--- 
-2.35.1
-
diff --git a/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-darwin.patch b/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-darwin.patch
deleted file mode 100644
index 9196e205dc0cf..0000000000000
--- a/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-darwin.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 39bef695f783614e6175477417298ddf37e2ac13 Mon Sep 17 00:00:00 2001
-From: Andrew Childs <andrew.childs@bibo.com.ph>
-Date: Tue, 19 Apr 2022 16:58:43 +0900
-Subject: [PATCH 2/8] Ignore SCM_CREDS on macOS
-
-It was added for FreeBSD support, but also enables the
-unsupported[citation needed] feature on macOS.
----
- src/pulsecore/creds.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/pulsecore/creds.h b/src/pulsecore/creds.h
-index b599b569c..b5b1c9f37 100644
---- a/src/pulsecore/creds.h
-+++ b/src/pulsecore/creds.h
-@@ -34,7 +34,7 @@
- typedef struct pa_creds pa_creds;
- typedef struct pa_cmsg_ancil_data pa_cmsg_ancil_data;
- 
--#if defined(SCM_CREDENTIALS) || defined(SCM_CREDS)
-+#if defined(SCM_CREDENTIALS) || (defined(SCM_CREDS) && !defined(__APPLE__))
- 
- #define HAVE_CREDS 1
- 
--- 
-2.35.1
-
diff --git a/pkgs/servers/pulseaudio/0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch b/pkgs/servers/pulseaudio/0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch
deleted file mode 100644
index ce0df74f8771d..0000000000000
--- a/pkgs/servers/pulseaudio/0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
-index c383a61c0..3d0a68c2e 100644
---- a/src/pulsecore/core-util.c
-+++ b/src/pulsecore/core-util.c
-@@ -110,7 +110,7 @@
- #include <sys/personality.h>
- #endif
- 
--#ifdef HAVE_CPUID_H
-+#if defined(HAVE_CPUID_H) && !(defined(__APPLE__) && defined(__aarch64__))
- #include <cpuid.h>
- #endif
- 
-diff --git a/src/pulsecore/cpu-x86.c b/src/pulsecore/cpu-x86.c
-index 317a0101e..d1eb95d2b 100644
---- a/src/pulsecore/cpu-x86.c
-+++ b/src/pulsecore/cpu-x86.c
-@@ -24,7 +24,7 @@
- 
- #include <stdint.h>
- 
--#ifdef HAVE_CPUID_H
-+#if defined(HAVE_CPUID_H) && !(defined(__APPLE__) && defined(__aarch64__))
- #include <cpuid.h>
- #endif
- 
diff --git a/pkgs/servers/pulseaudio/0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch b/pkgs/servers/pulseaudio/0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch
deleted file mode 100644
index 0eeaf2a03a121..0000000000000
--- a/pkgs/servers/pulseaudio/0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/pulsecore/core-rtclock.c b/src/pulsecore/core-rtclock.c
-index 2c2e28631..b946a3fb1 100644
---- a/src/pulsecore/core-rtclock.c
-+++ b/src/pulsecore/core-rtclock.c
-@@ -65,7 +65,7 @@ pa_usec_t pa_rtclock_age(const struct timeval *tv) {
- 
- struct timeval *pa_rtclock_get(struct timeval *tv) {
- 
--#if defined(OS_IS_DARWIN)
-+#if defined(OS_IS_DARWIN) && !defined(HAVE_CLOCK_GETTIME)
-     uint64_t val, abs_time = mach_absolute_time();
-     Nanoseconds nanos;
- 
diff --git a/pkgs/servers/pulseaudio/0005-Enable-CoreAudio-on-darwin.patch b/pkgs/servers/pulseaudio/0005-Enable-CoreAudio-on-darwin.patch
deleted file mode 100644
index bdf5ff2b9ca35..0000000000000
--- a/pkgs/servers/pulseaudio/0005-Enable-CoreAudio-on-darwin.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/meson.build b/meson.build
-index c5135330f..055567479 100644
---- a/meson.build
-+++ b/meson.build
-@@ -185,6 +185,7 @@ endif
- # rather than ending up in the config.h file?
- if host_machine.system() == 'darwin'
-   cdata.set('OS_IS_DARWIN', 1)
-+  cdata.set('HAVE_COREAUDIO', 1)
-   cdata.set('_DARWIN_C_SOURCE', '200112L') # Needed to get NSIG on Mac OS
- elif host_machine.system() == 'windows'
-   cdata.set('OS_IS_WIN32', 1)
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index 1e12569dc..53a800927 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -63,6 +63,14 @@ all_modules = [
-   [ 'module-volume-restore', 'module-volume-restore.c' ],
- ]
- 
-+if host_machine.system() == 'darwin'
-+  coreaudio_dep = dependency('appleframeworks', modules : ['AudioUnit', 'Cocoa', 'CoreServices', 'CoreAudio'])
-+  all_modules += [
-+    [ 'module-coreaudio-detect', 'macosx/module-coreaudio-detect.c', [], [], [coreaudio_dep] ],
-+    [ 'module-coreaudio-device', 'macosx/module-coreaudio-device.c', [], [], [coreaudio_dep] ],
-+  ]
-+endif
-+
- if host_machine.system() == 'windows'
-   winmm_dep = meson.get_compiler('c').find_library('winmm')
-   ksuser_dep = meson.get_compiler('c').find_library('ksuser')
diff --git a/pkgs/servers/pulseaudio/0006-Fix-libpulsecommon-sources-on-darwin.patch b/pkgs/servers/pulseaudio/0006-Fix-libpulsecommon-sources-on-darwin.patch
deleted file mode 100644
index 67a21af467956..0000000000000
--- a/pkgs/servers/pulseaudio/0006-Fix-libpulsecommon-sources-on-darwin.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/meson.build b/src/meson.build
-index 9efb561d8..d181f4867 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -179,6 +179,13 @@ if host_machine.system() == 'windows'
-     'pulsecore/semaphore-win32.c',
-     'pulsecore/thread-win32.c',
-   ]
-+elif host_machine.system() == 'darwin'
-+  libpulsecommon_sources += [
-+    'pulsecore/mutex-posix.c',
-+    'pulsecore/poll-posix.c',
-+    'pulsecore/semaphore-osx.c',
-+    'pulsecore/thread-posix.c'
-+  ]
- else
-   libpulsecommon_sources += [
-     'pulsecore/mutex-posix.c',
diff --git a/pkgs/servers/pulseaudio/0007-Fix-link-args-on-darwin.patch b/pkgs/servers/pulseaudio/0007-Fix-link-args-on-darwin.patch
deleted file mode 100644
index 30a11adca0851..0000000000000
--- a/pkgs/servers/pulseaudio/0007-Fix-link-args-on-darwin.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --git a/meson.build b/meson.build
-index c5135330f..1b66a1fc4 100644
---- a/meson.build
-+++ b/meson.build
-@@ -424,7 +424,7 @@ cdata.set('MESON_BUILD', 1)
- # so we request the nodelete flag to be enabled.
- # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
- # Windows doesn't support this flag.
--if host_machine.system() != 'windows'
-+if host_machine.system() not in ['windows', 'darwin']
-   nodelete_link_args = ['-Wl,-z,nodelete']
- else
-   nodelete_link_args = []
-diff --git a/src/modules/echo-cancel/meson.build b/src/modules/echo-cancel/meson.build
-index 641cd35e7..523bffac4 100644
---- a/src/modules/echo-cancel/meson.build
-+++ b/src/modules/echo-cancel/meson.build
-@@ -10,12 +10,17 @@ libwebrtc_util_sources = [
-   'webrtc.cc'
- ]
- 
-+ignore_unresolved_symbols_link_args = ['-Wl,--unresolved-symbols=ignore-in-object-files']
-+if meson.get_compiler('c').get_linker_id() == 'ld64'
-+  ignore_unresolved_symbols_link_args = [ '-Wl,-undefined,dynamic_lookup' ]
-+endif
-+
- libwebrtc_util = shared_library('webrtc-util',
-   libwebrtc_util_sources,
-   cpp_args : [pa_c_args, server_c_args],
-   include_directories : [configinc, topinc],
-   dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep, webrtc_dep, libintl_dep],
--  link_args : [nodelete_link_args, '-Wl,--unresolved-symbols=ignore-in-object-files'],
-+  link_args : [nodelete_link_args, ignore_unresolved_symbols_link_args],
-   install : true,
-   install_rpath : privlibdir,
-   install_dir : modlibexecdir,
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index 1e12569dc..66f3e46a4 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -298,6 +298,11 @@ all_modules += [
- # FIXME: meson doesn't support multiple RPATH arguments currently
- rpath_dirs = join_paths(privlibdir) + ':' + join_paths(modlibexecdir)
- 
-+no_undefined_link_args = ['-Wl,--no-undefined']
-+if meson.get_compiler('c').get_linker_id() == 'ld64'
-+  no_undefined_link_args = [ '-Wl,-undefined,error' ]
-+endif
-+
- foreach m : all_modules
-   name = m[0]
-   sources = m[1]
-@@ -315,7 +320,7 @@ foreach m : all_modules
-     install_rpath : rpath_dirs,
-     install_dir : modlibexecdir,
-     dependencies : [thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libintl_dep, platform_dep, platform_socket_dep] + extra_deps,
--    link_args : [nodelete_link_args, '-Wl,--no-undefined' ],
-+    link_args : [nodelete_link_args, no_undefined_link_args ],
-     link_with : extra_libs,
-     name_prefix : '',
-     implicit_include_directories : false)
-diff --git a/src/pulse/meson.build b/src/pulse/meson.build
-index 1b82c807c..938e4addd 100644
---- a/src/pulse/meson.build
-+++ b/src/pulse/meson.build
-@@ -75,6 +75,9 @@ run_target('update-map-file',
-               [ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ])
- 
- versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')
-+if meson.get_compiler('c').get_linker_id() == 'ld64'
-+  versioning_link_args = []
-+endif
- 
- libpulse = shared_library('pulse',
-   libpulse_sources,
diff --git a/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch b/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch
index bb56eb13e88a1..920c2593d2856 100644
--- a/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/servers/pulseaudio/add-option-for-installation-sysconfdir.patch
@@ -74,7 +74,7 @@
  )
  
  system_conf = configuration_data()
-@@ -136,12 +136,12 @@ custom_target('system.pa',
+@@ -136,6 +136,6 @@ custom_target('system.pa',
    command : [m4, '@INPUT@'],
    build_by_default : true,
    install : true,
@@ -82,13 +82,6 @@
 +  install_dir : pulsesysconfdir_install,
  )
  
- if dbus_dep.found()
-   install_data('pulseaudio-system.conf',
--    install_dir : join_paths(sysconfdir, 'dbus-1', 'system.d')
-+    install_dir : join_paths(sysconfdir_install, 'dbus-1', 'system.d')
-   )
- endif
- 
 --- a/src/pulse/meson.build
 +++ b/src/pulse/meson.build
 @@ -134,5 +134,5 @@ client_conf_file = configure_file(
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 6b62f066211d4..5f078d2f6fcfe 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -3,7 +3,7 @@
 , xorg, libcap, alsa-lib, glib, dconf
 , avahi, libjack2, libasyncns, lirc, dbus
 , sbc, bluez5, udev, openssl, fftwFloat
-, soxr, speexdsp, systemd, webrtc-audio-processing
+, soxr, speexdsp, systemd, webrtc-audio-processing_1
 , gst_all_1
 , check, libintl, meson, ninja, m4, wrapGAppsHook
 
@@ -37,26 +37,17 @@
 
 stdenv.mkDerivation rec {
   pname = "${lib.optionalString libOnly "lib"}pulseaudio";
-  version = "16.1";
+  version = "17.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz";
-    sha256 = "sha256-ju8yzpHUeXn5X9mpNec4zX63RjQw2rxyhjJRdR5QSuQ=";
+    hash = "sha256-BTeU1mcaPjl9hJ5HioC4KmPLnYyilr01tzMXu1zrh7U=";
   };
 
   patches = [
     # Install sysconfdir files inside of the nix store,
     # but use a conventional runtime sysconfdir outside the store
     ./add-option-for-installation-sysconfdir.patch
-    # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/654 (merged)
-    ./0001-Make-gio-2.0-optional-16.patch
-    # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/746 (merged)
-    ./0002-Ignore-SCM_CREDS-on-darwin.patch
-    ./0003-Ignore-HAVE_CPUID_H-on-aarch64-darwin.patch
-    ./0004-Prefer-HAVE_CLOCK_GETTIME-on-darwin.patch
-    ./0005-Enable-CoreAudio-on-darwin.patch
-    ./0006-Fix-libpulsecommon-sources-on-darwin.patch
-    ./0007-Fix-link-args-on-darwin.patch
   ];
 
   outputs = [ "out" "dev" ];
@@ -74,7 +65,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals stdenv.isLinux [ glib dbus ]
     ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices CoreAudio libintl ]
     ++ lib.optionals (!libOnly) (
-      [ libasyncns webrtc-audio-processing ]
+      [ libasyncns webrtc-audio-processing_1 ]
       ++ lib.optional jackaudioSupport libjack2
       ++ lib.optionals x11Support [ xorg.libICE xorg.libSM xorg.libX11 xorg.libXi xorg.libXtst ]
       ++ lib.optional useSystemd systemd
@@ -126,6 +117,7 @@ stdenv.mkDerivation rec {
     (lib.mesonOption "systemduserunitdir" "${placeholder "out"}/lib/systemd/user")
   ]
   ++ lib.optionals stdenv.isDarwin [
+    (lib.mesonEnable "consolekit" false)
     (lib.mesonEnable "dbus" false)
     (lib.mesonEnable "glib" false)
     (lib.mesonEnable "oss-output" false)
diff --git a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/0001-read-clang-flags-from-environment.diff b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/0001-read-clang-flags-from-environment.diff
new file mode 100644
index 0000000000000..2b145445cf15d
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/0001-read-clang-flags-from-environment.diff
@@ -0,0 +1,19 @@
+diff --git a/crates/c/build.rs b/crates/c/build.rs
+index 8d822e5..8b7e371 100644
+--- a/crates/c/build.rs
++++ b/crates/c/build.rs
+@@ -1,9 +1,13 @@
+ fn main() {
+     println!("cargo:rerun-if-changed=src/c.h");
+     println!("cargo:rerun-if-changed=src/c.c");
++    println!("cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS");
+     cc::Build::new()
+-        .compiler("clang-16")
++        .compiler("@clang@")
+         .file("./src/c.c")
++        // read env var set by rustPlatform.bindgenHook
++        .try_flags_from_environment("BINDGEN_EXTRA_CLANG_ARGS")
++        .expect("the BINDGEN_EXTRA_CLANG_ARGS environment variable must be specified and UTF-8")
+         .opt_level(3)
+         .debug(true)
+         .compile("pgvectorsc");
diff --git a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/Cargo.lock b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/Cargo.lock
new file mode 100644
index 0000000000000..a52b9787460e5
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/Cargo.lock
@@ -0,0 +1,3626 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[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.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+
+[[package]]
+name = "anyhow"
+version = "1.0.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9d19de80eff169429ac1e9f48fffb163916b448a44e8e046186232046d9e1f9"
+
+[[package]]
+name = "arc-swap"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "ascii-canvas"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6"
+dependencies = [
+ "term",
+]
+
+[[package]]
+name = "assert-json-diff"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "async-channel"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
+dependencies = [
+ "concurrent-queue",
+ "event-listener 2.5.3",
+ "futures-core",
+]
+
+[[package]]
+name = "async-channel"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+dependencies = [
+ "concurrent-queue",
+ "event-listener 4.0.1",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-executor"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
+dependencies = [
+ "async-lock 3.2.0",
+ "async-task",
+ "concurrent-queue",
+ "fastrand 2.0.1",
+ "futures-lite 2.1.0",
+ "slab",
+]
+
+[[package]]
+name = "async-global-executor"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c"
+dependencies = [
+ "async-channel 2.1.1",
+ "async-executor",
+ "async-io 2.2.2",
+ "async-lock 3.2.0",
+ "blocking",
+ "futures-lite 2.1.0",
+ "once_cell",
+]
+
+[[package]]
+name = "async-io"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
+dependencies = [
+ "async-lock 2.8.0",
+ "autocfg",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-lite 1.13.0",
+ "log",
+ "parking",
+ "polling 2.8.0",
+ "rustix 0.37.27",
+ "slab",
+ "socket2 0.4.10",
+ "waker-fn",
+]
+
+[[package]]
+name = "async-io"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7"
+dependencies = [
+ "async-lock 3.2.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite 2.1.0",
+ "parking",
+ "polling 3.3.1",
+ "rustix 0.38.28",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-lock"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
+dependencies = [
+ "event-listener 2.5.3",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
+dependencies = [
+ "event-listener 4.0.1",
+ "event-listener-strategy",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-object-pool"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aeb901c30ebc2fc4ab46395bbfbdba9542c16559d853645d75190c3056caf3bc"
+dependencies = [
+ "async-std",
+]
+
+[[package]]
+name = "async-process"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
+dependencies = [
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
+ "async-signal",
+ "blocking",
+ "cfg-if",
+ "event-listener 3.1.0",
+ "futures-lite 1.13.0",
+ "rustix 0.38.28",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "async-signal"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
+dependencies = [
+ "async-io 2.2.2",
+ "async-lock 2.8.0",
+ "atomic-waker",
+ "cfg-if",
+ "futures-core",
+ "futures-io",
+ "rustix 0.38.28",
+ "signal-hook-registry",
+ "slab",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "async-std"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
+dependencies = [
+ "async-channel 1.9.0",
+ "async-global-executor",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
+ "async-process",
+ "crossbeam-utils",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-lite 1.13.0",
+ "gloo-timers",
+ "kv-log-macro",
+ "log",
+ "memchr",
+ "once_cell",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+ "wasm-bindgen-futures",
+]
+
+[[package]]
+name = "async-task"
+version = "4.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1d90cd0b264dfdd8eb5bad0a2c217c1f88fa96a8573f40e7b12de23fb468f46"
+
+[[package]]
+name = "async-trait"
+version = "0.1.75"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fdf6721fb0140e4f897002dd086c06f6c27775df19cfe1fccb21181a48fd2c98"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "atomic-polyfill"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4"
+dependencies = [
+ "critical-section",
+]
+
+[[package]]
+name = "atomic-traits"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b29ec3788e96fb4fdb275ccb9d62811f2fa903d76c5eb4dd6fe7d09a7ed5871f"
+dependencies = [
+ "cfg-if",
+ "rustc_version 0.3.3",
+]
+
+[[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "base64"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+
+[[package]]
+name = "basic-cookies"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb53b6b315f924c7f113b162e53b3901c05fc9966baf84d201dfcc7432a4bb38"
+dependencies = [
+ "lalrpop",
+ "lalrpop-util",
+ "regex",
+]
+
+[[package]]
+name = "bincode"
+version = "1.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "bindgen"
+version = "0.68.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
+dependencies = [
+ "bitflags 2.4.1",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "bit-set"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+dependencies = [
+ "bit-vec",
+]
+
+[[package]]
+name = "bit-vec"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[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 = "blocking"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
+dependencies = [
+ "async-channel 2.1.1",
+ "async-lock 3.2.0",
+ "async-task",
+ "fastrand 2.0.1",
+ "futures-io",
+ "futures-lite 2.1.0",
+ "piper",
+ "tracing",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+dependencies = [
+ "bytemuck_derive",
+]
+
+[[package]]
+name = "bytemuck_derive"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "c"
+version = "0.0.0"
+dependencies = [
+ "cc",
+ "detect",
+ "half 2.3.1",
+ "rand",
+]
+
+[[package]]
+name = "cargo_toml"
+version = "0.16.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3f9629bc6c4388ea699781dc988c2b99766d7679b151c81990b4fa1208fafd3"
+dependencies = [
+ "serde",
+ "toml",
+]
+
+[[package]]
+name = "castaway"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clang-sys"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap-cargo"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25122ca6ebad5f53578c26638afd9f0160426969970dc37ec6c363ff6b082ebd"
+dependencies = [
+ "clap",
+ "doc-comment",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9"
+dependencies = [
+ "anstyle",
+ "clap_lex",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
+[[package]]
+name = "concurrent-queue"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "convert_case"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "critical-section"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216"
+
+[[package]]
+name = "crossbeam"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6eb9105919ca8e40d437fc9cbb8f1975d916f1bd28afe795a48aae32a2cc8920"
+dependencies = [
+ "cfg-if",
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adc6598521bb5a83d491e8c1fe51db7296019d2ca3cb93cc6c2a20369a4d78a2"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[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 = "ctor"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
+dependencies = [
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "cty"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
+
+[[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 0.4.10",
+ "winapi",
+]
+
+[[package]]
+name = "curl-sys"
+version = "0.4.70+curl-8.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c0333d8849afe78a4c8102a429a446bfdd055832af071945520e835ae2d841e"
+dependencies = [
+ "cc",
+ "libc",
+ "libnghttp2-sys",
+ "libz-sys",
+ "openssl-sys",
+ "pkg-config",
+ "vcpkg",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if",
+ "hashbrown",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "detect"
+version = "0.0.0"
+dependencies = [
+ "ctor",
+ "rustix 0.38.28",
+ "std_detect",
+]
+
+[[package]]
+name = "diff"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
+dependencies = [
+ "cfg-if",
+ "dirs-sys-next",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "dirs-sys-next"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "doc-comment"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
+
+[[package]]
+name = "downcast"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1"
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "ena"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "enum-map"
+version = "2.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9"
+dependencies = [
+ "enum-map-derive",
+]
+
+[[package]]
+name = "enum-map-derive"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+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.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "event-listener"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+
+[[package]]
+name = "event-listener"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84f2cdcf274580f2d63697192d744727b3198894b1bf02923643bf59e2c26712"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.1",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "eyre"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799"
+dependencies = [
+ "indenter",
+ "once_cell",
+]
+
+[[package]]
+name = "fallible-iterator"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
+
+[[package]]
+name = "fastrand"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "finl_unicode"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6"
+
+[[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fragile"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa"
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-lite"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
+dependencies = [
+ "fastrand 1.9.0",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+ "waker-fn",
+]
+
+[[package]]
+name = "futures-lite"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143"
+dependencies = [
+ "fastrand 2.0.1",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "futures-macro"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-core",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "gloo-timers"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "half"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+
+[[package]]
+name = "half"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+dependencies = [
+ "bytemuck",
+ "cfg-if",
+ "crunchy",
+ "num-traits",
+ "rand",
+ "rand_distr",
+ "serde",
+]
+
+[[package]]
+name = "hash32"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
+name = "heapless"
+version = "0.7.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f"
+dependencies = [
+ "atomic-polyfill",
+ "hash32",
+ "rustc_version 0.4.0",
+ "spin",
+ "stable_deref_trait",
+]
+
+[[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.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "http"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "httpmock"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b02e044d3b4c2f94936fb05f9649efa658ca788f44eb6b87554e2033fc8ce93"
+dependencies = [
+ "assert-json-diff",
+ "async-object-pool",
+ "async-trait",
+ "base64",
+ "basic-cookies",
+ "crossbeam-utils",
+ "form_urlencoded",
+ "futures-util",
+ "hyper",
+ "isahc",
+ "lazy_static",
+ "levenshtein",
+ "log",
+ "regex",
+ "serde",
+ "serde_json",
+ "serde_regex",
+ "similar",
+ "tokio",
+ "url",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "hyper"
+version = "0.14.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2 0.5.5",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[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 = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "if_chain"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed"
+
+[[package]]
+name = "indenter"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
+
+[[package]]
+name = "indexmap"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
+dependencies = [
+ "hermit-abi",
+ "rustix 0.38.28",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "isahc"
+version = "1.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
+dependencies = [
+ "async-channel 1.9.0",
+ "castaway",
+ "crossbeam-utils",
+ "curl",
+ "curl-sys",
+ "encoding_rs",
+ "event-listener 2.5.3",
+ "futures-lite 1.13.0",
+ "http",
+ "log",
+ "mime",
+ "once_cell",
+ "polling 2.8.0",
+ "slab",
+ "sluice",
+ "tracing",
+ "tracing-futures",
+ "url",
+ "waker-fn",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "js-sys"
+version = "0.3.66"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "kv-log-macro"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "lalrpop"
+version = "0.19.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b"
+dependencies = [
+ "ascii-canvas",
+ "bit-set",
+ "diff",
+ "ena",
+ "is-terminal",
+ "itertools 0.10.5",
+ "lalrpop-util",
+ "petgraph",
+ "regex",
+ "regex-syntax 0.6.29",
+ "string_cache",
+ "term",
+ "tiny-keccak",
+ "unicode-xid",
+]
+
+[[package]]
+name = "lalrpop-util"
+version = "0.19.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed"
+dependencies = [
+ "regex",
+]
+
+[[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 = "levenshtein"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760"
+
+[[package]]
+name = "libc"
+version = "0.2.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+
+[[package]]
+name = "libloading"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+dependencies = [
+ "cfg-if",
+ "winapi",
+]
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[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 = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall",
+]
+
+[[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.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+dependencies = [
+ "value-bag",
+]
+
+[[package]]
+name = "md-5"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
+dependencies = [
+ "cfg-if",
+ "digest",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memmap2"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "mockall"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48"
+dependencies = [
+ "cfg-if",
+ "downcast",
+ "fragile",
+ "lazy_static",
+ "mockall_derive",
+ "predicates",
+ "predicates-tree",
+]
+
+[[package]]
+name = "mockall_derive"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2"
+dependencies = [
+ "cfg-if",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "multiversion"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2c7b9d7fe61760ce5ea19532ead98541f6b4c495d87247aff9826445cf6872a"
+dependencies = [
+ "multiversion-macros",
+ "target-features",
+]
+
+[[package]]
+name = "multiversion-macros"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26a83d8500ed06d68877e9de1dde76c1dbb83885dcdbda4ef44ccbc3fbda2ac8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "target-features",
+]
+
+[[package]]
+name = "new_debug_unreachable"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "ntapi"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+ "libm",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.32.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "openai_api_rust"
+version = "0.1.8"
+source = "git+https://github.com/tensorchord/openai-api.git?rev=228d54b6002e98257b3c81501a054942342f585f#228d54b6002e98257b3c81501a054942342f585f"
+dependencies = [
+ "log",
+ "mime",
+ "rand",
+ "serde",
+ "serde_json",
+ "ureq",
+]
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "owo-colors"
+version = "3.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "pathsearch"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da983bc5e582ab17179c190b4b66c7d76c5943a69c6d34df2a2b6bf8a2977b05"
+dependencies = [
+ "anyhow",
+ "libc",
+]
+
+[[package]]
+name = "peeking_take_while"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pest"
+version = "2.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
+dependencies = [
+ "memchr",
+ "thiserror",
+ "ucd-trie",
+]
+
+[[package]]
+name = "petgraph"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
+dependencies = [
+ "fixedbitset",
+ "indexmap",
+]
+
+[[package]]
+name = "pgrx"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb44171122605250e719ca2ae49afb357bdb2fce4b3c876fcf2225165237328a"
+dependencies = [
+ "atomic-traits",
+ "bitflags 2.4.1",
+ "bitvec",
+ "enum-map",
+ "heapless",
+ "libc",
+ "once_cell",
+ "pgrx-macros",
+ "pgrx-pg-sys",
+ "pgrx-sql-entity-graph",
+ "seahash",
+ "seq-macro",
+ "serde",
+ "serde_cbor",
+ "serde_json",
+ "thiserror",
+ "uuid",
+]
+
+[[package]]
+name = "pgrx-macros"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18ac8628b7de2f29a93d0abdbdcaee95a0e0ef4b59fd4de99cc117e166e843b"
+dependencies = [
+ "pgrx-sql-entity-graph",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pgrx-pg-config"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acd45ac6eb1142c5690df63c4e0bdfb74f27c9f93a7af84f064dc2c0a2c2d6f7"
+dependencies = [
+ "cargo_toml",
+ "dirs",
+ "eyre",
+ "owo-colors",
+ "pathsearch",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "toml",
+ "url",
+]
+
+[[package]]
+name = "pgrx-pg-sys"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81c6207939582934fc26fceb651cb5338e363c06ddc6b2d50ca71867f7c70ffe"
+dependencies = [
+ "bindgen",
+ "clang-sys",
+ "eyre",
+ "libc",
+ "memoffset",
+ "once_cell",
+ "pgrx-macros",
+ "pgrx-pg-config",
+ "pgrx-sql-entity-graph",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "shlex",
+ "sptr",
+ "syn 1.0.109",
+ "walkdir",
+]
+
+[[package]]
+name = "pgrx-sql-entity-graph"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a50083de83b1fac2484e8f2c2a7da5fed0193904e2578fa6c4ce02262c455c2b"
+dependencies = [
+ "convert_case",
+ "eyre",
+ "petgraph",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "unescape",
+]
+
+[[package]]
+name = "pgrx-tests"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ba0115cd80d9e3ca1d5d2a8ab8b7320d6ed614a53d025b86152696a8b3caa75"
+dependencies = [
+ "clap-cargo",
+ "eyre",
+ "libc",
+ "once_cell",
+ "owo-colors",
+ "pgrx",
+ "pgrx-macros",
+ "pgrx-pg-config",
+ "postgres",
+ "proptest",
+ "rand",
+ "regex",
+ "serde",
+ "serde_json",
+ "sysinfo",
+ "thiserror",
+]
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_shared 0.11.2",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pin-project"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand 2.0.1",
+ "futures-io",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
+
+[[package]]
+name = "polling"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
+dependencies = [
+ "autocfg",
+ "bitflags 1.3.2",
+ "cfg-if",
+ "concurrent-queue",
+ "libc",
+ "log",
+ "pin-project-lite",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "polling"
+version = "3.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix 0.38.28",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "postgres"
+version = "0.19.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7915b33ed60abc46040cbcaa25ffa1c7ec240668e0477c4f3070786f5916d451"
+dependencies = [
+ "bytes",
+ "fallible-iterator",
+ "futures-util",
+ "log",
+ "tokio",
+ "tokio-postgres",
+]
+
+[[package]]
+name = "postgres-protocol"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520"
+dependencies = [
+ "base64",
+ "byteorder",
+ "bytes",
+ "fallible-iterator",
+ "hmac",
+ "md-5",
+ "memchr",
+ "rand",
+ "sha2",
+ "stringprep",
+]
+
+[[package]]
+name = "postgres-types"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d2234cdee9408b523530a9b6d2d6b373d1db34f6a8e51dc03ded1828d7fb67c"
+dependencies = [
+ "bytes",
+ "fallible-iterator",
+ "postgres-protocol",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "precomputed-hash"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
+
+[[package]]
+name = "predicates"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6dfc28575c2e3f19cb3c73b93af36460ae898d426eba6fc15b9bd2a5220758a0"
+dependencies = [
+ "anstyle",
+ "itertools 0.11.0",
+ "predicates-core",
+]
+
+[[package]]
+name = "predicates-core"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
+
+[[package]]
+name = "predicates-tree"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
+dependencies = [
+ "predicates-core",
+ "termtree",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "proptest"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf"
+dependencies = [
+ "bit-set",
+ "bit-vec",
+ "bitflags 2.4.1",
+ "lazy_static",
+ "num-traits",
+ "rand",
+ "rand_chacha",
+ "rand_xorshift",
+ "regex-syntax 0.8.2",
+ "rusty-fork",
+ "tempfile",
+ "unarray",
+]
+
+[[package]]
+name = "quick-error"
+version = "1.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[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_distr"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31"
+dependencies = [
+ "num-traits",
+ "rand",
+]
+
+[[package]]
+name = "rand_xorshift"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "rayon"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom",
+ "libredox",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "ring"
+version = "0.17.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+dependencies = [
+ "cc",
+ "getrandom",
+ "libc",
+ "spin",
+ "untrusted",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee"
+dependencies = [
+ "semver 0.11.0",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver 1.0.20",
+]
+
+[[package]]
+name = "rustix"
+version = "0.37.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys 0.3.8",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+dependencies = [
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.12",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.21.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+dependencies = [
+ "log",
+ "ring",
+ "rustls-webpki",
+ "sct",
+]
+
+[[package]]
+name = "rustls-webpki"
+version = "0.101.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
+name = "rusty-fork"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
+dependencies = [
+ "fnv",
+ "quick-error",
+ "tempfile",
+ "wait-timeout",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+
+[[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.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "sct"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "semver"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+
+[[package]]
+name = "semver-parser"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
+dependencies = [
+ "pest",
+]
+
+[[package]]
+name = "seq-macro"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
+
+[[package]]
+name = "serde"
+version = "1.0.193"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_cbor"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
+dependencies = [
+ "half 1.8.2",
+ "serde",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.193"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.108"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_regex"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf"
+dependencies = [
+ "regex",
+ "serde",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "service"
+version = "0.0.0"
+dependencies = [
+ "arc-swap",
+ "arrayvec",
+ "bincode",
+ "bytemuck",
+ "byteorder",
+ "c",
+ "crc32fast",
+ "crossbeam",
+ "dashmap",
+ "detect",
+ "half 2.3.1",
+ "libc",
+ "log",
+ "memmap2",
+ "memoffset",
+ "multiversion",
+ "num-traits",
+ "parking_lot",
+ "rand",
+ "rayon",
+ "rustix 0.38.28",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "ulock-sys",
+ "uuid",
+ "validator",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "shlex"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "similar"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597"
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "sluice"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
+dependencies = [
+ "async-channel 1.9.0",
+ "futures-core",
+ "futures-io",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+
+[[package]]
+name = "socket2"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "sptr"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "std_detect"
+version = "0.1.5"
+source = "git+https://github.com/tensorchord/stdarch.git?branch=avx512fp16#db0cdbc9b02074bfddabfd23a4a681f21640eada"
+dependencies = [
+ "cfg-if",
+ "libc",
+]
+
+[[package]]
+name = "string_cache"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b"
+dependencies = [
+ "new_debug_unreachable",
+ "once_cell",
+ "parking_lot",
+ "phf_shared 0.10.0",
+ "precomputed-hash",
+]
+
+[[package]]
+name = "stringprep"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6"
+dependencies = [
+ "finl_unicode",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[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.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "sysinfo"
+version = "0.29.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666"
+dependencies = [
+ "cfg-if",
+ "core-foundation-sys",
+ "libc",
+ "ntapi",
+ "once_cell",
+ "rayon",
+ "winapi",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "target-features"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfb5fa503293557c5158bd215fdc225695e567a77e453f5d4452a50a193969bd"
+
+[[package]]
+name = "tempfile"
+version = "3.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+dependencies = [
+ "cfg-if",
+ "fastrand 2.0.1",
+ "redox_syscall",
+ "rustix 0.38.28",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "term"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
+dependencies = [
+ "dirs-next",
+ "rustversion",
+ "winapi",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "termtree"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
+
+[[package]]
+name = "thiserror"
+version = "1.0.52"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.52"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "tiny-keccak"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
+
+[[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 = "tokio"
+version = "1.35.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2 0.5.5",
+ "tokio-macros",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "tokio-postgres"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d340244b32d920260ae7448cb72b6e238bddc3d4f7603394e7dd46ed8e48f5b8"
+dependencies = [
+ "async-trait",
+ "byteorder",
+ "bytes",
+ "fallible-iterator",
+ "futures-channel",
+ "futures-util",
+ "log",
+ "parking_lot",
+ "percent-encoding",
+ "phf",
+ "pin-project-lite",
+ "postgres-protocol",
+ "postgres-types",
+ "rand",
+ "socket2 0.5.5",
+ "tokio",
+ "tokio-util",
+ "whoami",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "log",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "tracing-futures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
+dependencies = [
+ "pin-project",
+ "tracing",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "ucd-trie"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
+
+[[package]]
+name = "ulock-sys"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32ad66e1a230c3dd9e07cf0065e3f6afef1fc270716f2ba419b2ddb19971ccfa"
+dependencies = [
+ "cty",
+]
+
+[[package]]
+name = "unarray"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
+
+[[package]]
+name = "unescape"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6e"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[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-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "ureq"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97"
+dependencies = [
+ "base64",
+ "flate2",
+ "log",
+ "once_cell",
+ "rustls",
+ "rustls-webpki",
+ "serde",
+ "serde_json",
+ "url",
+ "webpki-roots",
+]
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna 0.5.0",
+ "percent-encoding",
+]
+
+[[package]]
+name = "uuid"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+ "serde",
+]
+
+[[package]]
+name = "validator"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b92f40481c04ff1f4f61f304d61793c7b56ff76ac1469f1beb199b1445b253bd"
+dependencies = [
+ "idna 0.4.0",
+ "lazy_static",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "url",
+ "validator_derive",
+]
+
+[[package]]
+name = "validator_derive"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc44ca3088bb3ba384d9aecf40c6a23a676ce23e09bdaca2073d99c207f864af"
+dependencies = [
+ "if_chain",
+ "lazy_static",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "syn 1.0.109",
+ "validator_types",
+]
+
+[[package]]
+name = "validator_types"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "111abfe30072511849c5910134e8baf8dc05de4c0e5903d681cbd5c9c4d611e3"
+dependencies = [
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "value-bag"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a72e1902dde2bd6441347de2b70b7f5d59bf157c6c62f0c44572607a1d55bbe"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "vectors"
+version = "0.0.0"
+dependencies = [
+ "bincode",
+ "bytemuck",
+ "byteorder",
+ "detect",
+ "env_logger",
+ "half 2.3.1",
+ "httpmock",
+ "libc",
+ "log",
+ "mockall",
+ "num-traits",
+ "openai_api_rust",
+ "pgrx",
+ "pgrx-tests",
+ "rand",
+ "rustix 0.38.28",
+ "serde",
+ "serde_json",
+ "service",
+ "thiserror",
+ "toml",
+ "validator",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wait-timeout"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "waker-fn"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
+
+[[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "want"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
+
+[[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.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+
+[[package]]
+name = "web-sys"
+version = "0.3.66"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.25.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
+
+[[package]]
+name = "whoami"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
+dependencies = [
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+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.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winnow"
+version = "0.5.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97a4882e6b134d6c28953a387571f1acdd3496830d5e36c5e3a1075580ea641c"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
diff --git a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix
new file mode 100644
index 0000000000000..23d4499029ea2
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix
@@ -0,0 +1,118 @@
+{ lib
+, buildPgrxExtension
+, cargo-pgrx
+, clang_16
+, fetchCrate
+, fetchFromGitHub
+, nix-update-script
+, nixosTests
+, openssl
+, pkg-config
+, postgresql
+, rustPlatform
+, stdenv
+, substituteAll
+}:
+
+let
+  # Upstream only works with clang 16, so we're pinning it here to
+  # avoid future incompatibility.
+  # See https://docs.pgvecto.rs/developers/development.html#environment, step 4
+  clang = clang_16;
+  rustPlatform' = rustPlatform // {
+    bindgenHook = rustPlatform.bindgenHook.override { inherit clang; };
+  };
+
+  # Upstream only works with a fixed version of cargo-pgrx for each release,
+  # so we're pinning it here to avoid future incompatibility.
+  # See https://docs.pgvecto.rs/developers/development.html#environment, step 6
+  cargo-pgrx_0_11_2 = cargo-pgrx.overrideAttrs (old: rec {
+    pname = "cargo-pgrx";
+    version = "0.11.2";
+
+    src = fetchCrate {
+      pname = "cargo-pgrx";
+      inherit version;
+      hash = "sha256-8NlpMDFaltTIA8G4JioYm8LaPJ2RGKH5o6sd6lBHmmM=";
+    };
+
+    cargoDeps = old.cargoDeps.overrideAttrs (_: {
+      inherit src;
+      outputHash = "sha256-qTb3JV3u42EilaK2jP9oa5D09mkuHyRbGGRs9Rg4TzI=";
+    });
+  });
+
+in
+(buildPgrxExtension.override {
+  cargo-pgrx = cargo-pgrx_0_11_2;
+  rustPlatform = rustPlatform';
+}) rec {
+  inherit postgresql;
+
+  pname = "pgvecto-rs";
+  version = "0.2.1";
+
+  buildInputs = [ openssl ];
+  nativeBuildInputs = [ pkg-config ];
+
+  patches = [
+    # Tell the `c` crate to use the flags from the rust bindgen hook
+    (substituteAll {
+      src = ./0001-read-clang-flags-from-environment.diff;
+      clang = lib.getExe clang;
+    })
+  ];
+
+  src = fetchFromGitHub {
+    owner = "tensorchord";
+    repo = "pgvecto.rs";
+    rev = "v${version}";
+    hash = "sha256-kwaGHerEVh6Oxb9jQupSapm7CsKl5CoH6jCv+zbi4FE=";
+  };
+
+  # Package has git dependencies on Cargo.lock (instead of just crate.io dependencies),
+  # so cargoHash does not work, therefore we have to include Cargo.lock in nixpkgs.
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "openai_api_rust-0.1.8" = "sha256-os5Y8KIWXJEYEcNzzT57wFPpEXdZ2Uy9W3j5+hJhhR4=";
+      "std_detect-0.1.5" = "sha256-RwWejfqyGOaeU9zWM4fbb/hiO1wMpxYPKEjLO0rtRmU=";
+    };
+  };
+
+  # Set appropriate version on vectors.control, otherwise it won't show up on PostgreSQL
+  postPatch = ''
+    substituteInPlace ./vectors.control --subst-var-by CARGO_VERSION ${version}
+  '';
+
+  # Include upgrade scripts in the final package
+  # https://github.com/tensorchord/pgvecto.rs/blob/v0.2.0/scripts/ci_package.sh#L6-L8
+  postInstall = ''
+    cp sql/upgrade/* $out/share/postgresql/extension/
+  '';
+
+  env = {
+    # Needed to get openssl-sys to use pkg-config.
+    OPENSSL_NO_VENDOR = 1;
+
+    # Bypass rust nightly features not being available on rust stable
+    RUSTC_BOOTSTRAP = 1;
+  };
+
+  passthru = {
+    updateScript = nix-update-script { };
+    tests = {
+      pgvecto-rs = nixosTests.pgvecto-rs;
+    };
+  };
+
+  meta = with lib; {
+    # The pgrx 0.11.2 dependency is broken in aarch64-linux: https://github.com/pgcentralfoundation/pgrx/issues/1429
+    # It is fixed in pgrx 0.11.3, but upstream is still using pgrx 0.11.2
+    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
+    description = "Scalable, Low-latency and Hybrid-enabled Vector Search in Postgres";
+    homepage = "https://github.com/tensorchord/pgvecto.rs";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ diogotcorreia esclear ];
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index 3b1c855e0de9a..9cc83118c5260 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -44,6 +44,8 @@ self: super: {
 
     pgsql-http = super.callPackage ./ext/pgsql-http.nix { };
 
+    pgvecto-rs = super.callPackage ./ext/pgvecto-rs { };
+
     pgvector = super.callPackage ./ext/pgvector.nix { };
 
     plpgsql_check = super.callPackage ./ext/plpgsql_check.nix { };
diff --git a/pkgs/servers/sql/proxysql/default.nix b/pkgs/servers/sql/proxysql/default.nix
index 83824490bcd11..891ee8e531348 100644
--- a/pkgs/servers/sql/proxysql/default.nix
+++ b/pkgs/servers/sql/proxysql/default.nix
@@ -17,7 +17,7 @@
 , libev
 , libgcrypt
 , libinjection
-, libmicrohttpd_0_9_69
+, libmicrohttpd
 , libuuid
 , lz4
 , nlohmann_json
@@ -111,7 +111,7 @@ stdenv.mkDerivation (finalAttrs: {
           { f = "libdaemon"; p = libdaemon; }
           { f = "libev"; p = libev; }
           { f = "libinjection"; p = libinjection; }
-          { f = "libmicrohttpd"; p = libmicrohttpd_0_9_69; }
+          { f = "libmicrohttpd"; p = libmicrohttpd; }
           { f = "libssl"; p = openssl; }
           { f = "lz4"; p = lz4; }
           { f = "pcre"; p = pcre; }
diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix
index 320eac3bc8ce6..58eabadfb6e2c 100644
--- a/pkgs/servers/web-apps/discourse/default.nix
+++ b/pkgs/servers/web-apps/discourse/default.nix
@@ -13,7 +13,6 @@
 , gzip
 , gnutar
 , git
-, esbuild
 , cacert
 , util-linux
 , gawk
@@ -47,13 +46,13 @@
 }@args:
 
 let
-  version = "3.2.0.beta1";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse";
     rev = "v${version}";
-    sha256 = "sha256-HVjt5rsLSuyOaQxkbiTrsYsSXj3oSWjke98QVp+tEqk=";
+    sha256 = "sha256-Iv7VSnK8nZDpmIwIRPedSWlftABKuMOQ4MXDGpjuWrY=";
   };
 
   ruby = ruby_3_2;
@@ -66,7 +65,6 @@ let
     gnutar
     git
     brotli
-    esbuild
 
     # Misc required system utils
     which
@@ -204,7 +202,7 @@ let
 
     yarnOfflineCache = fetchYarnDeps {
       yarnLock = src + "/app/assets/javascripts/yarn.lock";
-      sha256 = "070h66zp8kmsigbrkh5d3jzbzvllzhbx0fa2yzx5lbpgnjhih3p2";
+      sha256 = "0sclrv3303dgg3r08dwhd1yvi3pvlnvnikn300vjsh6c71fnzhnj";
     };
 
     nativeBuildInputs = runtimeDeps ++ [
@@ -217,7 +215,6 @@ let
       nodejs_18
       jq
       moreutils
-      esbuild
     ];
 
     outputs = [ "out" "javascripts" ];
@@ -241,12 +238,6 @@ let
       # hasn't been `patchShebangs`-ed yet. So instead we just use
       # `patch-package` from `nativeBuildInputs`.
       ./asserts_patch-package_from_path.patch
-
-      # `lib/discourse_js_processor.rb`
-      # tries to call `../node_modules/.bin/esbuild`, which
-      # hasn't been `patchShebangs`-ed yet. So instead we just use
-      # `esbuild` from `nativeBuildInputs`.
-      ./assets_esbuild_from_path.patch
     ];
 
     # We have to set up an environment that is close enough to
@@ -279,7 +270,6 @@ let
       popd &>/dev/null
 
       redis-server >/dev/null &
-      REDIS_PID=$!
 
       initdb -A trust $NIX_BUILD_TOP/postgres >/dev/null
       postgres -D $NIX_BUILD_TOP/postgres -k $NIX_BUILD_TOP >/dev/null &
@@ -305,8 +295,6 @@ let
 
       bundle exec rake db:migrate >/dev/null
       chmod -R +w tmp
-
-      kill $REDIS_PID
     '';
 
     buildPhase = ''
@@ -363,12 +351,6 @@ let
 
       # Make sure the notification email setting applies
       ./notification_email.patch
-
-      # `lib/discourse_js_processor.rb`
-      # tries to call `../node_modules/.bin/esbuild`, which
-      # hasn't been `patchShebangs`-ed yet. So instead we just use
-      # `esbuild` from `nativeBuildInputs`.
-      ./assets_esbuild_from_path.patch
     ];
 
     postPatch = ''
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
index b25bd428f69b3..68cd69dcc3a6e 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-assign";
-    rev = "e9c7cb5c3f90109bc47223b0aa4054d681e9cc04";
-    sha256 = "sha256-w1h1dCSyOml+AT7lPKENYfawm6BU2De5CyBHrDnDcrM=";
+    rev = "0cbf10b8055370445bd36536e51986bf48bdc57e";
+    sha256 = "sha256-7rJ2zQo1nCHwtVuLJUmdj66Ky2bi4Cpo+22H3DbO1uo=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
index eacdc099f123f..266c43e4f8e28 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-bbcode-color";
-    rev = "79ed22b3a3352adbd20f7e2222b9dbdb9fbaf7fe";
-    sha256 = "sha256-AHgny9BW/ssmv0U2lwzVWgYKPsvWHD6kgU3mBMFX4Aw=";
+    rev = "35aab2e9b92f8b01633d374ea999e7fd59d020d7";
+    sha256 = "sha256-DHckx921EeQysm1UPloCrt43BJetTnZKnTbJGk15NMs=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-bbcode-color";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
index 586a58d3d6265..183ead8d51d44 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
@@ -22,4 +22,4 @@ DEPENDENCIES
   rrule (= 0.4.4)
 
 BUNDLED WITH
-   2.4.17
+   2.4.13
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
index 9fc5779fc74c3..7a6bd7f692707 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-calendar";
-    rev = "4d4fe40d09f7232b1348e1ff910b37b2cec0835d";
-    sha256 = "sha256-w1sqE3KxwrE8SWqZUtPVhjITOPFXwlj4iPyPZeSfvtI=";
+    rev = "afc2ee684de41601d6cecc46713d139760f176a6";
+    sha256 = "sha256-rTQWO+E/Jg4zjZDYDvBrDQsox5q4dHkdQjwnJxgv3dI=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-calendar";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
index 9f4cb186dd666..499d2e6447bd1 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-chat-integration";
-    rev = "4f9ccb58cae8600dcb6db84f38f235283911e6e8";
-    sha256 = "sha256-Em9aAwAfUoqsOHLrqNhxUQXsO4Owydf9nhCHbBaqqpg=";
+    rev = "70fea6b66b68868aa4c00b45a169436deaa142a8";
+    sha256 = "sha256-K9MmP1F0B6Na2dTqgnsjMbTQFkF+nNKkI8aF3zPAodc=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-chat-integration";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
index 881fade4ea956..39320637ddcdc 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-data-explorer";
-    rev = "06193f27ef15828479eea61ae4a80bf59806a535";
-    sha256 = "sha256-afjqgi2gzRpbZt5K9yXPy4BJ5qRv7A4ZkXHX85+Cv7s=";
+    rev = "e4f8d3924a18b303c2bb7da9472cf0c060060e4e";
+    sha256 = "sha256-K+GPszO3je6NmnhIRSqSEhylUK5oEByaS0bLfAGjvB4=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-data-explorer";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
index 4f458cd4ce63a..3dcd2b86a9692 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-docs";
-    rev = "89c7274b1a730edefd1b56c13b8c04305d4ef331";
-    sha256 = "sha256-j3zrGmoAvbSHFnbiUfetyfiQJebrtW3Iw5GvsRRq1kk=";
+    rev = "a4b203274b88c5277d0b5b936de0bc0e0016726c";
+    sha256 = "sha256-R+VP/gsb2Oa6lPVMhRoGZzOBx5C7kRSxqwYpWE10GHw=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
index f12130e240664..3640cbc601dad 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
@@ -3,9 +3,7 @@ GEM
   specs:
     addressable (2.8.5)
       public_suffix (>= 2.0.2, < 6.0)
-    base64 (0.1.1)
-    faraday (2.7.11)
-      base64
+    faraday (2.7.10)
       faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
     faraday-net_http (3.0.2)
@@ -26,4 +24,4 @@ DEPENDENCIES
   sawyer (= 0.9.2)
 
 BUNDLED WITH
-   2.4.17
+   2.4.13
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
index f5967cde115a1..50a59136ecf50 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-github";
-    rev = "21fa5c97ca23b4c39aef5ab9c4f8ebb22f19a19b";
-    sha256 = "sha256-0Teu6nMJWAT9TCjZ0RWZKtfsUKAS1cga5DvALIvrUyY=";
+    rev = "8aa068d56ef010cecaabd50657e7753f4bbecc1f";
+    sha256 = "sha256-WzljuGvv6pki3ROkvhXZWQaq5D9JkCbWjdlkdRI8lHE=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-github";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
index 7410f0ca0d209..87599999d894f 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
@@ -10,26 +10,16 @@
     };
     version = "2.8.5";
   };
-  base64 = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
   faraday = {
-    dependencies = ["base64" "faraday-net_http" "ruby2_keywords"];
+    dependencies = ["faraday-net_http" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vn7jwss2v6jhnxvjsiwbs3irjwhbx9zxn4l6fhd4rkcfyxzdnw5";
+      sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9";
       type = "gem";
     };
-    version = "2.7.11";
+    version = "2.7.10";
   };
   faraday-net_http = {
     groups = ["default"];
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
index da8ff6f32f4a9..3a07b4bfd3424 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-math";
-    rev = "66d522cd8e4cf98547f083c4decdc64c688767de";
-    sha256 = "sha256-Zil6LWl6ACyP/ZkxNli1u9/3dlHFRETtmIov1BmQ3u4=";
+    rev = "529ad1fe6da924da378a60bec48c35657bb01a68";
+    sha256 = "sha256-zhtAy0tTVMzQfPilTwfyyzxgCJD4xazOITBuliFR5Gg=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-math";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
index 5f64d52e55b2a..a467f4d17b399 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-openid-connect";
-    rev = "322bf50700840b327d9a52091fedbacc0bb1edfe";
-    sha256 = "sha256-8WMhlKHYVm2wHbkP7b8dhOosvwDNjHqTrEziQT1Bu/4=";
+    rev = "b1df541ad29f6f6098a1008b83393b2d400986ed";
+    sha256 = "sha256-afRd/9M0nQGkS14Q8BJhcJwMCkOku3Fr0uHxcRl44vQ=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-openid-connect";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
index 29f66df12c80d..88a3a3c8d6548 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
@@ -13,4 +13,4 @@ DEPENDENCIES
   webrick (= 1.7.0)
 
 BUNDLED WITH
-   2.4.17
+   2.4.13
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
index 7ce27877cd96f..95bf4c5a679a3 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
@@ -6,8 +6,8 @@
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-prometheus";
-    rev = "305610c90079556cdfa2aa09b567a6ca10d11de5";
-    sha256 = "sha256-dz+/2pbbhs8sxYMxe/wAjvdxoU4ihjN95A4ngP0KzQg=";
+    rev = "8a7a46a80cc65aa0839bc5e3c3b6f8ef6544089f";
+    sha256 = "sha256-TL+pbP26LvRMKdy8CAuBEK+LZfAs8HfggMeUDaBu9hc=";
   };
 
   patches = [
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix
index f91ad047201b0..36e4ac19c4bd6 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-reactions";
-    rev = "f04f077e9f0392ca2373ca001044069d650ae6e5";
-    sha256 = "sha256-HuFXgfd5HO7qfVlf1RHxenlNL10YRF5OYya4Yt6eS14=";
+    rev = "643f807a3a2195f08211064301f0350d9f51604f";
+    sha256 = "sha256-4FdiYUNysSuOJ664G3YvlUHx/J7MLUS3kVBdXT47oEw=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-reactions";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
index b091884bb5116..32709666189e3 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-saved-searches";
-    rev = "1b90d26cc35bd049d0ab7ea3922f7db6ac7ec017";
-    sha256 = "sha256-d+zbm8UAZ/ow8o1Y5mWAyjg5JCvQ761jcGcO72tHEIs=";
+    rev = "7c9bdcd68951e7cef16cafe3c4bfb583bb994d2a";
+    sha256 = "sha256-6RIN12ACDCeRcxmsC3FgeIPdvovI4arn7w/Dqil1yCI=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-saved-searches";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
index 26939adc4ec7d..ed47f9e15e924 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-solved";
-    rev = "3b9ecc69c6a25b7671c42842b8a6f3872873f537";
-    sha256 = "sha256-gtG+v25jJ0DiYlU2vatreGj13yrb5WWRTvxlcDdAibw=";
+    rev = "b5d487d6a5bfe2571d936eec5911d02a5f3fcc32";
+    sha256 = "sha256-Tt7B9PcsV8E7B+m8GnJw+MBz9rGYtojKt6NjBFMQvOM=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-solved";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
index a8a0f7975654f..23ce34dcd694e 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-spoiler-alert";
-    rev = "b57e79343acc15cb2c0a032a2deb29ad4b9d53cc";
-    sha256 = "sha256-Ypt6PYCZzArCv9KkCtw5rfT6++dDoUx5q9m/eMvP0Sc=";
+    rev = "65989714af08eda44196cca3a0afe85c9e9443f9";
+    sha256 = "sha256-R/vqNEDst50+Y7anckIvhy4viBOqBemIZMh4sPt7kRM=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-spoiler-alert";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
index 5922bcca2cbb4..a311dbcfbfcf9 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-voting";
-    rev = "83ab47f3186694039c6850ac3e230443e05d37c5";
-    sha256 = "sha256-2sSBLSSPddxXqvEukDn8tzLVOOWoPBA+C8N5jVccCjA=";
+    rev = "6449fc15658d972e20086a3f1fae3dbac9cd9eeb";
+    sha256 = "sha256-f04LpVeodCVEB/t5Ic2dketp542Nrc0rZWbQ6hrC22g=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-voting";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
index c3ad1c7ef5488..979398f7394b7 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-yearly-review";
-    rev = "47014a8ecb96da8d45d0fe141a069010161b3087";
-    sha256 = "sha256-9OIgxRdQoYH19vb7GcTt8MxVM5N4JPzmMIsg7FQOjJs=";
+    rev = "3246c6b378f9e69e664c575efc63c2ad83bcac2f";
+    sha256 = "sha256-usHHyfYP4YAQ94f7gvNSH7VBRRkdZMmsSi9QQM8tPfY=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-yearly-review";
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
index 649c1df5815ac..647aefea8adac 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
@@ -18,7 +18,7 @@ else
   # this allows us to include the bits of rails we use without pieces we do not.
   #
   # To issue a rails update bump the version number here
-  rails_version = "7.0.7"
+  rails_version = "7.0.5.1"
   gem "actionmailer", rails_version
   gem "actionpack", rails_version
   gem "actionview", rails_version
@@ -141,10 +141,10 @@ group :test do
   gem "fakeweb", require: false
   gem "minitest", require: false
   gem "simplecov", require: false
-  gem "selenium-webdriver", "~> 4.11", require: false
+  gem "selenium-webdriver", require: false
   gem "test-prof"
+  gem "webdrivers", require: false
   gem "rails-dom-testing", require: false
-  gem "minio_runner", require: false
 end
 
 group :test, :development do
@@ -259,11 +259,6 @@ if ENV["IMPORT"] == "1"
   gem "parallel", require: false
 end
 
-if ENV["GENERIC_IMPORT"] == "1"
-  gem "sqlite3"
-  gem "redcarpet"
-end
-
 gem "web-push"
 gem "colored2", require: false
 gem "maxminddb"
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
index 685bdbd8a5e23..0b93bf23d097b 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
@@ -9,7 +9,7 @@ GIT
 
 GIT
   remote: https://github.com/thoughtbot/shoulda-matchers.git
-  revision: 68f76ce13e9892339f90c4928339dfd769cfa613
+  revision: 783a90554053002017510285bc736099b2749c22
   specs:
     shoulda-matchers (5.3.0)
       activesupport (>= 5.2.0)
@@ -17,47 +17,47 @@ GIT
 GEM
   remote: https://rubygems.org/
   specs:
-    actionmailer (7.0.7)
-      actionpack (= 7.0.7)
-      actionview (= 7.0.7)
-      activejob (= 7.0.7)
-      activesupport (= 7.0.7)
+    actionmailer (7.0.5.1)
+      actionpack (= 7.0.5.1)
+      actionview (= 7.0.5.1)
+      activejob (= 7.0.5.1)
+      activesupport (= 7.0.5.1)
       mail (~> 2.5, >= 2.5.4)
       net-imap
       net-pop
       net-smtp
       rails-dom-testing (~> 2.0)
-    actionpack (7.0.7)
-      actionview (= 7.0.7)
-      activesupport (= 7.0.7)
+    actionpack (7.0.5.1)
+      actionview (= 7.0.5.1)
+      activesupport (= 7.0.5.1)
       rack (~> 2.0, >= 2.2.4)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (7.0.7)
-      activesupport (= 7.0.7)
+    actionview (7.0.5.1)
+      activesupport (= 7.0.5.1)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    actionview_precompiler (0.3.0)
+    actionview_precompiler (0.2.3)
       actionview (>= 6.0.a)
     active_model_serializers (0.8.4)
       activemodel (>= 3.0)
-    activejob (7.0.7)
-      activesupport (= 7.0.7)
+    activejob (7.0.5.1)
+      activesupport (= 7.0.5.1)
       globalid (>= 0.3.6)
-    activemodel (7.0.7)
-      activesupport (= 7.0.7)
-    activerecord (7.0.7)
-      activemodel (= 7.0.7)
-      activesupport (= 7.0.7)
-    activesupport (7.0.7)
+    activemodel (7.0.5.1)
+      activesupport (= 7.0.5.1)
+    activerecord (7.0.5.1)
+      activemodel (= 7.0.5.1)
+      activesupport (= 7.0.5.1)
+    activesupport (7.0.5.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
-    addressable (2.8.5)
+    addressable (2.8.4)
       public_suffix (>= 2.0.2, < 6.0)
     annotate (3.2.0)
       activerecord (>= 3.2, < 8.0)
@@ -82,7 +82,6 @@ GEM
       aws-sigv4 (~> 1.1)
     aws-sigv4 (1.5.0)
       aws-eventstream (~> 1, >= 1.0.2)
-    base64 (0.1.1)
     better_errors (2.10.1)
       erubi (>= 1.0.0)
       rack (>= 0.9.0)
@@ -110,7 +109,7 @@ GEM
     cgi (0.3.6)
     chunky_png (1.4.0)
     coderay (1.1.3)
-    colored2 (4.0.0)
+    colored2 (3.1.2)
     concurrent-ruby (1.2.2)
     connection_pool (2.4.1)
     cose (1.3.0)
@@ -120,7 +119,7 @@ GEM
     crack (0.4.5)
       rexml
     crass (1.0.6)
-    css_parser (1.16.0)
+    css_parser (1.14.0)
       addressable
     dartsass-ruby (3.0.1)
       sass-embedded (~> 1.54)
@@ -145,8 +144,8 @@ GEM
     docile (1.4.0)
     email_reply_trimmer (0.1.13)
     erubi (1.12.0)
-    excon (0.102.0)
-    execjs (2.9.0)
+    excon (0.100.0)
+    execjs (2.8.1)
     exifr (1.4.0)
     fabrication (2.30.0)
     faker (2.23.0)
@@ -164,9 +163,9 @@ GEM
     ffi (1.15.5)
     fspath (3.1.2)
     gc_tracer (1.5.1)
-    globalid (1.2.1)
-      activesupport (>= 6.1)
-    google-protobuf (3.24.3)
+    globalid (1.1.0)
+      activesupport (>= 5.0)
+    google-protobuf (3.23.4)
     guess_html_encoding (0.0.11)
     hana (1.3.7)
     hashdiff (1.0.1)
@@ -189,7 +188,7 @@ GEM
     json (2.6.3)
     json-schema (3.0.0)
       addressable (>= 2.8)
-    json_schemer (2.0.0)
+    json_schemer (1.0.3)
       hana (~> 1.3)
       regexp_parser (~> 2.0)
       simpleidn (~> 0.2)
@@ -223,20 +222,19 @@ GEM
     matrix (0.4.2)
     maxminddb (0.1.22)
     memory_profiler (1.0.1)
-    message_bus (4.3.8)
+    message_bus (4.3.7)
       rack (>= 1.1.3)
     method_source (1.0.0)
-    mini_mime (1.1.5)
+    mini_mime (1.1.2)
     mini_portile2 (2.8.4)
     mini_racer (0.8.0)
       libv8-node (~> 18.16.0.0)
     mini_scheduler (0.16.0)
       sidekiq (>= 4.2.3, < 7.0)
-    mini_sql (1.5.0)
+    mini_sql (1.4.0)
     mini_suffix (0.3.3)
       ffi (~> 1.9)
-    minio_runner (0.1.1)
-    minitest (5.20.0)
+    minitest (5.19.0)
     mocha (2.1.0)
       ruby2_keywords (>= 0.0.5)
     msgpack (1.7.2)
@@ -255,7 +253,7 @@ GEM
     net-smtp (0.3.3)
       net-protocol
     nio4r (2.5.9)
-    nokogiri (1.15.4)
+    nokogiri (1.15.3)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     oauth (1.1.0)
@@ -270,7 +268,7 @@ GEM
       multi_json (~> 1.3)
       multi_xml (~> 0.5)
       rack (>= 1.2, < 4)
-    oj (3.16.1)
+    oj (3.15.1)
     omniauth (1.9.2)
       hashie (>= 3.4.6)
       rack (>= 1.6.2, < 3)
@@ -298,7 +296,7 @@ GEM
       openssl (> 2.0)
     optimist (3.1.0)
     parallel (1.23.0)
-    parallel_tests (4.2.2)
+    parallel_tests (4.2.1)
       parallel
     parser (3.2.2.3)
       ast (~> 2.4.1)
@@ -315,17 +313,17 @@ GEM
     pry-rails (0.3.9)
       pry (>= 0.10.4)
     public_suffix (5.0.3)
-    puma (6.3.1)
+    puma (6.3.0)
       nio4r (~> 2.0)
     racc (1.7.1)
     rack (2.2.8)
-    rack-mini-profiler (3.1.1)
+    rack-mini-profiler (3.1.0)
       rack (>= 1.2.0)
-    rack-protection (3.1.0)
-      rack (~> 2.2, >= 2.2.4)
+    rack-protection (3.0.6)
+      rack
     rack-test (2.1.0)
       rack (>= 1.3)
-    rails-dom-testing (2.2.0)
+    rails-dom-testing (2.1.1)
       activesupport (>= 5.0.0)
       minitest
       nokogiri (>= 1.6)
@@ -339,9 +337,9 @@ GEM
     rails_multisite (5.0.0)
       activerecord (>= 6.0)
       railties (>= 6.0)
-    railties (7.0.7)
-      actionpack (= 7.0.7)
-      activesupport (= 7.0.7)
+    railties (7.0.5.1)
+      actionpack (= 7.0.5.1)
+      activesupport (= 7.0.5.1)
       method_source
       rake (>= 12.2)
       thor (~> 1.0)
@@ -365,7 +363,7 @@ GEM
       rack (>= 1.4)
     rexml (3.2.6)
     rinku (2.0.6)
-    rotp (6.3.0)
+    rotp (6.2.2)
     rouge (4.1.3)
     rqrcode (2.2.0)
       chunky_png (~> 1.0)
@@ -395,7 +393,7 @@ GEM
       rspec-mocks (~> 3.12)
       rspec-support (~> 3.12)
     rspec-support (3.12.1)
-    rss (0.3.0)
+    rss (0.2.9)
       rexml
     rswag-specs (2.10.1)
       activesupport (>= 3.1, < 7.1)
@@ -404,8 +402,7 @@ GEM
       rspec-core (>= 2.14)
     rtlcss (0.2.1)
       mini_racer (>= 0.6.3)
-    rubocop (1.56.3)
-      base64 (~> 0.1.1)
+    rubocop (1.55.1)
       json (~> 2.3)
       language_server-protocol (>= 3.17.0)
       parallel (~> 1.10)
@@ -425,7 +422,7 @@ GEM
       rubocop-rspec (>= 2.0.0)
     rubocop-factory_bot (2.23.1)
       rubocop (~> 1.33)
-    rubocop-rspec (2.23.2)
+    rubocop-rspec (2.23.0)
       rubocop (~> 1.33)
       rubocop-capybara (~> 2.17)
       rubocop-factory_bot (~> 2.22)
@@ -439,10 +436,10 @@ GEM
     sanitize (6.0.2)
       crass (~> 1.0.2)
       nokogiri (>= 1.12.0)
-    sass-embedded (1.66.1)
+    sass-embedded (1.64.1)
       google-protobuf (~> 3.23)
       rake (>= 13.0.0)
-    selenium-webdriver (4.12.0)
+    selenium-webdriver (4.10.0)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
       websocket (~> 1.0)
@@ -465,7 +462,7 @@ GEM
       actionpack (>= 5.2)
       activesupport (>= 5.2)
       sprockets (>= 3.0.0)
-    sshkey (3.0.0)
+    sshkey (2.0.0)
     stackprof (0.2.25)
     syntax_tree (6.1.1)
       prettier_print (>= 1.2.0)
@@ -494,7 +491,11 @@ GEM
       hkdf (~> 1.0)
       jwt (~> 2.0)
       openssl (~> 3.0)
-    webmock (3.19.1)
+    webdrivers (5.3.1)
+      nokogiri (~> 1.6)
+      rubyzip (>= 1.3.0)
+      selenium-webdriver (~> 4.0, < 4.11)
+    webmock (3.18.1)
       addressable (>= 2.8.0)
       crack (>= 0.3.2)
       hashdiff (>= 0.4.0, < 2.0.0)
@@ -503,20 +504,20 @@ GEM
       nokogiri (~> 1.8)
     yaml-lint (0.1.2)
     yard (0.9.34)
-    zeitwerk (2.6.11)
+    zeitwerk (2.6.10)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  actionmailer (= 7.0.7)
-  actionpack (= 7.0.7)
-  actionview (= 7.0.7)
+  actionmailer (= 7.0.5.1)
+  actionpack (= 7.0.5.1)
+  actionview (= 7.0.5.1)
   actionview_precompiler
   active_model_serializers (~> 0.8.3)
-  activemodel (= 7.0.7)
-  activerecord (= 7.0.7)
-  activesupport (= 7.0.7)
+  activemodel (= 7.0.5.1)
+  activerecord (= 7.0.5.1)
+  activesupport (= 7.0.5.1)
   addressable
   annotate
   aws-sdk-s3
@@ -576,7 +577,6 @@ DEPENDENCIES
   mini_scheduler
   mini_sql
   mini_suffix
-  minio_runner
   minitest
   mocha
   multi_json
@@ -604,7 +604,7 @@ DEPENDENCIES
   rails-dom-testing
   rails_failover
   rails_multisite
-  railties (= 7.0.7)
+  railties (= 7.0.5.1)
   rake
   rb-fsevent
   rbtrace
@@ -625,7 +625,7 @@ DEPENDENCIES
   ruby-readability
   rubyzip
   sanitize
-  selenium-webdriver (~> 4.11)
+  selenium-webdriver
   shoulda-matchers!
   sidekiq
   simplecov
@@ -642,9 +642,10 @@ DEPENDENCIES
   unf
   unicorn
   web-push
+  webdrivers
   webmock
   yaml-lint
   yard
 
 BUNDLED WITH
-   2.4.17
+   2.4.13
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
index 350bf7abba202..fc7b71f0c0306 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15ni57icsw1ilz5srlasff4h31h2ckgmxbdd8jnbniscvz4x2sd0";
+      sha256 = "1pz26qpdx1xncpy5h8k4afw0npnh6wn580yvwv2cf857zrzvr1pm";
       type = "gem";
     };
-    version = "7.0.7";
+    version = "7.0.5.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "150sjsk12vzj9aswjy3cz124l8n8sn52bhd0wwly73rwc1a750sg";
+      sha256 = "003y7cdxwzdqx8hgw02kf1b5mp8qr8syx07f35sk3ghhqxp39ksy";
       type = "gem";
     };
-    version = "7.0.7";
+    version = "7.0.5.1";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nn21k5psxdv2fkwxs679lr0b8n1nzli2ks343cx4azn6snp8b8a";
+      sha256 = "11ihpqcvz3f38ka85zdjkdcvgdbcan81dbr0y9bi784jn1v5ggwa";
       type = "gem";
     };
-    version = "7.0.7";
+    version = "7.0.5.1";
   };
   actionview_precompiler = {
     dependencies = ["actionview"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07jyr2h87ha6k2y965rs4ywq142ddkfkhbmp0r44xg4wnffr8jbl";
+      sha256 = "07dx8vkwig8han4zccs0chahcf9ibd4abzx9n56qah8zak5cyrhd";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "0.2.3";
   };
   active_model_serializers = {
     dependencies = ["activemodel"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s5r5z9jm57jjabh8w2823rpjd1agn8z2rlqgyyn4s9pbbhgalzy";
+      sha256 = "11wkxf16zdb9gsnc94x4hyj89wjks06gnk4fbl7gp5vkbl744n83";
       type = "gem";
     };
-    version = "7.0.7";
+    version = "7.0.5.1";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rspbw4yxx9fh2wyl2wvgwadwapfyx7j9zlirpd4pmk31wkhl4hf";
+      sha256 = "12f89hxs4s26ggsg4bnz9qxlcsclcgx9gdsl8dni5jc0gk47h14y";
       type = "gem";
     };
-    version = "7.0.7";
+    version = "7.0.5.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ygg145wxlgm12b1x5r0rsk2aa6i2wjz7bgb21j8vmyqyfl272cy";
+      sha256 = "1sfdq2slmsc0ygncl36dq1lmjww1y3b42izrnn62cyisiag28796";
       type = "gem";
     };
-    version = "7.0.7";
+    version = "7.0.5.1";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wzbnv3hns0yiwbgh1m3q5j0d7b0k52nlpwirhxyv3l0ycmljfr9";
+      sha256 = "0m1sa6djlm9cz6mz3lcbqqahvm6qj75dmq3phpn2ysyxnlz2hr0c";
       type = "gem";
     };
-    version = "7.0.7";
+    version = "7.0.5.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33";
+      sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20";
       type = "gem";
     };
-    version = "2.8.5";
+    version = "2.8.4";
   };
   annotate = {
     dependencies = ["activerecord" "rake"];
@@ -205,16 +205,6 @@
     };
     version = "1.5.0";
   };
-  base64 = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
   better_errors = {
     dependencies = ["erubi" "rack" "rouge"];
     groups = ["development"];
@@ -361,10 +351,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zj06gjqwykgzxmbkp2hmg3wv5kv8zz5d77acxipzcgicdjgvfan";
+      sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "3.1.2";
   };
   concurrent-ruby = {
     groups = ["default" "development" "test"];
@@ -434,10 +424,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18mii41bbl106rn940ah8v3xclj4yrxxa0bwlwp546244n9b83zp";
+      sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.14.0";
   };
   dartsass-ruby = {
     dependencies = ["sass-embedded"];
@@ -582,20 +572,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mbkyyadz9vw7mzixi9dks6i6iw033yn2hzwfvnfdvgqq6ywqs4g";
+      sha256 = "08r6qgbpkxxsihjmlspk3l1sr69q5hx35p1l4wp7rmkbzys89867";
       type = "gem";
     };
-    version = "0.102.0";
+    version = "0.100.0";
   };
   execjs = {
     groups = ["assets" "default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a4dhqclx0n4dc5riiff1nkwfinaf5an1dxjywmlwa9wm57r9q9p";
+      sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd";
       type = "gem";
     };
-    version = "2.9.0";
+    version = "2.8.1";
   };
   exifr = {
     groups = ["default"];
@@ -756,20 +746,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh";
+      sha256 = "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.1.0";
   };
   google-protobuf = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pcl4x4cw3snl5xzs99lm82m9xkfs8vm1a8dfrc34pwb77mwrwv3";
+      sha256 = "1dq5lgkxhagqr8zjrwr10zi8rldbg2vhis2m5q86v5q9415ylfgj";
       type = "gem";
     };
-    version = "3.24.3";
+    version = "3.23.4";
   };
   guess_html_encoding = {
     groups = ["default"];
@@ -930,10 +920,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0spgxaxvsl3qvyj9qb95gd5hvy2pnp98hbgp8nfw6s69yyw0xmgj";
+      sha256 = "1mbf7v8bzmxyk413y16drnww68bgyzknlqmaqvj785iakja7in7x";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "1.0.3";
   };
   jwt = {
     groups = ["default"];
@@ -1132,10 +1122,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15xqp7pnicjh2868fsc6fmxw8cw32bpiaqpc5bz8cwdib09ns3qk";
+      sha256 = "1ppqgch8xxccpmccdx37lb00112ayqjb80zz5m3w3298vdzb1kn4";
       type = "gem";
     };
-    version = "4.3.8";
+    version = "4.3.7";
   };
   method_source = {
     groups = ["default" "development" "test"];
@@ -1148,14 +1138,14 @@
     version = "1.0.0";
   };
   mini_mime = {
-    groups = ["default" "test"];
+    groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6";
+      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
       type = "gem";
     };
-    version = "1.1.5";
+    version = "1.1.2";
   };
   mini_portile2 = {
     groups = ["default" "development" "test"];
@@ -1194,10 +1184,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yrxjmwhfnvcwbj9vscyq0z67sq09zl8qhmzgakq2ywy4yvcpwgg";
+      sha256 = "1dgwyyya821sfj4f92sljsxmmnak2yrzsbckvy82001zgq1n3b41";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.4.0";
   };
   mini_suffix = {
     dependencies = ["ffi"];
@@ -1210,25 +1200,15 @@
     };
     version = "0.3.3";
   };
-  minio_runner = {
-    groups = ["test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11rwvbqichq5jipgbr5x6s609485ga7vxc32r3h9vx342gs6nrzy";
-      type = "gem";
-    };
-    version = "0.1.1";
-  };
   minitest = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3";
+      sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6";
       type = "gem";
     };
-    version = "5.20.0";
+    version = "5.19.0";
   };
   mocha = {
     dependencies = ["ruby2_keywords"];
@@ -1356,10 +1336,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74";
+      sha256 = "1jw8a20a9k05fpz3q24im19b97idss3179z76yn5scc5b8lk2rl7";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.3";
   };
   oauth = {
     dependencies = ["oauth-tty" "snaky_hash" "version_gem"];
@@ -1399,10 +1379,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m4vsd6i093kmyz9gckvzpnws997laldaiaf86hg5lza1ir82x7n";
+      sha256 = "1vzcrsv6w5k90l75gy83dlfkv2z9pvnr82mz1nhnijmcg3rgqaz8";
       type = "gem";
     };
-    version = "3.16.1";
+    version = "3.15.1";
   };
   omniauth = {
     dependencies = ["hashie" "rack"];
@@ -1532,10 +1512,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pa50my9sgh4wh9jah1qxjd33wsp1ahv29vj2q1biz434p67vh5p";
+      sha256 = "04y02j0kyhfww41dnnjawn2gpp24smq0x21dvaa5z6pnq0fvmahv";
       type = "gem";
     };
-    version = "4.2.2";
+    version = "4.2.1";
   };
   parser = {
     dependencies = ["ast" "racc"];
@@ -1627,10 +1607,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x4dwx2shx0p7lsms97r85r7ji7zv57bjy3i1kmcpxc8bxvrr67c";
+      sha256 = "1v7fmv0n4bhdcwh60dgza44iqai5pg34f5pzm4vh4i5fwx7mpqxh";
       type = "gem";
     };
-    version = "6.3.1";
+    version = "6.3.0";
   };
   racc = {
     groups = ["default" "development" "test"];
@@ -1662,10 +1642,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18vj7q740f7ffj677i258abryj97w0a6g3d5859y0lgypm5big1v";
+      sha256 = "13dhpp1iljhqp9c8akmp6gjhx47qf83w12ns4bif26ldkignpam1";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.1.0";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -1673,10 +1653,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xsz78hccgza144n37bfisdkzpr2c8m0xl6rnlzgxdbsm1zrkg7r";
+      sha256 = "1kpm67az1wxlg76h620in2r7agfyhv177ps268j5ggsanzddzih8";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.0.6";
   };
   rack-test = {
     dependencies = ["rack"];
@@ -1695,10 +1675,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5";
+      sha256 = "17g05y7q7934z0ib4aph8h71c2qwjmlakkm7nb2ab45q0aqkfgjd";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.1.1";
   };
   rails-html-sanitizer = {
     dependencies = ["loofah" "nokogiri"];
@@ -1739,10 +1719,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0in2b84qqmfnigx0li9bgi6l4knmgbj3a29fzm1zzb5jnv4r1gbr";
+      sha256 = "1z4lqqbd4i5izsg97mx5yf3gj7y5d07wgvad0jzjghjg12pf142i";
       type = "gem";
     };
-    version = "7.0.7";
+    version = "7.0.5.1";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -1893,10 +1873,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m";
+      sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig";
       type = "gem";
     };
-    version = "6.3.0";
+    version = "6.2.2";
   };
   rouge = {
     groups = ["default" "development"];
@@ -2015,10 +1995,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wv27axi39hhr0nmaffdl5bdjqiafcvp9xhfgnsgfczsblja50sn";
+      sha256 = "1b1zx07kr64kkpm4lssd4r1a1qyr829ppmfl85i4adcvx9mqfid0";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "0.2.9";
   };
   rswag-specs = {
     dependencies = ["activesupport" "json-schema" "railties" "rspec-core"];
@@ -2043,15 +2023,15 @@
     version = "0.2.1";
   };
   rubocop = {
-    dependencies = ["base64" "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i3571gchdj3c28znr5kisj0fkppy57208g9j1kv23rhk3p5q5p2";
+      sha256 = "0s9p5qaqq68h5s3ys8xlk9swccma7arjif1w58987n6gicrsprrm";
       type = "gem";
     };
-    version = "1.56.3";
+    version = "1.55.1";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2103,10 +2083,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ylwy4afnxhbrvlaf8an9nrizj78axnzggiyfcp8v531cv8six5f";
+      sha256 = "0l364y00bw1zcs3grdxcxpn48vfrjds2khsiaxjqq3r9grvbprfy";
       type = "gem";
     };
-    version = "2.23.2";
+    version = "2.23.0";
   };
   ruby-prof = {
     groups = ["development"];
@@ -2180,10 +2160,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "038fzkbq5sw9lf947akhpsvdm14q6jfzl2yn87s8958h42sn0xjy";
+      sha256 = "15k44qn8vk8ap8khkmpsiw40pywm9pkx4a5yhm8vfi2rgqci9k90";
       type = "gem";
     };
-    version = "1.66.1";
+    version = "1.64.1";
   };
   selenium-webdriver = {
     dependencies = ["rexml" "rubyzip" "websocket"];
@@ -2191,10 +2171,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jwll13m7bqph4lgl75m7vwd175k657znwa7qn9qkf5dcxdjkcjs";
+      sha256 = "0hwxxvx6j95ln82pjmrgyzg6qmf511dkcp5q79n6m5m8z4way8m3";
       type = "gem";
     };
-    version = "4.12.0";
+    version = "4.10.0";
   };
   shoulda-matchers = {
     dependencies = ["activesupport"];
@@ -2202,8 +2182,8 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "68f76ce13e9892339f90c4928339dfd769cfa613";
-      sha256 = "08kbcdfplmbdhgq0x6lk2lpwrlgijrfq6vhl5hkmxg9v9gpgbbrj";
+      rev = "783a90554053002017510285bc736099b2749c22";
+      sha256 = "10rw7ksi462fxamap6kimdy7hpdgx8477r6zs1kgrbakx24dm3wx";
       type = "git";
       url = "https://github.com/thoughtbot/shoulda-matchers.git";
     };
@@ -2302,10 +2282,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k8i5pzjhcnyf0bhcyn5iixpfp4pz0556rcxwpglh6p0sr8s6nv5";
+      sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "2.0.0";
   };
   stackprof = {
     groups = ["default"];
@@ -2504,16 +2484,27 @@
     };
     version = "3.0.0";
   };
+  webdrivers = {
+    dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19aaxhawzv7315rh285gd1fg6m6wbrn3w3kilyibci1wphgm7mfp";
+      type = "gem";
+    };
+    version = "5.3.1";
+  };
   webmock = {
     dependencies = ["addressable" "crack" "hashdiff"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vfispr7wd2p1fs9ckn1qnby1yyp4i1dl7qz8n482iw977iyxrza";
+      sha256 = "1myj44wvbbqvv18ragv3ihl0h61acgnfwrnj3lccdgp49bgmbjal";
       type = "gem";
     };
-    version = "3.19.1";
+    version = "3.18.1";
   };
   websocket = {
     groups = ["default" "test"];
@@ -2561,9 +2552,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mwdd445w63khz13hpv17m2br5xngyjl3jdj08xizjbm78i2zrxd";
+      sha256 = "06vf6y5ai20ry3b1h9cl7vsdj6i5valq172zdxpnfhj5zvlp104j";
       type = "gem";
     };
-    version = "2.6.11";
+    version = "2.6.10";
   };
 }
diff --git a/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch b/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch
new file mode 100644
index 0000000000000..30493b543e38c
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch
@@ -0,0 +1,22 @@
+diff --git a/lib/discourse.rb b/lib/discourse.rb
+index ea2a3cbafd..66454d9157 100644
+--- a/lib/discourse.rb
++++ b/lib/discourse.rb
+@@ -62,7 +62,7 @@ module Discourse
+         fd.fsync()
+       end
+ 
+-      File.rename(temp_destination, destination)
++      FileUtils.mv(temp_destination, destination)
+ 
+       nil
+     end
+@@ -76,7 +76,7 @@ module Discourse
+       FileUtils.mkdir_p(File.join(Rails.root, 'tmp'))
+       temp_destination = File.join(Rails.root, 'tmp', SecureRandom.hex)
+       execute_command('ln', '-s', source, temp_destination)
+-      File.rename(temp_destination, destination)
++      FileUtils.mv(temp_destination, destination)
+ 
+       nil
+     end
diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix
index e3ccd9fb8a0f0..7b17883c2211b 100644
--- a/pkgs/shells/fish/plugins/default.nix
+++ b/pkgs/shells/fish/plugins/default.nix
@@ -56,6 +56,8 @@ lib.makeScope newScope (self: with self; {
 
   tide = callPackage ./tide.nix { };
 
+  transient-fish = callPackage ./transient-fish.nix { };
+
   wakatime-fish = callPackage ./wakatime-fish.nix { };
 
   z = callPackage ./z.nix { };
diff --git a/pkgs/shells/fish/plugins/transient-fish.nix b/pkgs/shells/fish/plugins/transient-fish.nix
new file mode 100644
index 0000000000000..846436d2d1960
--- /dev/null
+++ b/pkgs/shells/fish/plugins/transient-fish.nix
@@ -0,0 +1,22 @@
+{ lib
+, buildFishPlugin
+, fetchFromGitHub
+}:
+buildFishPlugin {
+  pname = "transient-fish";
+  version = "0-unstable-2024-03-10";
+
+  src = fetchFromGitHub {
+    owner = "zzhaolei";
+    repo = "transient.fish";
+    rev = "be0093f1799462a93953e69896496dee4d063fd6";
+    hash = "sha256-rEkCimnkxcydKRI2y4DxEM7FD7F2/cGTZJN2Edq/Acc=";
+  };
+
+  meta = with lib; {
+    description = "Fish plugin to enable a transient prompt";
+    homepage = "https://github.com/zzhaolei/transient.fish";
+    license = licenses.mit;
+    maintainers = with maintainers; [ iynaix ];
+  };
+}
diff --git a/pkgs/shells/nushell/nu_scripts/default.nix b/pkgs/shells/nushell/nu_scripts/default.nix
index 6180fb7f8890b..69f5f3045ad42 100644
--- a/pkgs/shells/nushell/nu_scripts/default.nix
+++ b/pkgs/shells/nushell/nu_scripts/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nu_scripts";
-  version = "unstable-2024-03-02";
+  version = "unstable-2024-03-09";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = pname;
-    rev = "25514da84d4249ecebdb74c3a23c7184fcc76f50";
-    hash = "sha256-70grgh8yMX3eFKaOTaXh1qxW75RNu7Y9pv0vvqtRc7I=";
+    rev = "5e51b23b1f25eef426da5548964e14fef4b4a485";
+    hash = "sha256-sAqTGy7pXDCgJ9UImJPYwUfbYgRjNjZdHHSyH/+QRNs=";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/nushell/plugins/default.nix b/pkgs/shells/nushell/plugins/default.nix
index f4571d4da0026..eb8bbe14c2815 100644
--- a/pkgs/shells/nushell/plugins/default.nix
+++ b/pkgs/shells/nushell/plugins/default.nix
@@ -4,6 +4,6 @@ lib.makeScope newScope (self: with self; {
   gstat = callPackage ./gstat.nix { inherit Security; };
   formats = callPackage ./formats.nix { inherit IOKit Foundation; };
   query = callPackage ./query.nix { inherit IOKit CoreFoundation; };
-  regex = callPackage ./regex.nix { inherit IOKit; };
+  regex = throw "`nu_plugin_regex` is no longer compatible with the current Nushell release.";
   net = callPackage ./net.nix { inherit IOKit CoreFoundation; };
 })
diff --git a/pkgs/shells/nushell/plugins/regex.nix b/pkgs/shells/nushell/plugins/regex.nix
deleted file mode 100644
index 4689a83902574..0000000000000
--- a/pkgs/shells/nushell/plugins/regex.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv
-, lib
-, rustPlatform
-, fetchFromGitHub
-, nix-update-script
-, IOKit
-}:
-
-rustPlatform.buildRustPackage {
-  pname = "nushell_plugin_regex";
-  version = "unstable-2023-10-08";
-
-  src = fetchFromGitHub {
-    owner = "fdncred";
-    repo = "nu_plugin_regex";
-    rev = "e1aa88e703f1f632ede685dd733472d34dd0c8e7";
-    hash = "sha256-GJgnsaeNDJoJjw8RPw6wpEq1mIult18Eh4frl8Plgxc=";
-  };
-
-  cargoHash = "sha256-AACpzSavY6MlYnl1lDYxVlfsEvEpNK0u8SzsoSZbqFc=";
-
-  buildInputs = lib.optionals stdenv.isDarwin [ IOKit ];
-
-  passthru = {
-    updateScript = nix-update-script { };
-  };
-
-  meta = with lib; {
-    description = "A Nushell plugin to parse regular expressions";
-    homepage = "https://github.com/fdncred/nu_plugin_regex";
-    license = licenses.mit;
-    maintainers = with maintainers; [ aidalgol ];
-    platforms = with platforms; all;
-  };
-}
diff --git a/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix b/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
index fa4d9f4cf477f..21f265e846459 100644
--- a/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
+++ b/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "agkozak-zsh-prompt";
-  version = "3.11.2";
+  version = "3.11.3";
 
   src = fetchFromGitHub {
     owner = "agkozak";
     repo = "agkozak-zsh-prompt";
     rev = "v${version}";
-    sha256 = "sha256-QDUI9EYflITttkX9Khij62ybBMYJwPfayqj+wr495mM=";
+    sha256 = "sha256-YBqFA/DK2K1effniwjPSe5VMx9tZGbmxyJp92TiingU=";
   };
 
   strictDeps = true;
diff --git a/pkgs/shells/zsh/antidote/default.nix b/pkgs/shells/zsh/antidote/default.nix
index 01f6084cb5912..f570c813e5965 100644
--- a/pkgs/shells/zsh/antidote/default.nix
+++ b/pkgs/shells/zsh/antidote/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "1.9.5";
+  version = "1.9.6";
   pname = "antidote";
 
   src = fetchFromGitHub {
     owner = "mattmc3";
     repo = "antidote";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-eS2sf+N50N+oyk8wCp71hYF7WDagFBlTcAB/sFdhw9U=";
+    hash = "sha256-8kNMCo/DwZvBwqh/434GqK7z4KXgkwZH9SazLbH8SfM=";
   };
 
   dontPatch = true;
diff --git a/pkgs/shells/zsh/zsh-abbr/default.nix b/pkgs/shells/zsh/zsh-abbr/default.nix
index 3ab04c74b95be..668637ef1cc6a 100644
--- a/pkgs/shells/zsh/zsh-abbr/default.nix
+++ b/pkgs/shells/zsh/zsh-abbr/default.nix
@@ -5,13 +5,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "zsh-abbr";
-  version = "5.3.0";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
     owner = "olets";
     repo = "zsh-abbr";
     rev = "v${version}";
-    hash = "sha256-TdTjIt8SmwxXJqfaaCyBnBRzMm1Ux1nELGTkpY2Lmrc=";
+    hash = "sha256-gEBGMVR1lMVKNPVuPjtdPkgOXI1MWO0EAtk7JRmS0Ok=";
   };
 
   strictDeps = true;
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 54a03a56866b5..6a53d519045c7 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -249,6 +249,7 @@ let
     "relro"
     "stackprotector"
     "strictoverflow"
+    "trivialautovarinit"
     "zerocallusedregs"
   ];
   defaultHardeningFlags =
diff --git a/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix b/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix
index ad2449cfd9ff7..6d2490acfa477 100644
--- a/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix
+++ b/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix
@@ -15,5 +15,5 @@ derivation ({
   langC = true;
   langCC = true;
   isGNU = true;
-  hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" ];
+  hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" "trivialautovarinit" ];
 } // extraAttrs)
diff --git a/pkgs/stdenv/linux/bootstrap-tools/default.nix b/pkgs/stdenv/linux/bootstrap-tools/default.nix
index ad2449cfd9ff7..6d2490acfa477 100644
--- a/pkgs/stdenv/linux/bootstrap-tools/default.nix
+++ b/pkgs/stdenv/linux/bootstrap-tools/default.nix
@@ -15,5 +15,5 @@ derivation ({
   langC = true;
   langCC = true;
   isGNU = true;
-  hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" ];
+  hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" "trivialautovarinit" ];
 } // extraAttrs)
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index fd0d3a7cd5d04..f58e807f39037 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -25,6 +25,7 @@ in lib.mapAttrs (n: make) (with lib.systems.examples; {
   mipsel-unknown-linux-gnu = mipsel-linux-gnu;
   mips64el-unknown-linux-gnuabin32 = mips64el-linux-gnuabin32;
   mips64el-unknown-linux-gnuabi64 = mips64el-linux-gnuabi64;
+  powerpc64-unknown-linux-gnuabielfv2 = ppc64;
   powerpc64le-unknown-linux-gnu = powernv;
   riscv64-unknown-linux-gnu = riscv64;
 
diff --git a/pkgs/tools/X11/arandr/default.nix b/pkgs/tools/X11/arandr/default.nix
index 1421b2a028dae..2535f467771c6 100644
--- a/pkgs/tools/X11/arandr/default.nix
+++ b/pkgs/tools/X11/arandr/default.nix
@@ -36,5 +36,6 @@ buildPythonApplication rec {
     description = "A simple visual front end for XRandR";
     license = licenses.gpl3;
     maintainers = with maintainers; [ gepbird ];
+    mainProgram = "arandr";
   };
 }
diff --git a/pkgs/tools/admin/amazon-ec2-utils/default.nix b/pkgs/tools/admin/amazon-ec2-utils/default.nix
index ed472b2a930e1..5458572f311c8 100644
--- a/pkgs/tools/admin/amazon-ec2-utils/default.nix
+++ b/pkgs/tools/admin/amazon-ec2-utils/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "amazon-ec2-utils";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "amazonlinux";
     repo = "amazon-ec2-utils";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Yr6pVwyvyVGV4xrjL7VFSkRH8d1w8VLPMTVjXfneJUM=";
+    hash = "sha256-plTBh2LAXkYVSxN0IZJQuPr7QxD7+OAqHl/Zl8JPCmg=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/tools/admin/balena-cli/default.nix b/pkgs/tools/admin/balena-cli/default.nix
index be18c1b15ec11..106ac4774dadf 100644
--- a/pkgs/tools/admin/balena-cli/default.nix
+++ b/pkgs/tools/admin/balena-cli/default.nix
@@ -18,16 +18,16 @@ let
   };
 in buildNpmPackage' rec {
   pname = "balena-cli";
-  version = "18.0.0";
+  version = "18.0.2";
 
   src = fetchFromGitHub {
     owner = "balena-io";
     repo = "balena-cli";
     rev = "v${version}";
-    hash = "sha256-qXOjuVIBjKvsTp9tHxlvYM2oKHLvfGToBE0tAS/F+Ug=";
+    hash = "sha256-u1u/53BTojAUwXk8odK8m2QohzIvypQI9c/UOQflbzE=";
   };
 
-  npmDepsHash = "sha256-VmhyfhyV6mrF3pM5xQGcPowIaAzXJprOmmf4uSTetOA=";
+  npmDepsHash = "sha256-jNptqvHVZUXAZ19m8or1+U8nIAxDep395F6xK6EQ++c=";
 
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json
diff --git a/pkgs/tools/admin/chamber/default.nix b/pkgs/tools/admin/chamber/default.nix
index 2b3975002a167..b2cd363f8f883 100644
--- a/pkgs/tools/admin/chamber/default.nix
+++ b/pkgs/tools/admin/chamber/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "chamber";
-  version = "2.14.0";
+  version = "2.14.1";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vyVdEMs+vtZkN0UuXGmCPNB4hsfjiiG6LeWYFW3gLiw=";
+    sha256 = "sha256-Vbz8rpNy6+iIr/WyegALSo4gRoDL2P1x/6lHg6Kvm/w=";
   };
 
   CGO_ENABLED = 0;
 
-  vendorHash = "sha256-pxWsx/DURVOXGC2izKS91BhbHc220+/6t15eT4Jl128=";
+  vendorHash = "sha256-ZRKs/5JtsTjWL62RuQRwroA6TvTpJqkf6pOecvO3134=";
 
   ldflags = [ "-s" "-w" "-X main.Version=v${version}" ];
 
diff --git a/pkgs/tools/admin/gam/default.nix b/pkgs/tools/admin/gam/default.nix
index 6cf340150ffbd..5847bcf00d510 100644
--- a/pkgs/tools/admin/gam/default.nix
+++ b/pkgs/tools/admin/gam/default.nix
@@ -5,29 +5,28 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gam";
-  version = "6.25";
+  version = "6.58";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "GAM-team";
-    repo = "gam";
+    repo = "GAM";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-/VmBFMjCkd1xhudlcjYGGv+6tgEsyY/xqQoGdupJvOg=";
+    sha256 = "sha256-AIaPzYavbBlJyi9arZN8HTmUXM7Tef0SIfE07PmV9Oo=";
   };
 
   sourceRoot = "${src.name}/src";
 
-  patches = [
-    # Also disables update check
-    ./signal_files_as_env_vars.patch
-  ];
-
   propagatedBuildInputs = with python3.pkgs; [
+    chardet
+    cryptography
     distro
     filelock
     google-api-python-client
     google-auth
     google-auth-oauthlib
+    httplib2
+    lxml
     passlib
     pathvalidate
     python-dateutil
@@ -66,6 +65,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Command line management for Google Workspace";
     homepage = "https://github.com/GAM-team/GAM/wiki";
+    changelog = "https://github.com/GAM-team/GAM/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ thanegill ];
   };
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 6a8d491480ead..ee0fe61836870 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2024.03.02";
+  version = "2024.03.05";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-LWVU6OZc4hTjYY7Q8zjlR4vMqRc2Y+8QGFST543FR1I=";
+    hash = "sha256-nZVI+fIS5av+RUX4P1CsncnQUuqDmIRoT1TGRLdg2Bg=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/liquidsoap/full.nix b/pkgs/tools/audio/liquidsoap/full.nix
index 87914436fd49d..b4c4af7d457d1 100644
--- a/pkgs/tools/audio/liquidsoap/full.nix
+++ b/pkgs/tools/audio/liquidsoap/full.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "liquidsoap";
-  version = "2.2.3";
+  version = "2.2.4";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
     owner = "savonet";
     repo = "liquidsoap";
     rev = "refs/tags/v${version}";
-    hash = "sha256-oCMSdmdU3oHrq3QFEDQLdb3CLFYcWylxTqKWtGOoQW8=";
+    hash = "sha256-aAW3PeobTRVi5mV321MHZ6RymvOY4DbZITjwcMwGwFo=";
   };
 
   postPatch = ''
@@ -76,6 +76,7 @@ stdenv.mkDerivation {
     ocamlPackages.camomile
     ocamlPackages.uri
     ocamlPackages.fileutils
+    ocamlPackages.magic-mime
     ocamlPackages.menhir # liquidsoap-lang
     ocamlPackages.menhirLib
     ocamlPackages.metadata
@@ -99,7 +100,6 @@ stdenv.mkDerivation {
     ocamlPackages.frei0r
     ocamlPackages.gd4o
     ocamlPackages.graphics
-    ocamlPackages.gstreamer
     ocamlPackages.imagelib
     ocamlPackages.inotify
     ocamlPackages.ladspa
@@ -108,7 +108,6 @@ stdenv.mkDerivation {
     ocamlPackages.lilv
     ocamlPackages.lo
     ocamlPackages.mad
-    ocamlPackages.magic
     ocamlPackages.ogg
     ocamlPackages.opus
     ocamlPackages.portaudio
diff --git a/pkgs/tools/backup/zfs-replicate/default.nix b/pkgs/tools/backup/zfs-replicate/default.nix
index 82087a3f4cfa0..bdaf5c6dc6dee 100644
--- a/pkgs/tools/backup/zfs-replicate/default.nix
+++ b/pkgs/tools/backup/zfs-replicate/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonApplication rec {
   pname = "zfs_replicate";
-  version = "3.2.9";
+  version = "3.2.10";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JMkZ4AexN++vPIPqzv9majdUkoAyos+Nm4Vlgeyx0Jg=";
+    hash = "sha256-LEBCdrJZLddJm2nz2JLfwskU8roN/MZlr79exFEWnRI=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index e02be74b60d30..2f10236b46b3b 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xz";
-  version = "5.4.6";
+  version = "5.6.0";
 
   src = fetchurl {
     url = with finalAttrs; "https://github.com/tukaani-project/xz/releases/download/v${version}/xz-${version}.tar.bz2";
-    sha256 = "sha256-kThRsnTo4dMXgeyUnxwj6NvPDs9uc6JDbcIXad0+b0k=";
+    hash = "sha256-iMhjHO+6kWZP3EexS7dT4YdvSWSgfbZQgh0gOZKx4eo=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/filesystems/rar2fs/default.nix b/pkgs/tools/filesystems/rar2fs/default.nix
index 3b42a7890fbdf..0c752e7114534 100644
--- a/pkgs/tools/filesystems/rar2fs/default.nix
+++ b/pkgs/tools/filesystems/rar2fs/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , autoreconfHook
 , fuse
-, unrar
+, unrar_6
 }:
 
 stdenv.mkDerivation rec {
@@ -23,10 +23,10 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ fuse unrar ];
+  buildInputs = [ fuse unrar_6 ];
 
   configureFlags = [
-    "--with-unrar=${unrar.src}/unrar"
+    "--with-unrar=${unrar_6.src}/unrar"
     "--disable-static-unrar"
   ];
 
diff --git a/pkgs/tools/misc/aichat/default.nix b/pkgs/tools/misc/aichat/default.nix
index 311d0fb8de875..69fc0891eea46 100644
--- a/pkgs/tools/misc/aichat/default.nix
+++ b/pkgs/tools/misc/aichat/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "aichat";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "sigoden";
     repo = "aichat";
     rev = "v${version}";
-    hash = "sha256-1m0Sf8qC5kGOfXkxQVri+kL3sZfOFKH3TcpNhuOFPVQ=";
+    hash = "sha256-0VNFqfl1La6jSUE7IsS/pYIQGaNrAgSgiGUjo65pUR4=";
   };
 
-  cargoHash = "sha256-/oEyI6m5j3u89NeEwM4+z1exZfu0FMSf14scAiax3CE=";
+  cargoHash = "sha256-zrX4e9Z8FgZvvNyyiw29Dr/0KO1uL20/+DUASyPjxjE=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/misc/bash_unit/default.nix b/pkgs/tools/misc/bash_unit/default.nix
index 19cebbb07e606..ebf7d6916b32d 100644
--- a/pkgs/tools/misc/bash_unit/default.nix
+++ b/pkgs/tools/misc/bash_unit/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bash_unit";
-  version = "2.2.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "pgrange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-sYs7b6I1VhO2TLLhMFuaV9AtLoavcoKvCRYfVNGAg20=";
+    sha256 = "sha256-kd5h12yjzvR/RBE/IjVXNSyjcf+rz6B2eoO8w2jiaps=";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 24e25e584d4ba..388dcd428c717 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -104,6 +104,8 @@ stdenv.mkDerivation rec {
     # TODO(@Ericson2314): Investigate whether Darwin could benefit too
     ++ optional (isCross && stdenv.hostPlatform.libc != "glibc") libiconv;
 
+  hardeningDisable = [ "trivialautovarinit" ];
+
   configureFlags = [ "--with-packager=https://nixos.org" ]
     ++ optional (singleBinary != false)
       ("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}")
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index 110862bf13965..22ae9a7a64310 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -7,13 +7,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.28.0";
+  version = "2.29.0";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    hash = "sha256-a5J6G7QvCi2u064fP4V5uxxvBXcbN+a+dIO5MbsVU70=";
+    hash = "sha256-rO9k1/HOwVJF/QCT2sZy4L0Mv26CiUj9Zafliffj68A=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     postFetch = ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoHash = "sha256-Up7HvBJMR5h+/rdlJVMeCCuOiOQ8++oReCBI8wt3T2M=";
+  cargoHash = "sha256-qn1QDiYHcygomOFwFEy00wsMykrQ9/84Ed4nAUTlA1k=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Foundation
diff --git a/pkgs/tools/misc/edid-decode/default.nix b/pkgs/tools/misc/edid-decode/default.nix
index eb72d0a815702..733f87da6f22b 100644
--- a/pkgs/tools/misc/edid-decode/default.nix
+++ b/pkgs/tools/misc/edid-decode/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation {
   pname = "edid-decode";
-  version = "unstable-2022-12-14";
+  version = "unstable-2024-01-29";
 
   outputs = [
     "out"
@@ -15,8 +15,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = "git://linuxtv.org/edid-decode.git";
-    rev = "e052f5f9fdf74ca11aa1a8edfa62eff8d0aa3d0d";
-    hash = "sha256-qNtb/eM7VpS8nRbC/nNm6J9vEWVUSrg7OwNaW1774QY=";
+    rev = "7a27b339cf5ee1ab431431a844418a7f7c16d167";
+    hash = "sha256-y+g+E4kaQh6j+3GvHdcVEGQu/zOkGyW/HazUHG0DCxM=";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index c6e939d5b505f..d7a083baaf77c 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, lib
+{ stdenv, fetchFromGitHub, lib, fetchpatch
 , cmake, uthash, pkg-config
 , python, freetype, zlib, glib, giflib, libpng, libjpeg, libtiff, libxml2, cairo, pango
 , readline, woff2, zeromq
@@ -23,6 +23,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-/RYhvL+Z4n4hJ8dmm+jbA1Ful23ni2DbCRZC5A3+pP0=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2024-25081.CVE-2024-25082.patch";
+      url = "https://github.com/fontforge/fontforge/commit/216eb14b558df344b206bf82e2bdaf03a1f2f429.patch";
+      hash = "sha256-aRnir09FSQMT50keoB7z6AyhWAVBxjSQsTRvBzeBuHU=";
+    })
+  ];
+
   # use $SOURCE_DATE_EPOCH instead of non-deterministic timestamps
   postPatch = ''
     find . -type f -name '*.c' -exec sed -r -i 's#\btime\(&(.+)\)#if (getenv("SOURCE_DATE_EPOCH")) \1=atol(getenv("SOURCE_DATE_EPOCH")); else &#g' {} \;
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index a64246693ee16..2f5eac6b7396b 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -24,16 +24,16 @@ let
 in
 buildGoModule rec {
   pname = "fzf";
-  version = "0.46.1";
+  version = "0.47.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    hash = "sha256-gMSelLwIIYv/vkbdWi4Cw3FEy4lbC8P/5+T+c/e66+c=";
+    hash = "sha256-rIRn8g4j/drWEHnvZnJW2sSLq5mrw8Q2pn3LN2sEXDY=";
   };
 
-  vendorHash = "sha256-8ojmIETUyZ3jDhrqkHYnxptRG8vdj0GADYvEpw0wi6w=";
+  vendorHash = "sha256-BOPACUQKcllmA2eWQs+sOfofAQLle2Byb/rZgOhmkVY=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/tools/misc/hunt/default.nix b/pkgs/tools/misc/hunt/default.nix
index 624f9ec90dc29..c76bdb376b2fe 100644
--- a/pkgs/tools/misc/hunt/default.nix
+++ b/pkgs/tools/misc/hunt/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hunt";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "LyonSyonII";
     repo = "hunt-rs";
     rev = "v${version}";
-    sha256 = "sha256-noqsxgx2FuSp3ekaaopLUPhq4YYBwM8uf4DzML5xLAE=";
+    sha256 = "sha256-cQA7LB3gDvANCuUDyXjvSE5pEljJRE/YwajR8deAP2E=";
   };
 
-  cargoHash = "sha256-JErhe2Hu2Qpb5QoEurdy/WSShjkiV/Fai4/lVkisrEQ=";
+  cargoHash = "sha256-WCECfyQLHDlXWqi0dNRJSTkg8srZf3FCqV2EgV3X0Uc=";
 
   meta = with lib; {
     description = "Simplified Find command made with Rust";
diff --git a/pkgs/tools/misc/mise/default.nix b/pkgs/tools/misc/mise/default.nix
index 959be1430da5d..db9ec4cc40ba5 100644
--- a/pkgs/tools/misc/mise/default.nix
+++ b/pkgs/tools/misc/mise/default.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mise";
-  version = "2024.2.19";
+  version = "2024.3.1";
 
   src = fetchFromGitHub {
     owner = "jdx";
     repo = "mise";
     rev = "v${version}";
-    hash = "sha256-SDGXSjCDdtjKn474s2SQm9YDHofMOmHuodLS2iu10Co=";
+    hash = "sha256-Pcchyc7LuHOyDEfZj5QSb7nVhMjO9iIV2uQEJocfLic=";
   };
 
-  cargoHash = "sha256-4MEBIZOXjcLEyW0TB+AXWsEc24VZz8bGCkduHqbazuo=";
+  cargoHash = "sha256-aKzl6yrsEi0DF0tsXB1eqTAar33FlJfRyYUKAi76o+c=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
diff --git a/pkgs/tools/misc/mmctl/0001-module-replace-public.patch b/pkgs/tools/misc/mmctl/0001-module-replace-public.patch
deleted file mode 100644
index 2ac563dbbf4b5..0000000000000
--- a/pkgs/tools/misc/mmctl/0001-module-replace-public.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/go.mod
-+++ b/go.mod
-@@ -218,3 +218,5 @@ exclude (
- 	github.com/dyatlov/go-opengraph v0.0.0-20210112100619-dae8665a5b09
- 	github.com/willf/bitset v1.2.0
- )
-+
-+replace github.com/mattermost/mattermost/server/public => ./public
diff --git a/pkgs/tools/misc/mmctl/default.nix b/pkgs/tools/misc/mmctl/default.nix
index 197d145fc6c7d..a884f24db4702 100644
--- a/pkgs/tools/misc/mmctl/default.nix
+++ b/pkgs/tools/misc/mmctl/default.nix
@@ -1,43 +1,12 @@
-{ lib
-, fetchFromGitHub
-, buildGoModule
+{ mattermost
 }:
 
-buildGoModule rec {
+mattermost.overrideAttrs (o: {
   pname = "mmctl";
-  version = "9.2.2";
-
-  src = fetchFromGitHub {
-    owner = "mattermost";
-    repo = "mattermost";
-    rev = "v${version}";
-    hash = "sha256-53L2F20vaLLxtQS3DP/u0ZxLtnXHmjfcOMbXd4i+A6Y=";
-  } + "/server";
-
-  vendorHash = "sha256-v8aKZyb4emrwuIgSBDgla5wzwyt6PVGakbXjB9JVaCk=";
-
-  patches = [ ./0001-module-replace-public.patch ];
-
   subPackages = [ "cmd/mmctl" ];
 
-  checkPhase = "go test -tags unit -timeout 30m ./cmd/mmctl/...";
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/mattermost/mattermost/server/public/model.Version=${version}"
-    "-X github.com/mattermost/mattermost/server/public/model.BuildNumber=${version}-nixpkgs"
-    "-X github.com/mattermost/mattermost/server/public/model.BuildDate=1970-01-01"
-    "-X github.com/mattermost/mattermost/server/public/model.BuildHash=v${version}"
-    "-X github.com/mattermost/mattermost/server/public/model.BuildHashEnterprise=none"
-    "-X github.com/mattermost/mattermost/server/public/model.BuildEnterpriseReady=false"
-  ];
-
-  meta = with lib; {
+  meta = o.meta // {
     description = "A remote CLI tool for Mattermost";
-    homepage = "https://github.com/mattermost/mmctl";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ ppom mgdelacroix ];
     mainProgram = "mmctl";
   };
-}
+})
diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix
index 0fa109f4cda87..9f57849d81c65 100644
--- a/pkgs/tools/misc/moar/default.nix
+++ b/pkgs/tools/misc/moar/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "moar";
-  version = "1.23.6";
+  version = "1.23.7";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-WWMFyDLNi5XUEWi33Sav69i41icbp7NTzFy+Y+ImGNU=";
+    hash = "sha256-QQiqi3rt1EQTUWSXAxAb5MHGCFyXZV6LZ6ZAS5P3mO4=";
   };
 
   vendorHash = "sha256-1u/2OlMX2FuZaxWnpU4n5r/4xKe+rK++GoCJiSq/BdE=";
diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix
index 1bfde93c39e50..114038dd01f7b 100644
--- a/pkgs/tools/misc/ntfy-sh/default.nix
+++ b/pkgs/tools/misc/ntfy-sh/default.nix
@@ -5,21 +5,21 @@
 
 buildGoModule rec {
   pname = "ntfy-sh";
-  version = "2.8.0";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "binwiederhier";
     repo = "ntfy";
     rev = "v${version}";
-    hash = "sha256-YO6nf1tY+tEgPlvq7JDgeG0ywE8+HEpZH7ToFzvYfvY=";
+    hash = "sha256-nCW7D2iQEv9NeIvVn1+REacspchzJ7SJgl0glEWkAoE=";
   };
 
-  vendorHash = "sha256-Gvk/EI5b6AIYBCKYqSFKva0SfiWI/oNCeq7cTyVRpwY=";
+  vendorHash = "sha256-nnAw3BIiPMNa/7WSH8vurt8GUFM7Bf80CmtH4WjfC6Q=";
 
   ui = buildNpmPackage {
     inherit src version;
     pname = "ntfy-sh-ui";
-    npmDepsHash = "sha256-G2yEIiKc/gxcUPS+97B68C/HukabGZAX2XY1gstGBvg=";
+    npmDepsHash = "sha256-+4VL+bY3Nz5LT5ZyW9aJlrl3NsfOGv6CaiwLqpC5ywo=";
 
     prePatch = ''
       cd web/
diff --git a/pkgs/tools/misc/star-history/default.nix b/pkgs/tools/misc/star-history/default.nix
index 9e4bbc830cbb0..65a2d35a33cd2 100644
--- a/pkgs/tools/misc/star-history/default.nix
+++ b/pkgs/tools/misc/star-history/default.nix
@@ -9,14 +9,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "star-history";
-  version = "1.0.18";
+  version = "1.0.19";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-PKQyGDSLFRf5eEUICdtDAkbzfljdj0HN40c7+V21wHI=";
+    sha256 = "sha256-sjVxYo5Sx6fmlLflg3y754jnFbnA5x/X5NINM3omPVY=";
   };
 
-  cargoHash = "sha256-LriRO5XdcTqp+7quV11RwjNQgfzQsc5EV8GNwkuwz8s=";
+  cargoHash = "sha256-aeRAXUdpv94WW1E/bWvJnwHOxYn9bALXvTb5RVjcozQ=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/misc/time-decode/default.nix b/pkgs/tools/misc/time-decode/default.nix
index edd0eba43a246..b208fd3e2ba25 100644
--- a/pkgs/tools/misc/time-decode/default.nix
+++ b/pkgs/tools/misc/time-decode/default.nix
@@ -5,19 +5,24 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "time-decode";
-  version = "6.1.0";
-  format = "setuptools";
+  version = "7.0.2";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "digitalsleuth";
     repo = "time_decode";
     rev = "refs/tags/v${version}";
-    hash = "sha256-LbXycu3Yiku9ToW+WS/yUqwicvckj2IkP09TiZkRXnk=";
+    hash = "sha256-K60xIQ6TWPYlsR6YjIquey5Ioaw4oAId59CPlQNK4yk=";
   };
 
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools
+  ];
+
   propagatedBuildInputs = with python3.pkgs; [
     colorama
     python-dateutil
+    pyqt6
   ];
 
   # Project has no tests
diff --git a/pkgs/tools/misc/tio/default.nix b/pkgs/tools/misc/tio/default.nix
index 88e121368e669..d5dd656e4e41a 100644
--- a/pkgs/tools/misc/tio/default.nix
+++ b/pkgs/tools/misc/tio/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, inih, bash-completion }:
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, inih, bash-completion, darwin }:
 
 stdenv.mkDerivation rec {
   pname = "tio";
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  buildInputs = [ inih ];
+  buildInputs = [ inih ]
+    ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ darwin.apple_sdk.frameworks.IOKit ];
 
   nativeBuildInputs = [ meson ninja pkg-config bash-completion ];
 
diff --git a/pkgs/tools/misc/tmuxinator/default.nix b/pkgs/tools/misc/tmuxinator/default.nix
index 379430761399f..f5fdbc698f86e 100644
--- a/pkgs/tools/misc/tmuxinator/default.nix
+++ b/pkgs/tools/misc/tmuxinator/default.nix
@@ -8,8 +8,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "tmuxinator";
-  version = "3.0.5";
-  source.sha256 = "1ycsx9mvl0jsds4igi6avxclsyl5lndh1mpj2ykvzfz26wdddg6p";
+  version = "3.1.2";
+  source.sha256 = "t96v3RwBfezB644RVbTmO8i/xh1F23WQC8PBxc/msjg=";
 
   erubis = buildRubyGem rec {
     inherit ruby;
@@ -23,8 +23,8 @@ buildRubyGem rec {
     inherit ruby;
     name = "ruby${ruby.version}-${gemName}-${version}";
     gemName = "thor";
-    version = "1.2.1";
-    source.sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
+    version = "1.3.0";
+    source.sha256 = "sha256-Gtx/nls2VaaMcTk/7ovQrQiNFO6Og6C3NybyPLs8p8M=";
   };
 
   xdg = buildRubyGem rec {
diff --git a/pkgs/tools/misc/ugs/default.nix b/pkgs/tools/misc/ugs/default.nix
index 99fba8bcfe93b..2a3eea73c07f8 100644
--- a/pkgs/tools/misc/ugs/default.nix
+++ b/pkgs/tools/misc/ugs/default.nix
@@ -18,11 +18,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ugs";
-  version = "2.1.5";
+  version = "2.1.6";
 
   src = fetchzip {
     url = "https://github.com/winder/Universal-G-Code-Sender/releases/download/v${version}/UniversalGcodeSender.zip";
-    hash = "sha256-StXEtDJ3UjTWgiQQ8HQtPcUENQPosdHis1eo81Jf96M=";
+    hash = "sha256-6L/4s/QmlTnYnhwLgPf7z8UVkBUYXi3Wb3doa5JCViE=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/networking/ddns-go/default.nix b/pkgs/tools/networking/ddns-go/default.nix
index 957bfcd909179..6983e118eb670 100644
--- a/pkgs/tools/networking/ddns-go/default.nix
+++ b/pkgs/tools/networking/ddns-go/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "ddns-go";
-  version = "6.1.2";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "jeessy2";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-OKQRcYG3t7sU/HSmnkViWWm1is0fhrb6nyh8ahl/l6U=";
+    hash = "sha256-mRLxrF4pI37uGqO1qasYLWEwee5MevL3G0pDUdLir9I=";
   };
 
-  vendorHash = "sha256-VCp+seFaYXElQmktYlWm+nW4gNwNocOVm7T+M6+AdNg=";
+  vendorHash = "sha256-zUqsuph0fn1x4dwvBY0W0+S6SzS086SHya2ViNpDXGU=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/tools/networking/globalping-cli/default.nix b/pkgs/tools/networking/globalping-cli/default.nix
index 8c77a942d6630..9b158128fe887 100644
--- a/pkgs/tools/networking/globalping-cli/default.nix
+++ b/pkgs/tools/networking/globalping-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "globalping-cli";
-  version = "1.1.6";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "jsdelivr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bPHS980iByWEBiqs4CEoI8SdlI4vaqGhyIRrXUUtVOo=";
+    hash = "sha256-9FMp3cGJr8RdySZvSflYa91uaIV5wVl6WmUDvbRkSFY=";
   };
 
-  vendorHash = "sha256-PiSFDA6mZNDe6BhmKxAGuXsBZ+3aBFJ/gBwY/a6Z5gE=";
+  vendorHash = "sha256-3VqCgkyhPKk5iBkKOK2EajEKgEnCHOQjO59AKFafQHc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/networking/grpc_cli/default.nix b/pkgs/tools/networking/grpc_cli/default.nix
index 0e2cc5be00c89..91d66f7bd0204 100644
--- a/pkgs/tools/networking/grpc_cli/default.nix
+++ b/pkgs/tools/networking/grpc_cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc_cli";
-  version = "1.62.0";
+  version = "1.62.1";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-iqoxgo/oocO9gBq0o5bmZvre/EwRguMrWnmwvyLGLr8=";
+    hash = "sha256-L0bn6Bg36UKIRxznH9o4T7WXUqMwFjr8ybeQfbUi8xM=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ automake cmake autoconf ];
diff --git a/pkgs/tools/networking/hysteria/default.nix b/pkgs/tools/networking/hysteria/default.nix
index 705d8025742be..1299da97f3f38 100644
--- a/pkgs/tools/networking/hysteria/default.nix
+++ b/pkgs/tools/networking/hysteria/default.nix
@@ -4,16 +4,16 @@
 }:
 buildGoModule rec {
   pname = "hysteria";
-  version = "2.2.4";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "apernet";
     repo = pname;
     rev = "app/v${version}";
-    hash = "sha256-A8UTnvH5BYRETsjte65+M+HHO6MrqCiPthNEYwBkBYs=";
+    hash = "sha256-sjQrHvUdGPdzKpXuJ9ZWp4S9pram8QaygKLT2WRmd2M=";
   };
 
-  vendorHash = "sha256-uh/qYQBWsyazSbJIz1ykf5bap18fGSIfjVDL8zus2l0=";
+  vendorHash = "sha256-btDWsvhKygWda4x45c8MSOROq6ujJVV9l0PkGQKWM6A=";
   proxyVendor = true;
 
   ldflags =
diff --git a/pkgs/tools/networking/knock/package.nix b/pkgs/tools/networking/knock/package.nix
new file mode 100644
index 0000000000000..b9879859722a6
--- /dev/null
+++ b/pkgs/tools/networking/knock/package.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
+
+buildGoModule rec {
+  pname = "knock";
+  version = "0.0.2";
+
+  src = fetchFromGitHub {
+    owner = "nat-418";
+    repo ="knock";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-VXrWphfBDGDNsz4iuUdwwd46oqnmhJ9i3TtzMqHoSJk=";
+  };
+
+  vendorHash = "sha256-wkSXdIgfkHbVJYsgm/hLAeKA9geof92U3mzSzt7eJE8=";
+
+  outputs = [ "out" "man" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installManPage man/man1/knock.1
+  '';
+
+  meta = with lib; {
+    description = "A simple CLI network reachability tester";
+    homepage = "https://github.com/nat-418/knock";
+    license = licenses.bsd0;
+    changelog = "https://github.com/nat-418/knock/blob/${version}/CHANGELOG.md";
+    maintainers = with maintainers; [ nat-418 ];
+  };
+}
diff --git a/pkgs/tools/networking/ngrok/versions.json b/pkgs/tools/networking/ngrok/versions.json
index 8d90ae6c00e2d..d62dfaa0f8a09 100644
--- a/pkgs/tools/networking/ngrok/versions.json
+++ b/pkgs/tools/networking/ngrok/versions.json
@@ -1,38 +1,38 @@
 {
   "linux-386": {
     "sys": "linux-386",
-    "url": "https://bin.equinox.io/a/5FUi7gCzPvi/ngrok-v3-3.6.0-linux-386",
-    "sha256": "2036fc58594c7205aebaa09e9665d5c706391746122a417e57fa9a1bce62a727",
-    "version": "3.6.0"
+    "url": "https://bin.equinox.io/a/NYbWaAdCby/ngrok-v3-3.7.0-linux-386",
+    "sha256": "3fbf2296a8ce35c7d050ed4c828ef4eacc8724852faaaaa8054822ee72426606",
+    "version": "3.7.0"
   },
   "linux-amd64": {
     "sys": "linux-amd64",
-    "url": "https://bin.equinox.io/a/e6rvYmQb6MC/ngrok-v3-3.6.0-linux-amd64",
-    "sha256": "14e6118f1021b5b8421945a13b15ec501bc88aef0089b1dbf31d1fb229115d9e",
-    "version": "3.6.0"
+    "url": "https://bin.equinox.io/a/doBjqyzrcYM/ngrok-v3-3.7.0-linux-amd64",
+    "sha256": "d1f7149079bb3bce0a70619580818a0ec09ac20da25f64a268203c2a3a019a47",
+    "version": "3.7.0"
   },
   "linux-arm": {
     "sys": "linux-arm",
-    "url": "https://bin.equinox.io/a/iTLH8EwDQN2/ngrok-v3-3.6.0-linux-arm",
-    "sha256": "0bbc395cc610c0017d12a812496856677f6a653f60a76203d0f031914e4cf7bc",
-    "version": "3.6.0"
+    "url": "https://bin.equinox.io/a/hgUUy2bUaz9/ngrok-v3-3.7.0-linux-arm",
+    "sha256": "5f2f0bf4ae42f5c8dcb945694bd1aedf963d631c39ba0cb9c0b9626eb396b2c4",
+    "version": "3.7.0"
   },
   "linux-arm64": {
     "sys": "linux-arm64",
-    "url": "https://bin.equinox.io/a/ibBBjsbrZAm/ngrok-v3-3.6.0-linux-arm64",
-    "sha256": "39575a951352e571f6f96fd4409cbaa675dc4593786c9f198c2fb45360361f02",
-    "version": "3.6.0"
+    "url": "https://bin.equinox.io/a/9p821sdaKqh/ngrok-v3-3.7.0-linux-arm64",
+    "sha256": "f43af93d9d7a9af22a2a5423a0b7b964790b1d2dccfd532142a807282360c21a",
+    "version": "3.7.0"
   },
   "darwin-amd64": {
     "sys": "darwin-amd64",
-    "url": "https://bin.equinox.io/a/61nYpJWvYHR/ngrok-v3-3.6.0-darwin-amd64",
-    "sha256": "05ecb8a6e79cfe57663a085d5fc7cfeddd5867b25fc185829c39de4d25e5857d",
-    "version": "3.6.0"
+    "url": "https://bin.equinox.io/a/cC8QZtu8eV3/ngrok-v3-3.7.0-darwin-amd64",
+    "sha256": "30903672a673454feaafde92e09f04804a3fcea69ef9c02027b6fb12e2ae8df2",
+    "version": "3.7.0"
   },
   "darwin-arm64": {
     "sys": "darwin-arm64",
-    "url": "https://bin.equinox.io/a/9Zzu7daqPHA/ngrok-v3-3.6.0-darwin-arm64",
-    "sha256": "812829dac649b27f99eaf361306a014eb7ff28d005c3c9d087171342fce9472e",
-    "version": "3.6.0"
+    "url": "https://bin.equinox.io/a/jwjx5C5dodJ/ngrok-v3-3.7.0-darwin-arm64",
+    "sha256": "99df3b5a7a1cbf943931aba41fdbb9b7081ea860ef9dec41b7fb08e53433d498",
+    "version": "3.7.0"
   }
 }
diff --git a/pkgs/tools/networking/oha/default.nix b/pkgs/tools/networking/oha/default.nix
index 2ba7a62152db3..28a35929696a6 100644
--- a/pkgs/tools/networking/oha/default.nix
+++ b/pkgs/tools/networking/oha/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oha";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "hatoo";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-UZPC1Arp7/u8XafBvupAAwVu7lx5/F1Ahp944pfe2gw=";
+    hash = "sha256-mjQyeotXKF1hohSmPisshR8Cap9K/IEE55cYSk/QxQE=";
   };
 
-  cargoHash = "sha256-6uGJ6cuMXFLJ6vvUNmUwc+r/4jRHEH5jiOTNb6Fkf6Y=";
+  cargoHash = "sha256-JZIuKUky8D9Q+1JZQ4Vg8GF6Qkh9hG/FebpqyRzPOcA=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [
     pkg-config
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
index 4d783fb47345f..a3d087bbd6444 100644
--- a/pkgs/tools/networking/v2ray/default.nix
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "v2ray-core";
-  version = "5.13.0";
+  version = "5.14.1";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "v2ray-core";
     rev = "v${version}";
-    hash = "sha256-x7LVBmfm9M0fGBvLTz5Bbf01h8IT1yDJyeO1csKfb3I=";
+    hash = "sha256-fa8bgI1xpxunAr69xz2CPmo7XWoCODlBAnlb7fQg43U=";
   };
 
   # `nix-update` doesn't support `vendorHash` yet.
   # https://github.com/Mic92/nix-update/pull/95
-  vendorHash = "sha256-ZBvHu4BEmQi6PQwRHuVwx/6X4gBqlRR44OktKRBGcs4=";
+  vendorHash = "sha256-PPytLBW+dvZW/TWjTpqkP1zPwgh1Ji58BHzBUY9wRW8=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/tools/networking/v2raya/default.nix b/pkgs/tools/networking/v2raya/default.nix
index 02f348a2df9a8..298b27a14ef48 100644
--- a/pkgs/tools/networking/v2raya/default.nix
+++ b/pkgs/tools/networking/v2raya/default.nix
@@ -11,13 +11,13 @@
 }:
 let
   pname = "v2raya";
-  version = "2.2.4.3";
+  version = "2.2.5.1";
 
   src = fetchFromGitHub {
     owner = "v2rayA";
     repo = "v2rayA";
     rev = "v${version}";
-    hash = "sha256-6643sdKVHOHrGRocTm881GCHoON4tlrKcNfOFMHwnQY=";
+    hash = "sha256-aicKjirUHNeCCxfW9aaPI+X5DTQ0RdZnCxIQRU+GdCM=";
     postFetch = "sed -i -e 's/npmmirror/yarnpkg/g' $out/gui/yarn.lock";
   };
   guiSrc = "${src}/gui";
@@ -30,7 +30,7 @@ let
 
     offlineCache = fetchYarnDeps {
       yarnLock = "${guiSrc}/yarn.lock";
-      sha256 = "sha256-rZIcVLolTMdtN27W6gCw9uk9m4N5v9SZn2563+aN/gs=";
+      sha256 = "sha256-AZIYkW2u1l9IaDpR9xiKNpc0sGAarLKwHf5kGnzdpKw=";
     };
 
     buildPhase = ''
@@ -62,7 +62,7 @@ buildGoModule {
   inherit pname version;
 
   src = "${src}/service";
-  vendorHash = "sha256-wwDv2ThHwtnUpAnQoc0Ms0mGC44jRvABcE4K5MrF8S4=";
+  vendorHash = "sha256-/4l13TbE1WEX1xYfyzEwygFsNtT6weoYDll4ejvCyIg=";
 
   ldflags = [
     "-s"
@@ -94,6 +94,6 @@ buildGoModule {
     mainProgram = "v2rayA";
     license = licenses.agpl3Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ elliot ];
+    maintainers = with maintainers; [ ChaosAttractor ];
   };
 }
diff --git a/pkgs/tools/networking/v2raya/package.json b/pkgs/tools/networking/v2raya/package.json
index 531c64b76311f..a4b16d15821c6 100644
--- a/pkgs/tools/networking/v2raya/package.json
+++ b/pkgs/tools/networking/v2raya/package.json
@@ -9,7 +9,8 @@
     "lint": "vue-cli-service lint"
   },
   "resolutions": {
-    "@achrinza/node-ipc": "^10.1.10"
+    "@achrinza/node-ipc": "^10",
+    "@achrinza/event-pubsub": "^5"
   },
   "dependencies": {
     "@achrinza/node-ipc": "^10.1.10",
@@ -42,6 +43,7 @@
     "@vue/cli-plugin-vuex": "~5.0.8",
     "@vue/cli-service": "~5.0.8",
     "@vue/eslint-config-prettier": "^5.0.0",
+    "compression-webpack-plugin": "^10.0.0",
     "css-loader": "^5.2.0",
     "eslint": "^7.32.0",
     "eslint-config-prettier": "^8.3.0",
diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix
index 77a6bca3e9fb4..d0840d206b674 100644
--- a/pkgs/tools/package-management/nix/common.nix
+++ b/pkgs/tools/package-management/nix/common.nix
@@ -15,6 +15,7 @@ let
   atLeast210 = lib.versionAtLeast version "2.10pre";
   atLeast213 = lib.versionAtLeast version "2.13pre";
   atLeast214 = lib.versionAtLeast version "2.14pre";
+  atLeast220 = lib.versionAtLeast version "2.20pre";
   atLeast221 = lib.versionAtLeast version "2.21pre";
   # Major.minor versions unaffected by CVE-2024-27297
   unaffectedByFodSandboxEscape = [
@@ -48,6 +49,7 @@ in
 , lib
 , libarchive
 , libcpuid
+, libgit2
 , libsodium
 , libxml2
 , libxslt
@@ -126,6 +128,8 @@ self = stdenv.mkDerivation {
     gtest
     libarchive
     lowdown
+  ] ++ lib.optionals atLeast220 [
+    libgit2
   ] ++ lib.optionals stdenv.isDarwin [
     Security
   ] ++ lib.optionals (stdenv.isx86_64) [
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index b72bc3c1d8aa5..92c988ea5d087 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -17,8 +17,19 @@ let
   boehmgc-nix_2_3 = boehmgc.override { enableLargeConfig = true; };
 
   boehmgc-nix = boehmgc-nix_2_3.overrideAttrs (drv: {
-    # Part of the GC solution in https://github.com/NixOS/nix/pull/4944
-    patches = (drv.patches or [ ]) ++ [ ./patches/boehmgc-coroutine-sp-fallback.patch ];
+    patches = (drv.patches or [ ]) ++ [
+      # Part of the GC solution in https://github.com/NixOS/nix/pull/4944
+      ./patches/boehmgc-coroutine-sp-fallback.patch
+
+      # Required since 2.20, and has always been a valid change
+      # Awaiting 8.2 patch release of https://github.com/ivmai/bdwgc/commit/d1d4194c010bff2dc9237223319792cae834501c
+      # or master release of https://github.com/ivmai/bdwgc/commit/86b3bf0c95b66f718c3cb3d35fd7387736c2a4d7
+      (fetchpatch {
+        name = "boehmgc-traceable_allocator-public.diff";
+        url = "https://github.com/NixOS/nix/raw/2.20.0/dep-patches/boehmgc-traceable_allocator-public.diff";
+        hash = "sha256-FLsHY/JS46neiSyyQkVpbHZEFvWSCzWrFQu1CC71sh4=";
+      })
+    ];
   });
 
   # old nix fails to build with newer aws-sdk-cpp and the patch doesn't apply
@@ -247,6 +258,11 @@ in lib.makeExtensible (self: ({
     ];
   };
 
+  nix_2_20 = common {
+    version = "2.20.5";
+    hash = "sha256-bfFe38BkoQws7om4gBtBWoNTLkt9piMXdLLoHYl+vBQ=";
+  };
+
   # The minimum Nix version supported by Nixpkgs
   # Note that some functionality *might* have been backported into this Nix version,
   # making this package an inaccurate representation of what features are available
@@ -266,7 +282,7 @@ in lib.makeExtensible (self: ({
 
   stable = addFallbackPathsCheck self.nix_2_18;
 
-  unstable = self.nix_2_19;
+  unstable = self.nix_2_20;
 } // lib.optionalAttrs config.allowAliases {
   nix_2_4 = throw "nixVersions.nix_2_4 has been removed";
 
diff --git a/pkgs/tools/package-management/poetry/plugins/poetry-audit-plugin.nix b/pkgs/tools/package-management/poetry/plugins/poetry-audit-plugin.nix
index 85eb0b5d19b11..6c3f120171bef 100644
--- a/pkgs/tools/package-management/poetry/plugins/poetry-audit-plugin.nix
+++ b/pkgs/tools/package-management/poetry/plugins/poetry-audit-plugin.nix
@@ -10,17 +10,16 @@
 
 buildPythonPackage rec {
   pname = "poetry-audit-plugin";
-  version = "0.3.0";
+  version = "0.4.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
-
-  format = "pyproject";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "opeco17";
     repo = "poetry-audit-plugin";
     rev = "refs/tags/${version}";
-    hash = "sha256-49OnYz3EFiqOe+cLgfynjy14Ve4Ga6OUrLdM8HhZuKQ=";
+    hash = "sha256-kiNtzEup2ygCTk0zk8YV2jxAj6ZzOhP8v0U4FbV15hI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/cdxgen/default.nix b/pkgs/tools/security/cdxgen/default.nix
index 858682ed27f11..ae39464b84a32 100644
--- a/pkgs/tools/security/cdxgen/default.nix
+++ b/pkgs/tools/security/cdxgen/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "cdxgen";
-  version = "10.2.1";
+  version = "10.2.2";
 
   src = fetchFromGitHub {
     owner = "AppThreat";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-X359aLnC0FAiS3pOBQsjmdik01zjZayTvwBLk3sj8ew=";
+    sha256 = "sha256-N0vz2IaXd0cQBPcmGIdN7Z5IbPyrzSn4+enhFTe0dhI=";
   };
 
-  npmDepsHash = "sha256-1vPdKD1Ul+6hq8dYxscL4YLmefnP2zOWRtQWyO6Q0eQ=";
+  npmDepsHash = "sha256-2JmrlKoE6iLlw8jsqi2m34npB/GJjBdvoBssAPKVvxA=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/tools/security/cnspec/default.nix b/pkgs/tools/security/cnspec/default.nix
index 8e63a0dde7716..d6393efc753ef 100644
--- a/pkgs/tools/security/cnspec/default.nix
+++ b/pkgs/tools/security/cnspec/default.nix
@@ -5,17 +5,18 @@
 
 buildGoModule rec {
   pname = "cnspec";
-  version = "10.2.0";
+  version = "10.6.1";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnspec";
     rev = "refs/tags/v${version}";
-    hash = "sha256-llX9MXlc0uMz60BjI1QFd6r/xqHBO2KCek2Q8F+TV04=";
+    hash = "sha256-wQ11ZHyUh1bSrvWQLTSyOc+EtFp4QS9zcjNz1S+UP7Y=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-pdf9q+bvR0kbT17ZQmUcdc2AdEUt12+2iIx+aRmtTYg=";
+
+  vendorHash = "sha256-Z7zPvm3CjHnmGdTvO8ETwgRijcRyGReZ6ba7llOkyME=";
 
   subPackages = [
     "apps/cnspec"
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index ca9a7000e98b6..18cec1f08c12b 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2024-03-07";
+  version = "2024-03-09";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-f+xg4uR//1ffssH2PAN9ta/osCrY7+s6SI1Kfvfq8cQ=";
+    hash = "sha256-IkCswvoCEqlTckXILYToXpIJpHM7MIcVK1MySAJK63A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/firefox_decrypt/default.nix b/pkgs/tools/security/firefox_decrypt/default.nix
index 57f1215ed8173..ce41f07569fb9 100644
--- a/pkgs/tools/security/firefox_decrypt/default.nix
+++ b/pkgs/tools/security/firefox_decrypt/default.nix
@@ -6,6 +6,7 @@
 , wheel
 , nss
 , nix-update-script
+, stdenv
 }:
 
 buildPythonApplication rec {
@@ -26,7 +27,12 @@ buildPythonApplication rec {
     wheel
   ];
 
-  makeWrapperArgs = [ "--prefix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ nss ]) ];
+  makeWrapperArgs = [
+    "--prefix"
+    (if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH")
+    ":"
+    (lib.makeLibraryPath [ nss ])
+  ];
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/tools/security/gallia/default.nix b/pkgs/tools/security/gallia/default.nix
index 5d0cc05ec46da..f19bd817d1d49 100644
--- a/pkgs/tools/security/gallia/default.nix
+++ b/pkgs/tools/security/gallia/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gallia";
-  version = "1.5.0";
+  version = "1.6.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Fraunhofer-AISEC";
-    repo = pname;
+    repo = "gallia";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JeEJ4xTIOFeMADnuPMLNGxB/qEPKMnaIhQ6FCUaNa7E=";
+    hash = "sha256-LvzEyBkhji7ruVVO2EpqM8pKOcTX8Dnkqu/GtWOfMZs=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -27,6 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     argcomplete
     can
     exitcode
+    httpx
     platformdirs
     psutil
     construct
diff --git a/pkgs/tools/security/jwx/default.nix b/pkgs/tools/security/jwx/default.nix
index cb418b4a96572..224962825888f 100644
--- a/pkgs/tools/security/jwx/default.nix
+++ b/pkgs/tools/security/jwx/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "jwx";
-  version = "2.0.20";
+  version = "2.0.21";
 
   src = fetchFromGitHub {
     owner = "lestrrat-go";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-+of0eYBwdGC9vb0DDqxMIuhXNTCRRv9iGOIVJGobMxc=";
+    hash = "sha256-Rg3E+7kyyzY8NqfXMH3ENWAuCxx7+3DyyarfGNI9xxE=";
   };
 
   vendorHash = "sha256-HHq4B0MYP2gUtV9ywrXVmWN7OpV6NVb49rVMFblOgPc=";
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 20860f2e5d79e..1f2c8a4100c49 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.58"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.59"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 662512b54dca1..32d72fae37601 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 08ebefe2368f73ceeac2c5f9c20a49a82d6a969e
-  ref: refs/tags/6.3.58
+  revision: b6a03cb5f17b5c714fad8741c1812be542dd2087
+  ref: refs/tags/6.3.59
   specs:
-    metasploit-framework (6.3.58)
+    metasploit-framework (6.3.59)
       actionpack (~> 7.0.0)
       activerecord (~> 7.0.0)
       activesupport (~> 7.0.0)
@@ -469,4 +469,4 @@ DEPENDENCIES
   metasploit-framework!
 
 BUNDLED WITH
-   2.4.13
+   2.5.6
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index a0d8a05c08213..195edfcbc635d 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.3.58";
+  version = "6.3.59";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = "refs/tags/${version}";
-    hash = "sha256-NUm+6vWmSpGpy4KGXQ/pQDqeU3ORhQrQwwicFCMyjhg=";
+    hash = "sha256-pGYEx5Ac4vEW5rsKI4iAMGXB2zHMS2AD6jIVEWHQn6g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 5cfb435137d2b..a00226e532dd5 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -674,12 +674,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "08ebefe2368f73ceeac2c5f9c20a49a82d6a969e";
-      sha256 = "064f68ii9708qg80m1cifd9rwfj0x47mv1l2rflr2jm6ypmbwj9m";
+      rev = "b6a03cb5f17b5c714fad8741c1812be542dd2087";
+      sha256 = "1a4zs1hi259jx81n0jyc67dw2r9hh24262mvwqbg3qhwj33h8rm4";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.3.58";
+    version = "6.3.59";
   };
   metasploit-model = {
     groups = ["default"];
diff --git a/pkgs/tools/security/mokutil/default.nix b/pkgs/tools/security/mokutil/default.nix
index bc38be4cd3e67..eb4eb5b1deb3d 100644
--- a/pkgs/tools/security/mokutil/default.nix
+++ b/pkgs/tools/security/mokutil/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mokutil";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "lcp";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PB/VwOJD0DxAioPDYfk2ZDzcN+pSXfUC86hGq2kYhts=";
+    sha256 = "sha256-vxSYwsQ+xjW7a7gZhvgX4lzA7my6BZCYGwE1bLceTQA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index baa78521f3456..dd66a38481920 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -1,100 +1,120 @@
-{ fetchurl, mkDerivation, fetchpatch, stdenv, lib, pkg-config, autoreconfHook, wrapGAppsHook
-, libgpg-error, libassuan, qtbase, wrapQtAppsHook
-, ncurses, gtk2, gcr
-, withLibsecret ? true, libsecret
-, enabledFlavors ? [ "curses" "tty" "gtk2" "emacs" ]
-  ++ lib.optionals stdenv.isLinux [ "gnome3" ]
-  ++ lib.optionals (!stdenv.isDarwin) [ "qt" ]
+{ stdenv
+, lib
+, fetchurl
+, fetchpatch
+, pkg-config
+, autoreconfHook
+, wrapGAppsHook
+, libgpg-error
+, libassuan
+, libsForQt5
+, ncurses
+, gtk2
+, gcr
+, withLibsecret ? true
+, libsecret
 }:
 
-assert lib.isList enabledFlavors && enabledFlavors != [];
-
 let
-  pinentryMkDerivation =
-    if (builtins.elem "qt" enabledFlavors)
-      then mkDerivation
-      else stdenv.mkDerivation;
-
-  enableFeaturePinentry = f:
-    let
-      flag = flavorInfo.${f}.flag or null;
-    in
-      lib.optionalString (flag != null)
-        (lib.enableFeature (lib.elem f enabledFlavors) ("pinentry-" + flag));
-
   flavorInfo = {
-    curses = { bin = "curses"; flag = "curses"; buildInputs = [ ncurses ]; };
-    tty = { bin = "tty"; flag = "tty"; };
-    gtk2 = { bin = "gtk-2"; flag = "gtk2"; buildInputs = [ gtk2 ]; };
-    gnome3 = { bin = "gnome3"; flag = "gnome3"; buildInputs = [ gcr ]; nativeBuildInputs = [ wrapGAppsHook ]; };
-    qt = { bin = "qt"; flag = "qt"; buildInputs = [ qtbase ]; nativeBuildInputs = [ wrapQtAppsHook ]; };
-    emacs = { bin = "emacs"; flag = "emacs"; buildInputs = []; };
-  };
-
-in
-
-pinentryMkDerivation rec {
-  pname = "pinentry";
-  version = "1.2.1";
-
-  src = fetchurl {
-    url = "mirror://gnupg/pinentry/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-RXoYXlqFI4+5RalV3GNSq5YtyLSHILYvyfpIx1QKQGc=";
+    tty = { flag = "tty"; };
+    curses = {
+      flag = "curses";
+      buildInputs = [ ncurses ];
+    };
+    gtk2 = {
+      flag = "gtk2";
+      buildInputs = [ gtk2 ];
+    };
+    gnome3 = {
+      flag = "gnome3";
+      buildInputs = [ gcr ];
+      nativeBuildInputs = [ wrapGAppsHook ];
+    };
+    qt = {
+      flag = "qt";
+      buildInputs = [ libsForQt5.qtbase ];
+      nativeBuildInputs = [ libsForQt5.wrapQtAppsHook ];
+    };
+    emacs = { flag = "emacs"; };
   };
 
-  nativeBuildInputs = [ pkg-config autoreconfHook ]
-    ++ lib.concatMap(f: flavorInfo.${f}.nativeBuildInputs or []) enabledFlavors;
-
-  buildInputs = [ libgpg-error libassuan ]
-    ++ lib.optional withLibsecret libsecret
-    ++ lib.concatMap(f: flavorInfo.${f}.buildInputs or []) enabledFlavors;
-
-  dontWrapGApps = true;
-  dontWrapQtApps = true;
-
-  patches = [
-    ./autoconf-ar.patch
-  ] ++ lib.optionals (lib.elem "gtk2" enabledFlavors) [
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
-      sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd";
-    })
-  ];
-
-  configureFlags = [
-    "--with-libgpg-error-prefix=${libgpg-error.dev}"
-    "--with-libassuan-prefix=${libassuan.dev}"
-    (lib.enableFeature withLibsecret "libsecret")
-  ] ++ (map enableFeaturePinentry (lib.attrNames flavorInfo));
-
-  postInstall =
-    lib.concatStrings (lib.flip map enabledFlavors (f:
-      let
-        binary = "pinentry-" + flavorInfo.${f}.bin;
-      in ''
-        moveToOutput bin/${binary} ${placeholder f}
-        ln -sf ${placeholder f}/bin/${binary} ${placeholder f}/bin/pinentry
-      '' + lib.optionalString (f == "gnome3") ''
-        wrapGApp ${placeholder f}/bin/${binary}
-      '' + lib.optionalString (f == "qt") ''
-        wrapQtApp ${placeholder f}/bin/${binary}
-      '')) + ''
-      ln -sf ${placeholder (lib.head enabledFlavors)}/bin/pinentry-${flavorInfo.${lib.head enabledFlavors}.bin} $out/bin/pinentry
-    '';
-
-  outputs = [ "out" ] ++ enabledFlavors;
+  buildPinentry = pinentryExtraPname: buildFlavors:
+    let
+      enableFeaturePinentry = f:
+        lib.enableFeature (lib.elem f buildFlavors) ("pinentry-" + flavorInfo.${f}.flag);
 
-  passthru = { flavors = enabledFlavors; };
+      pinentryMkDerivation =
+        if (lib.elem "qt" buildFlavors)
+        then libsForQt5.mkDerivation
+        else stdenv.mkDerivation;
 
-  meta = with lib; {
-    homepage = "http://gnupg.org/aegypten2/";
-    description = "GnuPG’s interface to passphrase input";
-    license = licenses.gpl2Plus;
-    platforms = platforms.all;
-    longDescription = ''
-      Pinentry provides a console and (optional) GTK and Qt GUIs allowing users
-      to enter a passphrase when `gpg' or `gpg2' is run and needs it.
-    '';
-    maintainers = with maintainers; [ ttuegel fpletz ];
-  };
+    in
+    pinentryMkDerivation rec {
+      pname = "pinentry-${pinentryExtraPname}";
+      version = "1.2.1";
+
+      src = fetchurl {
+        url = "mirror://gnupg/pinentry/pinentry-${version}.tar.bz2";
+        hash = "sha256-RXoYXlqFI4+5RalV3GNSq5YtyLSHILYvyfpIx1QKQGc=";
+      };
+
+      nativeBuildInputs = [ pkg-config autoreconfHook ]
+        ++ lib.concatMap (f: flavorInfo.${f}.nativeBuildInputs or [ ]) buildFlavors;
+
+      buildInputs = [ libgpg-error libassuan ]
+        ++ lib.optional withLibsecret libsecret
+        ++ lib.concatMap (f: flavorInfo.${f}.buildInputs or [ ]) buildFlavors;
+
+      dontWrapGApps = true;
+      dontWrapQtApps = true;
+
+      patches = [
+        ./autoconf-ar.patch
+      ] ++ lib.optionals (lib.elem "gtk2" buildFlavors) [
+        (fetchpatch {
+          url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
+          sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd";
+        })
+      ];
+
+      configureFlags = [
+        "--with-libgpg-error-prefix=${libgpg-error.dev}"
+        "--with-libassuan-prefix=${libassuan.dev}"
+        (lib.enableFeature withLibsecret "libsecret")
+      ] ++ (map enableFeaturePinentry (lib.attrNames flavorInfo));
+
+      postInstall =
+        lib.optionalString (lib.elem "gnome3" buildFlavors) ''
+          wrapGApp $out/bin/pinentry-gnome3
+        '' + lib.optionalString (lib.elem "qt" buildFlavors) ''
+          wrapQtApp $out/bin/pinentry-qt
+        '';
+
+      passthru = { flavors = buildFlavors; };
+
+      meta = with lib; {
+        homepage = "https://gnupg.org/software/pinentry/index.html";
+        description = "GnuPG’s interface to passphrase input";
+        license = licenses.gpl2Plus;
+        platforms =
+          if elem "gnome3" buildFlavors then platforms.linux else
+          if elem "qt" buildFlavors then (remove "aarch64-darwin" platforms.all) else
+          platforms.all;
+        longDescription = ''
+          Pinentry provides a console and (optional) GTK and Qt GUIs allowing users
+          to enter a passphrase when `gpg' or `gpg2' is run and needs it.
+        '';
+        maintainers = with maintainers; [ fpletz ];
+        mainProgram = "pinentry";
+      };
+    };
+in
+{
+  pinentry-curses = buildPinentry "curses" [ "curses" "tty" ];
+  pinentry-gtk2 = buildPinentry "gtk2" [ "gtk2" "curses" "tty" ];
+  pinentry-gnome3 = buildPinentry "gnome3" [ "gnome3" "curses" "tty" ];
+  pinentry-qt = buildPinentry "qt" [ "qt" "curses" "tty" ];
+  pinentry-emacs = buildPinentry "emacs" [ "emacs" "curses" "tty" ];
+  pinentry-all = buildPinentry "all" [ "curses" "tty" "gtk2" "gnome3" "qt" "emacs" ];
 }
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index 3331c9c4b33f3..864289f92f590 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.18.12";
+  version = "1.19.1";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-NTk/tCIArucJ12RR173bQ/VoP74oROYwmMrQizE+5iU=";
+    hash = "sha256-K70jGhutHHJrpgKh8RJTzQDjqYk6rBURM4KAaBX9tOE=";
   };
 
   vendorHash = "sha256-Hk7dkhb1GiCY9CkKZ1dMQc+s97VRUli7WAoneJVNK08=";
diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix
index b5b44409ceec7..5b6868fcc6c8c 100644
--- a/pkgs/tools/security/trufflehog/default.nix
+++ b/pkgs/tools/security/trufflehog/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "trufflehog";
-  version = "3.68.5";
+  version = "3.69.0";
 
   src = fetchFromGitHub {
     owner = "trufflesecurity";
     repo = "trufflehog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hprdMuFo55O4AlQwA+OQ+Jr9uo4pICzdbvfb3q15ixI=";
+    hash = "sha256-1O1iwZQdC4Vf/mGRauZwg6U52bF28IqCUw8Ugt3USFI=";
   };
 
-  vendorHash = "sha256-lHEiVtlbDrR1RjUom3yQiNBoMgoVwfDa4sxlJnDVMiI=";
+  vendorHash = "sha256-c9CkQMTH2mRpKjlyV7lnNyKQYgPxEP9adHcSh9qsWYk=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/security/vaultwarden/default.nix b/pkgs/tools/security/vaultwarden/default.nix
index 5fbe5e22d7656..ec93f40e3040c 100644
--- a/pkgs/tools/security/vaultwarden/default.nix
+++ b/pkgs/tools/security/vaultwarden/default.nix
@@ -9,16 +9,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "vaultwarden";
-  version = "1.30.3";
+  version = "1.30.5";
 
   src = fetchFromGitHub {
     owner = "dani-garcia";
     repo = pname;
     rev = version;
-    hash = "sha256-vUAgW/kTFO9yzWFIWqM1f6xEZYH8ojIdt2eOhP9ID8g=";
+    hash = "sha256-OwFB5ULWBefDHSkUM3nT0v2jcc5vHUvs8Ex0JauDu8w=";
   };
 
-  cargoHash = "sha256-+FmVkemZTlFOf+fnTJED3u13pXeAuP/wIvEb96Vwa6I=";
+  cargoHash = "sha256-K0T0uTERjxlI3bGG/Tz6sJ0A08J0ROAhpppdZcdQPB8=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = with lib; [ openssl ]
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index a03763603382e..36a77102eb432 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , autoreconfHook
 , pcre
 , pkg-config
@@ -16,23 +15,15 @@
 
 stdenv.mkDerivation rec {
   pname = "yara";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-axHFy7YwLhhww+lh+ORyW6YG+T385msysIHK5SMyhMk=";
+    hash = "sha256-AecHsUBtBleUkWuYMQ4Tx/PY8cs9j7JwqncBziJD0hA=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "musl.patch";
-      url = "https://github.com/VirusTotal/yara/commit/515ed861cf30e154b14a69ffd46c347fb81df72f.patch";
-      hash = "sha256-2scnUyz0SSkNRlsVQapPgI1ATIPXEogqtxbimYYq4Jo=";
-    })
-  ];
-
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
diff --git a/pkgs/tools/system/automatic-timezoned/default.nix b/pkgs/tools/system/automatic-timezoned/default.nix
index 2bac409565fa8..3e5122467e18a 100644
--- a/pkgs/tools/system/automatic-timezoned/default.nix
+++ b/pkgs/tools/system/automatic-timezoned/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "automatic-timezoned";
-  version = "2.0.4";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "maxbrunet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-znoQPpnBU3cLxNmnIKvqj/fIuZDGCdmICx2UL1tqAnc=";
+    sha256 = "sha256-uywQshOjdz8Vi/yN6X25LQYVLv/indzTHPmE56BqidI=";
   };
 
-  cargoHash = "sha256-1G81O+WKGVnRLGS6/6iiqsMiY5AaFrzEa9JD1MBDSGY=";
+  cargoHash = "sha256-8ZuJF3hdmOOP4s7FIIPc7xTUAPT5TahH/8Yn5hGEnX0=";
 
   meta = with lib; {
     description = "Automatically update system timezone based on location";
diff --git a/pkgs/tools/system/dell-command-configure/default.nix b/pkgs/tools/system/dell-command-configure/default.nix
index c029a98773373..b4cd7e5dbf63a 100644
--- a/pkgs/tools/system/dell-command-configure/default.nix
+++ b/pkgs/tools/system/dell-command-configure/default.nix
@@ -17,18 +17,20 @@
 # the dependencies from other pkgs.
 
 let
-  version = "4.8.0-494";
+  version = "4.11.0-6";
 
   unpacked = stdenv.mkDerivation rec {
     inherit version;
     pname = "dell-command-configure-unpacked";
 
     src = fetchurl {
-      url =
-        "https://dl.dell.com/FOLDER08911312M/1/command-configure_${version}.ubuntu20_amd64.tar.gz";
+      urls = [
+        "https://dl.dell.com/FOLDER10469726M/1/command-configure_${version}.ubuntu22_amd64.tar.gz"
+        "https://web.archive.org/web/20240228233129/https://dl.dell.com/FOLDER10469726M/1/command-configure_4.11.0-6.ubuntu22_amd64.tar.gz"
+      ];
       # The CDN blocks the Curl user-agent, so set to blank instead.
       curlOpts = ''-A=""'';
-      hash = "sha256-l5oHgDkFBF6llNsHufTmuDzjkhGmXHYXlOJ4hvZfRoE=";
+      hash = "sha256-Bwa4sYguYwEBKEJSP3wzHhzjuDeaGQN8fKeooWHX18E=";
     };
 
     dontBuild = true;
@@ -37,7 +39,7 @@ let
 
     unpackPhase = ''
       tar -xzf ${src}
-      dpkg-deb -x command-configure_${version}.ubuntu20_amd64.deb command-configure
+      dpkg-deb -x command-configure_${version}.ubuntu22_amd64.deb command-configure
       dpkg-deb -x srvadmin-hapi_9.5.0_amd64.deb srvadmin-hapi
     '';
 
diff --git a/pkgs/tools/system/nsc/default.nix b/pkgs/tools/system/nsc/default.nix
index bec4a31141021..8e902f7c8ab5b 100644
--- a/pkgs/tools/system/nsc/default.nix
+++ b/pkgs/tools/system/nsc/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "nsc";
-  version = "2.8.5";
+  version = "2.8.6";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9qsHZTbK2RCDiQ5wlo2D79GeI5dbCvL2LofPnF7f8Cc=";
+    hash = "sha256-t8THHXv1/u5qf0QcLQAu4fMMRiGJ+gG9Huu2NkfMIyQ=";
   };
 
   ldflags = [
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-X main.builtBy=nixpkgs"
   ];
 
-  vendorHash = "sha256-B3uIFJaEsj9tpjPBiU+rXVlfcgVwZUQe3VSSoZQqBG8=";
+  vendorHash = "sha256-M/wM03SumQUAVmBM+oyQ0KpqyB741Zl5LuSmNnJ9bxg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -44,7 +44,7 @@ buildGoModule rec {
   # the test strips table formatting from the command output in a naive way
   # that removes all the table characters, including '-'.
   # The nix build directory looks something like:
-  # /private/tmp/nix-build-nsc-2.8.5.drv-0/nsc_test2000598938/keys
+  # /private/tmp/nix-build-nsc-2.8.6.drv-0/nsc_test2000598938/keys
   # Then the `-` are removed from the path unintentionally and the test fails.
   # This should be fixed upstream to avoid mangling the path when
   # removing the table decorations from the command output.
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 2dd628f99e945..defad03c0b6b9 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pciutils";
-  version = "3.10.0"; # with release-date database
+  version = "3.11.1"; # with release-date database
 
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/pciutils-${version}.tar.xz";
-    sha256 = "sha256-I4ouJxZnMOU6F/4Hv60ingf6ObYYEX5ZRLbX7an7sOk=";
+    hash = "sha256-P0cq2GRHPeW6F/dlzJbvXzPhtzCRjTrdpvlFoqkpDfQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/text/ruplacer/default.nix b/pkgs/tools/text/ruplacer/default.nix
index b44165d6ea88b..43253041b279a 100644
--- a/pkgs/tools/text/ruplacer/default.nix
+++ b/pkgs/tools/text/ruplacer/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruplacer";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "TankerHQ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xuq+Scy5MyyGvI51Vs26pk9+NnlghzGEJDHYC3kSXNw=";
+    sha256 = "sha256-rndWKi/EDQzTWAw2deddhTXdmIfuEVM54MOfS4mNf+Y=";
   };
 
-  cargoHash = "sha256-Kevwpkvgq40LhWxhW9ra2Nd1zEiAF372DM1sY9hnQb0=";
+  cargoHash = "sha256-DkhmMdpUcka6Wkyz6hEfqB2gUpsGNziGv+23rVfwXN8=";
 
   buildInputs = (lib.optional stdenv.isDarwin Security);
 
diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix
index 4dfd4c31c5f16..94a417a4b0d70 100644
--- a/pkgs/tools/text/ugrep/default.nix
+++ b/pkgs/tools/text/ugrep/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ugrep";
-  version = "5.0.0";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = "ugrep";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-VAfnj/2EdkDpcS30DveUUYLSNj07sy+gvKxyGkg2mvA=";
+    hash = "sha256-B3O7suGepcTUdigtumMLXGZVBVX5qUH0TVdqTY3fCXE=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index e3d2896078ca2..f5e02eef3924d 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "3.2.2";
+  version = "3.3.0";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    hash = "sha256-CLbzrJJVgFxJKuTtXQKGZ6q228Sm7s+Is11TE8mAmD8=";
+    hash = "sha256-Mh0JKbQrsP45Bn9EdTJCuSPC13vCsnuOtoi68Z6fttc=";
   };
 
-  vendorHash = "sha256-KxIQZViUYT4cgRlOuKBwen6pqQjGiAofkeBztmjnKdQ=";
+  vendorHash = "sha256-HMzFLSmO6sBDNU89UoIvHcPPd3ubpti2ii4sFMKUDmI=";
 
   postInstall = ''
     mkdir -p $data/share/vale
diff --git a/pkgs/tools/typesetting/fop/default.nix b/pkgs/tools/typesetting/fop/default.nix
index 254f29d27a789..e31ea73f00961 100644
--- a/pkgs/tools/typesetting/fop/default.nix
+++ b/pkgs/tools/typesetting/fop/default.nix
@@ -1,38 +1,64 @@
-{ fetchurl, lib, stdenv, ant, jdk, runtimeShell }:
+{ lib
+, stdenv
+, fetchurl
+, ant
+, jdk
+, jre
+, makeWrapper
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "fop";
   version = "2.8";
 
   src = fetchurl {
-    url = "mirror://apache/xmlgraphics/fop/source/${pname}-${version}-src.tar.gz";
-    sha256 = "sha256-b7Av17wu6Ar/npKOiwYqzlvBFSIuXTpqTacM1sxtBvc=";
+    url = "mirror://apache/xmlgraphics/fop/fop-${finalAttrs.version}-src.tar.gz";
+    hash = "sha256-b7Av17wu6Ar/npKOiwYqzlvBFSIuXTpqTacM1sxtBvc=";
   };
 
-  buildInputs = [ ant jdk ];
+  postPatch = ''
+    # Fix jar timestamps for reproducibility
+    substituteInPlace fop/build.xml \
+        --replace-fail '<jar ' '<jar modificationtime="0" '
+  '';
+
+  nativeBuildInputs = [
+    ant
+    jdk
+    makeWrapper
+  ];
+
+  # Note: not sure if this is needed anymore
+  env.JAVA_TOOL_OPTIONS = "-Dfile.encoding=UTF8";
 
-  # build only the "package" target, which generates the fop command.
   buildPhase = ''
-     export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
-     ant -f fop/build.xml package
+    runHook preBuild
+
+    # build only the "package" target, which generates the fop command.
+    ant -f fop/build.xml package
+
+    runHook postBuild
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/lib $out/share/doc/fop
+    runHook preInstall
+
+    mkdir -p $out/lib $out/share/doc/fop
     cp fop/build/*.jar fop/lib/*.jar $out/lib/
     cp -r README fop/examples/ $out/share/doc/fop/
 
     # There is a fop script in the source archive, but it has many impurities.
     # Instead of patching out 90 % of the script, we write our own.
-    cat > "$out/bin/fop" <<EOF
-    #!${runtimeShell}
-    java_exec_args="-Djava.awt.headless=true"
-    exec ${jdk.jre}/bin/java \$java_exec_args -classpath "$out/lib/*" org.apache.fop.cli.Main "\$@"
-    EOF
-    chmod a+x $out/bin/fop
+    makeWrapper ${jre}/bin/java $out/bin/fop \
+        --add-flags "-Djava.awt.headless=true" \
+        --add-flags "-classpath $out/lib/\*" \
+        --add-flags "org.apache.fop.cli.Main"
+
+    runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
+    changelog = "https://xmlgraphics.apache.org/fop/changes.html";
     description = "XML formatter driven by XSL Formatting Objects (XSL-FO)";
     longDescription = ''
       FOP is a Java application that reads a formatting object tree and then
@@ -47,13 +73,13 @@ stdenv.mkDerivation rec {
       This package contains the fop command line tool.
     '';
     homepage = "https://xmlgraphics.apache.org/fop/";
-    license = licenses.asl20;
-    sourceProvenance = with sourceTypes; [
+    license = lib.licenses.asl20;
+    mainProgram = "fop";
+    maintainers = with lib.maintainers; [ bjornfor tomasajt ];
+    platforms = jre.meta.platforms;
+    sourceProvenance = with lib.sourceTypes; [
       fromSource
-      binaryBytecode  # source bundles dependencies as jars
+      binaryBytecode # source bundles dependencies as jars
     ];
-    platforms = platforms.all;
-    maintainers = with maintainers; [ bjornfor ];
-    mainProgram = "fop";
   };
-}
+})
diff --git a/pkgs/tools/typesetting/hayagriva/default.nix b/pkgs/tools/typesetting/hayagriva/default.nix
index 03aea70ae6cf3..6574c0c9c6e94 100644
--- a/pkgs/tools/typesetting/hayagriva/default.nix
+++ b/pkgs/tools/typesetting/hayagriva/default.nix
@@ -5,14 +5,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hayagriva";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-nXfoPAUU8pDUj8MdpiYbN9ToJbWk4CsUTGehgGDvykg=";
+    hash = "sha256-hE0Oi+0vDQGDEOYtHiPit1RrrkrlLZs20nEHOm/bp5M=";
   };
 
-  cargoHash = "sha256-xKCnHqQn4mNvZ9LBgDnD4VDlUBgRO1SYLmvqq11GFsc=";
+  cargoHash = "sha256-WZbbjLDHYJTiuM0Lh9YfVvLTvK/jfO8fRbLqZ8XOLGg=";
 
   buildFeatures = [ "cli" ];
 
diff --git a/pkgs/tools/virtualization/govc/default.nix b/pkgs/tools/virtualization/govc/default.nix
index 510ac24bbee41..fe4f69c9e32fd 100644
--- a/pkgs/tools/virtualization/govc/default.nix
+++ b/pkgs/tools/virtualization/govc/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "govc";
-  version = "0.35.0";
+  version = "0.36.0";
 
   subPackages = [ "govc" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "vmware";
     repo = "govmomi";
-    sha256 = "sha256-ILmQNTHdt1rD2/cXEHlYWvXs4puNgRsrRtJmdz15zg0=";
+    sha256 = "sha256-laceJmheluiY120q1gqXk98mtztC9xwMd+5j3wUspas=";
   };
 
-  vendorHash = "sha256-kju7wbp/LAsh4kv6edmy8+jpbeQ/OatqPwlY3Y5O9iQ=";
+  vendorHash = "sha256-1EAQMYaTEtfAiu7+UTkC7QZwSWC1Ihwj9leTd90T0ZU=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/wayland/wlr-randr/default.nix b/pkgs/tools/wayland/wlr-randr/default.nix
index 0e51bf0093d8b..94250dad2efc4 100644
--- a/pkgs/tools/wayland/wlr-randr/default.nix
+++ b/pkgs/tools/wayland/wlr-randr/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wlr-randr";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromSourcehut {
     owner = "~emersion";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Pr9XEQUtbG3Mo/QjFMoY+oJTQIAVW+aaEjYHZqJgbbg=";
+    hash = "sha256-2kWTVAi4hq2d9jQ6yBLVzm3x7n/oSvBdZ45WyjhXhc4=";
   };
 
   strictDeps = true;
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index e4d03b2916636..e9ac017bf1b51 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -171,7 +171,7 @@ mapAliases ({
   cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15
   crispyDoom = crispy-doom; # Added 2023-05-01
   cryptowatch-desktop = throw "Cryptowatch Desktop was sunset on September 30th 2023 and has been removed from nixpkgs"; # Added 2023-12-22
-  clash = throw "'clash' has been removed, upstream gone. Consider using 'clash-meta' instead."; # added 2023-11-10
+  clash = throw "'clash' has been removed, upstream gone. Consider using 'mihomo' instead."; # added 2023-11-10
   clasp = clingo; # added 2022-12-22
   claws-mail-gtk3 = claws-mail; # Added 2021-07-10
   clucene_core_1 = throw "'clucene_core_1' has been renamed to/replaced by 'clucene_core'"; # Added 2023-12-09
@@ -223,6 +223,7 @@ mapAliases ({
   demjson = with python3Packages; toPythonApplication demjson; # Added 2022-01-18
   dep = throw "'dep' has been removed, because it is deprecated and archived in favor of Go modules"; # Added 2023-12-26
   devserver = throw "'devserver' has been removed in favor of 'miniserve' or other alternatives"; # Added 2023-01-13
+  dfeet = throw "'dfeet' has been removed because it is archived upstream. Please use 'd-spy' instead"; # Added 2024-03-07
   dhcp = throw "dhcp (ISC DHCP) has been removed from nixpkgs, because it reached its end of life"; # Added 2023-04-04
   dnnl = oneDNN; # Added 2020-04-22
   docker-machine = throw "'docker-machine' has been removed, because the upstream project was archived"; # Added 2023-12-27
@@ -693,6 +694,7 @@ mapAliases ({
   markdown-pp = throw "markdown-pp was removed from nixpkgs, because the upstream archived it on 2021-09-02"; # Added 2023-07-22
   markmind = throw "markmind has been removed from nixpkgs, because it depended on an old version of electron"; # Added 2023-09-12
   matrique = spectral; # Added 2020-01-27
+  matrixcli = throw "'matrixcli' has been removed due to being unmaintained and broken functionality. Recommend 'matrix-commander' as an alternative"; # Added 2024-03-09
   matrix-recorder = throw "matrix-recorder has been removed due to being unmaintained"; # Added 2023-05-21
   maui-nota = libsForQt5.mauiPackages.nota; # added 2022-05-17
   mbox = throw "'mbox' has been removed, as it was broken and unmaintained"; # Added 2023-12-21
@@ -900,12 +902,23 @@ mapAliases ({
   timescaledb = postgresqlPackages.timescaledb;
   tsearch_extras = postgresqlPackages.tsearch_extras;
 
+  # pinentry was using multiple outputs, this emulates the old interface for i.e. home-manager
+  # soon: throw "'pinentry' has been removed. Pick an appropriate variant like 'pinentry-curses' or 'pinentry-gnome3'";
+  pinentry = pinentry-all // {
+    curses = pinentry-curses;
+    gtk2 = pinentry-gtk2;
+    gnome2 = pinentry-gnome3;
+    qt = pinentry-qt;
+    emacs = pinentry-emacs;
+    flavors = [ "curses" "gtk2" "gnome2" "qt" "emacs" ];
+  }; # added 2024-01-15
   pinentry_curses = throw "'pinentry_curses' has been renamed to/replaced by 'pinentry-curses'"; # Converted to throw 2023-09-10
   pinentry_emacs = throw "'pinentry_emacs' has been renamed to/replaced by 'pinentry-emacs'"; # Converted to throw 2023-09-10
   pinentry_gnome = throw "'pinentry_gnome' has been renamed to/replaced by 'pinentry-gnome'"; # Converted to throw 2023-09-10
   pinentry_gtk2 = throw "'pinentry_gtk2' has been renamed to/replaced by 'pinentry-gtk2'"; # Converted to throw 2023-09-10
   pinentry_qt = throw "'pinentry_qt' has been renamed to/replaced by 'pinentry-qt'"; # Converted to throw 2023-09-10
   pinentry_qt5 = pinentry-qt; # Added 2020-02-11
+
   PlistCpp = plistcpp; # Added 2024-01-05
   pocket-updater-utility = pupdate; # Added 2024-01-25
   poetry2nix = throw "poetry2nix is now maintained out-of-tree. Please use https://github.com/nix-community/poetry2nix/"; # Added 2023-10-26
@@ -965,6 +978,7 @@ mapAliases ({
   restya-board = throw "'restya-board' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2024-01-22
   retdec-full = throw "'retdec-full' is no longer needed, please use 'retdec'"; # Added 2024-02-05
   retroshare06 = retroshare;
+  ricochet = throw "ricochet has been deprecated in favor of ricochet-refresh"; # Added 2024-02-26
   rigsofrods = rigsofrods-bin; # Added 2023-03-22
   ring-daemon = jami-daemon; # Added 2021-10-26
   rockbox_utility = rockbox-utility; # Added 2022-03-17
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bbe62d82f23e6..49e9ba6112287 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1785,8 +1785,6 @@ with pkgs;
 
   dysk = callPackage ../tools/filesystems/dysk { };
 
-  etlegacy = callPackage ../games/etlegacy { lua = lua5_4; };
-
   fastfetch = callPackage ../tools/misc/fastfetch {
     stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
   };
@@ -1943,6 +1941,8 @@ with pkgs;
 
   linux-router-without-wifi = linux-router.override { useWifiDependencies = false; };
 
+  makehuman = libsForQt5.callPackage ../applications/misc/makehuman { };
+
   markdownlint-cli = callPackage ../tools/text/markdownlint-cli { };
 
   markdownlint-cli2 = callPackage ../tools/text/markdownlint-cli2 { };
@@ -3581,8 +3581,8 @@ with pkgs;
   bucklespring-libinput = callPackage ../applications/audio/bucklespring { };
   bucklespring-x11 = callPackage ../applications/audio/bucklespring { legacy = true; };
 
-  inherit (python3.pkgs.callPackage ../development/tools/continuous-integration/buildbot {})
-    buildbot buildbot-ui buildbot-full buildbot-plugins buildbot-worker;
+  buildbotPackages = recurseIntoAttrs (python3.pkgs.callPackage ../development/tools/continuous-integration/buildbot { });
+  inherit (buildbotPackages) buildbot buildbot-ui buildbot-full buildbot-plugins buildbot-worker;
 
   bunyan-rs = callPackage ../development/tools/bunyan-rs { };
 
@@ -4640,8 +4640,6 @@ with pkgs;
 
   clash-geoip = callPackage ../data/misc/clash-geoip { };
 
-  clash-verge = callPackage ../applications/networking/clash-verge { };
-
   clevercsv = with python3Packages; toPythonApplication clevercsv;
 
   clevis = callPackage ../tools/security/clevis {
@@ -5406,9 +5404,7 @@ with pkgs;
   texlive = callPackage ../tools/typesetting/tex/texlive { };
   inherit (texlive.schemes) texliveBasic texliveBookPub texliveConTeXt texliveFull texliveGUST texliveInfraOnly texliveMedium texliveMinimal texliveSmall texliveTeTeX;
 
-  fop = callPackage ../tools/typesetting/fop {
-    jdk = openjdk8;
-  };
+  fop = callPackage ../tools/typesetting/fop { };
 
   fondu = callPackage ../tools/misc/fondu {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
@@ -5528,8 +5524,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
-  gmic-qt = libsForQt5.callPackage ../tools/graphics/gmic-qt { };
-
   gpg-tui = callPackage ../tools/security/gpg-tui {
     inherit (darwin.apple_sdk.frameworks) AppKit Foundation;
     inherit (darwin) libobjc libresolv;
@@ -5973,11 +5967,7 @@ with pkgs;
 
   mlarchive2maildir = callPackage ../applications/networking/mailreaders/mlarchive2maildir { };
 
-  mmctl = callPackage ../tools/misc/mmctl {
-    # mmctl tests currently fail with go1.21. See
-    # https://mattermost.atlassian.net/browse/MM-55465
-    buildGoModule = buildGo120Module;
-  };
+  mmctl = callPackage ../tools/misc/mmctl { };
 
   moar = callPackage ../tools/misc/moar { };
 
@@ -7297,7 +7287,7 @@ with pkgs;
     builtins.mapAttrs (_: pin-to-gcc12-if-gcc13)
       (darwin.apple_sdk_11_0.callPackage ../tools/networking/curl-impersonate { });
   curl-impersonate-ff = pin-to-gcc12-if-gcc13 curl-impersonate.curl-impersonate-ff;
-  curl-impersonate-chrom = pin-to-gcc12-if-gcc13 curl-impersonate.curl-impersonate-chrome;
+  curl-impersonate-chrome = pin-to-gcc12-if-gcc13 curl-impersonate.curl-impersonate-chrome;
 
   curlie = callPackage ../tools/networking/curlie { };
 
@@ -7602,7 +7592,7 @@ with pkgs;
   };
 
   dump_syms = callPackage ../development/tools/dump_syms {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
 
   dumpasn1 = callPackage ../tools/security/dumpasn1 { };
@@ -8402,6 +8392,8 @@ with pkgs;
 
   gauge = callPackage ../development/tools/gauge { };
 
+  gawd = python3Packages.toPythonApplication python3Packages.gawd;
+
   gawk = callPackage ../tools/text/gawk {
     inherit (darwin) locale;
   };
@@ -8504,9 +8496,7 @@ with pkgs;
 
   gitlab-pages = callPackage ../applications/version-management/gitlab/gitlab-pages { };
 
-  gitlab-runner = callPackage ../development/tools/continuous-integration/gitlab-runner {
-    buildGoModule = buildGo120Module;
-  };
+  gitlab-runner = callPackage ../development/tools/continuous-integration/gitlab-runner { };
 
   gitlab-shell = callPackage ../applications/version-management/gitlab/gitlab-shell { };
 
@@ -9382,6 +9372,8 @@ with pkgs;
 
   iocextract = with python3Packages; toPythonApplication iocextract;
 
+  iocsearcher = with python3Packages; toPythonApplication iocsearcher;
+
   ioping = callPackage ../tools/system/ioping { };
 
   ior = callPackage ../tools/system/ior { };
@@ -9552,8 +9544,6 @@ with pkgs;
 
   junkie = callPackage ../tools/networking/junkie { };
 
-  just = callPackage ../development/tools/just { };
-
   go-jira = callPackage ../applications/misc/go-jira { };
 
   jogl = callPackage ../by-name/jo/jogl/package.nix {
@@ -10262,6 +10252,8 @@ with pkgs;
   inherit (callPackages ../build-support/node/fetch-npm-deps { })
     fetchNpmDeps prefetch-npm-deps;
 
+  importNpmLock = callPackages ../build-support/node/import-npm-lock { };
+
   nodePackages_latest = dontRecurseIntoAttrs nodejs_latest.pkgs // { __attrsFailEvaluation = true; };
 
   nodePackages = dontRecurseIntoAttrs nodejs.pkgs // { __attrsFailEvaluation = true; };
@@ -11579,6 +11571,8 @@ with pkgs;
 
   ssh-copy-id = callPackage ../tools/networking/openssh/copyid.nix { };
 
+  sshd-openpgp-auth = callPackage ../by-name/ss/ssh-openpgp-auth/daemon.nix { };
+
   opensp = callPackage ../tools/text/sgml/opensp { };
 
   opentofu = callPackage ../applications/networking/cluster/opentofu { };
@@ -11988,13 +11982,13 @@ with pkgs;
 
   piknik = callPackage ../tools/networking/piknik { };
 
-  pinentry = libsForQt5.callPackage ../tools/security/pinentry { };
-
-  pinentry-curses = (lib.getOutput "curses" pinentry);
-  pinentry-emacs = (lib.getOutput "emacs" pinentry);
-  pinentry-gtk2 = (lib.getOutput "gtk2" pinentry);
-  pinentry-qt = (lib.getOutput "qt" pinentry);
-  pinentry-gnome = (lib.getOutput "gnome3" pinentry);
+  inherit (callPackages ../tools/security/pinentry { })
+    pinentry-curses
+    pinentry-emacs
+    pinentry-gtk2
+    pinentry-gnome3
+    pinentry-qt
+    pinentry-all;
 
   pinentry_mac = callPackage ../tools/security/pinentry/mac.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
@@ -14660,8 +14654,6 @@ with pkgs;
 
   unnaturalscrollwheels = callPackage ../tools/inputmethods/unnaturalscrollwheels { };
 
-  unrar = callPackage ../tools/archivers/unrar { };
-
   unrar-wrapper = python3Packages.callPackage ../tools/archivers/unrar-wrapper { };
 
   uptime-kuma = callPackage ../servers/monitoring/uptime-kuma { };
@@ -15217,8 +15209,6 @@ with pkgs;
 
   zsv = callPackage ../development/tools/zsv { };
 
-  zsync = callPackage ../tools/compression/zsync { };
-
   zxing = callPackage ../tools/graphics/zxing { };
 
   zkar = callPackage ../tools/security/zkar { };
@@ -15342,8 +15332,8 @@ with pkgs;
   temurin-bin-8 = javaPackages.compiler.temurin-bin.jdk-8;
   temurin-jre-bin-8 = javaPackages.compiler.temurin-bin.jre-8;
 
-  temurin-bin = temurin-bin-19;
-  temurin-jre-bin = temurin-jre-bin-19;
+  temurin-bin = temurin-bin-21;
+  temurin-jre-bin = temurin-jre-bin-21;
 
   semeru-bin-17 = javaPackages.compiler.semeru-bin.jdk-17;
   semeru-jre-bin-17 = javaPackages.compiler.semeru-bin.jre-17;
@@ -16340,8 +16330,8 @@ with pkgs;
   jdk21_headless = openjdk21_headless;
 
   /* default JDK */
-  jdk = jdk19;
-  jdk_headless = jdk19_headless;
+  jdk = jdk21;
+  jdk_headless = jdk21_headless;
 
   # Since the introduction of the Java Platform Module System in Java 9, Java
   # no longer ships a separate JRE package.
@@ -16503,6 +16493,7 @@ with pkgs;
   llvm_16 = llvmPackages_16.llvm;
   llvm_17 = llvmPackages_17.llvm;
 
+  mlir_16 = llvmPackages_16.mlir;
   mlir_17 = llvmPackages_17.mlir;
 
   libllvm = llvmPackages.libllvm;
@@ -16515,7 +16506,7 @@ with pkgs;
       /**/ if platform.isDarwin then 16
       else if platform.isFreeBSD then 12
       else if platform.isAndroid then 12
-      else if platform.isLinux then 16
+      else if platform.isLinux then 17
       else if platform.isWasm then 16
       # For unknown systems, assume the latest version is required.
       else 17;
@@ -16776,11 +16767,11 @@ with pkgs;
   wrapRustcWith = { rustc-unwrapped, ... } @ args: callPackage ../build-support/rust/rustc-wrapper args;
   wrapRustc = rustc-unwrapped: wrapRustcWith { inherit rustc-unwrapped; };
 
-  rust_1_75 = callPackage ../development/compilers/rust/1_75.nix {
+  rust_1_76 = callPackage ../development/compilers/rust/1_76.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
     llvm_17 = llvmPackages_17.libllvm;
   };
-  rust = rust_1_75;
+  rust = rust_1_76;
 
   mrustc = callPackage ../development/compilers/mrustc { };
   mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { };
@@ -16788,8 +16779,8 @@ with pkgs;
     openssl = openssl_1_1;
   };
 
-  rustPackages_1_75 = rust_1_75.packages.stable;
-  rustPackages = rustPackages_1_75;
+  rustPackages_1_76 = rust_1_76.packages.stable;
+  rustPackages = rustPackages_1_76;
 
   inherit (rustPackages) cargo cargo-auditable cargo-auditable-cargo-wrapper clippy rustc rustPlatform;
 
@@ -18353,29 +18344,34 @@ with pkgs;
     buildJdk = jdk11_headless;
     buildJdkName = "java11";
     runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else gcc10StdenvCompat;
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv
+      else if stdenv.cc.isGNU then gcc10Stdenv
+      else stdenv;
     bazel_self = bazel_4;
   };
 
-  bazel_5 = pin-to-gcc12-if-gcc13 (callPackage ../development/tools/build-managers/bazel/bazel_5 {
+  bazel_5 = callPackage ../development/tools/build-managers/bazel/bazel_5 {
     inherit (darwin) cctools sigtool;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
     buildJdk = jdk11_headless;
     runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv
+      else if stdenv.cc.isGNU then gcc12Stdenv
+      else stdenv;
     bazel_self = bazel_5;
-  });
+  };
 
-  bazel_6 = pin-to-gcc12-if-gcc13 (darwin.apple_sdk_11_0.callPackage ../development/tools/build-managers/bazel/bazel_6 {
+  bazel_6 = darwin.apple_sdk_11_0.callPackage ../development/tools/build-managers/bazel/bazel_6 {
     inherit (darwin) cctools;
     inherit (darwin.apple_sdk_11_0.frameworks) CoreFoundation CoreServices Foundation;
     buildJdk = jdk11_headless;
     runJdk = jdk11_headless;
-    stdenv = if stdenv.isDarwin then
-      darwin.apple_sdk_11_0.stdenv else
-      if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+    stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv
+      else if stdenv.cc.isClang then llvmPackages.stdenv
+      else if stdenv.cc.isGNU then gcc12Stdenv
+      else stdenv;
     bazel_self = bazel_6;
-  });
+  };
 
   bazel_7 = darwin.apple_sdk_11_0.callPackage ../development/tools/build-managers/bazel/bazel_7 {
     inherit (darwin) cctools sigtool;
@@ -18815,8 +18811,6 @@ with pkgs;
 
   devtodo = callPackage ../development/tools/devtodo { };
 
-  dfeet = callPackage ../development/tools/misc/d-feet { };
-
   d-spy = callPackage ../development/tools/misc/d-spy { };
 
   dfu-programmer = callPackage ../development/tools/misc/dfu-programmer { };
@@ -20475,9 +20469,6 @@ with pkgs;
     then pkgs."androidndkPkgs_${stdenv.hostPlatform.ndkVer}".libraries
     else callPackage ../os-specific/linux/bionic-prebuilt { };
 
-
-  boehmgc = callPackage ../development/libraries/boehm-gc { };
-
   boolstuff = callPackage ../development/libraries/boolstuff { };
 
   inherit (callPackage ../development/libraries/boost { inherit (buildPackages) boost-build; })
@@ -21113,9 +21104,7 @@ with pkgs;
     };
   };
 
-  freetts = callPackage ../development/libraries/freetts {
-    jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-  };
+  freetts = callPackage ../development/libraries/freetts { };
 
   frog = res.languageMachines.frog;
 
@@ -22423,7 +22412,7 @@ with pkgs;
   dwarfdump = libdwarf.bin;
   libdwarf_20210528 = callPackage ../development/libraries/libdwarf/20210528.nix { };
 
-  libe57format = disable-warnings-if-gcc13 (callPackage ../development/libraries/libe57format { });
+  libe57format = callPackage ../development/libraries/libe57format { };
 
   libeatmydata = callPackage ../development/libraries/libeatmydata { };
 
@@ -22433,8 +22422,6 @@ with pkgs;
 
   libebur128 = callPackage ../development/libraries/libebur128 { };
 
-  libedit = callPackage ../development/libraries/libedit { };
-
   libei = callPackage ../development/libraries/libei { };
 
   libelf = callPackage ../development/libraries/libelf { };
@@ -22923,9 +22910,7 @@ with pkgs;
   libjpeg = libjpeg_turbo;
   libjpeg8 = libjpeg_turbo.override { enableJpeg8 = true; };
 
-  libjson-rpc-cpp = callPackage ../development/libraries/libjson-rpc-cpp {
-    libmicrohttpd = libmicrohttpd_0_9_72;
-  };
+  libjson-rpc-cpp = callPackage ../development/libraries/libjson-rpc-cpp { };
 
   libjwt = callPackage ../development/libraries/libjwt { };
 
@@ -22965,11 +22950,22 @@ with pkgs;
 
   libmemcached = callPackage ../development/libraries/libmemcached { };
 
-  libmicrohttpd_0_9_69 = callPackage ../development/libraries/libmicrohttpd/0.9.69.nix { };
-  libmicrohttpd_0_9_71 = callPackage ../development/libraries/libmicrohttpd/0.9.71.nix { };
-  libmicrohttpd_0_9_72 = callPackage ../development/libraries/libmicrohttpd/0.9.72.nix { };
-  libmicrohttpd_0_9_74 = callPackage ../development/libraries/libmicrohttpd/0.9.74.nix { };
-  libmicrohttpd = libmicrohttpd_0_9_71;
+  inherit
+    ({
+      libmicrohttpd_0_9_69 = callPackage ../development/libraries/libmicrohttpd/0.9.69.nix { };
+      libmicrohttpd_0_9_71 = callPackage ../development/libraries/libmicrohttpd/0.9.71.nix { };
+      libmicrohttpd_0_9_72 = callPackage ../development/libraries/libmicrohttpd/0.9.72.nix { };
+      libmicrohttpd_0_9_74 = callPackage ../development/libraries/libmicrohttpd/0.9.74.nix { };
+      libmicrohttpd_0_9_77 = callPackage ../development/libraries/libmicrohttpd/0.9.77.nix { };
+    })
+    libmicrohttpd_0_9_69
+    libmicrohttpd_0_9_71
+    libmicrohttpd_0_9_72
+    libmicrohttpd_0_9_74
+    libmicrohttpd_0_9_77
+    ;
+
+  libmicrohttpd = libmicrohttpd_0_9_77;
 
   libmikmod = callPackage ../development/libraries/libmikmod {
     inherit (darwin.apple_sdk.frameworks) CoreAudio;
@@ -23511,8 +23507,6 @@ with pkgs;
 
   yas = callPackage ../development/libraries/yas { };
 
-  libyang = callPackage ../development/libraries/libyang { };
-
   libcyaml = callPackage ../development/libraries/libcyaml { };
 
   rang = callPackage ../development/libraries/rang { };
@@ -23906,10 +23900,16 @@ with pkgs;
   nuspell = callPackage ../development/libraries/nuspell { };
   nuspellWithDicts = dicts: callPackage ../development/libraries/nuspell/wrapper.nix { inherit dicts; };
 
-  nv-codec-headers = callPackage ../development/libraries/nv-codec-headers { };
-  nv-codec-headers-10 = callPackage ../development/libraries/nv-codec-headers/10_x.nix { };
-  nv-codec-headers-11 = callPackage ../development/libraries/nv-codec-headers/11_x.nix { };
-  nv-codec-headers-12 = callPackage ../development/libraries/nv-codec-headers/12_x.nix { };
+  # splicing magic
+  nv-codec-headers-versions = callPackages ../development/libraries/nv-codec-headers { };
+  inherit (nv-codec-headers-versions)
+    nv-codec-headers-9
+    nv-codec-headers-10
+    nv-codec-headers-11
+    nv-codec-headers-12
+  ;
+  # A default nv-codec-headers to make people happy
+  nv-codec-headers = nv-codec-headers-versions.nv-codec-headers-9;
 
   nvidiaCtkPackages =
     callPackage ../by-name/nv/nvidia-container-toolkit/packages.nix
@@ -25133,7 +25133,7 @@ with pkgs;
 
   ucommon = callPackage ../development/libraries/ucommon { };
 
-  v8 = pin-to-gcc12-if-gcc13 (callPackage ../development/libraries/v8 (
+  v8 = callPackage ../development/libraries/v8 (
     let
       stdenv' = if stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "16"
         then overrideLibcxx llvmPackages_15.stdenv
@@ -25142,7 +25142,7 @@ with pkgs;
     {
       stdenv = if stdenv'.isDarwin then overrideSDK stdenv' "11.0" else stdenv';
     }
-  ));
+  );
 
   intel-vaapi-driver = callPackage ../development/libraries/intel-vaapi-driver { };
 
@@ -26034,11 +26034,11 @@ with pkgs;
 
   engelsystem = callPackage ../servers/web-apps/engelsystem { php = php81; };
 
-  envoy = pin-to-gcc12-if-gcc13 (callPackage ../servers/http/envoy {
+  envoy = callPackage ../servers/http/envoy {
     go = go_1_20;
     jdk = openjdk11_headless;
     gn = gn1924;
-  });
+  };
 
   ergochat = callPackage ../servers/irc/ergochat { };
 
@@ -26664,7 +26664,9 @@ with pkgs;
 
   azuredatastudio = callPackage ../applications/misc/azuredatastudio { };
 
-  miniflux = callPackage ../servers/miniflux { };
+  miniflux = callPackage ../servers/miniflux {
+    buildGoModule = buildGo122Module;
+  };
 
   mir = callPackage ../servers/mir { };
 
@@ -27731,8 +27733,6 @@ with pkgs;
 
   smemstat = callPackage ../os-specific/linux/smemstat { };
 
-  tgpt = callPackage ../tools/misc/tgpt { };
-
   tgt = callPackage ../tools/networking/tgt { };
 
   lkl = callPackage ../applications/virtualization/lkl { };
@@ -28084,7 +28084,9 @@ with pkgs;
 
   goverview = callPackage ../tools/security/goverview { };
 
-  go-tools = callPackage ../development/tools/go-tools { };
+  go-tools = callPackage ../development/tools/go-tools {
+    buildGoModule = buildGo122Module;
+  };
 
   gotest = callPackage ../development/tools/gotest { };
 
@@ -28806,7 +28808,9 @@ with pkgs;
 
   clearlooks-phenix = callPackage ../data/themes/clearlooks-phenix { };
 
-  cnspec = callPackage ../tools/security/cnspec { };
+  cnspec = callPackage ../tools/security/cnspec {
+    buildGoModule = buildGo122Module;
+  };
 
   cnstrokeorder = callPackage ../data/fonts/cnstrokeorder { };
 
@@ -30334,7 +30338,9 @@ with pkgs;
 
   bgpq4 = callPackage ../tools/networking/bgpq4 { };
 
-  blackbox = callPackage ../applications/version-management/blackbox { };
+  blackbox = callPackage ../applications/version-management/blackbox {
+    pinentry = pinentry-curses;
+  };
 
   bleachbit = callPackage ../applications/misc/bleachbit { };
 
@@ -31632,22 +31638,6 @@ with pkgs;
 
   fragments = callPackage ../applications/networking/p2p/fragments { };
 
-  freecad = libsForQt5.callPackage ../applications/graphics/freecad {
-    boost = python3Packages.boost;
-    inherit (python3Packages)
-      gitpython
-      matplotlib
-      pivy
-      ply
-      pycollada
-      pyside2
-      pyside2-tools
-      python
-      pyyaml
-      scipy
-      shiboken2;
-  };
-
   freedv = callPackage ../applications/radio/freedv {
     inherit (darwin.apple_sdk.frameworks) AppKit AVFoundation Cocoa CoreMedia;
     codec2 = codec2.override {
@@ -32718,8 +32708,6 @@ with pkgs;
 
   kondo = callPackage ../applications/misc/kondo { };
 
-  kooha = callPackage ../applications/video/kooha { };
-
   kotatogram-desktop = libsForQt5.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop {
     inherit (darwin.apple_sdk_11_0.frameworks) Cocoa CoreFoundation CoreServices CoreText CoreGraphics
       CoreMedia OpenGL AudioUnit ApplicationServices Foundation AGL Security SystemConfiguration
@@ -33195,12 +33183,6 @@ with pkgs;
 
   matchbox = callPackage ../applications/window-managers/matchbox { };
 
-  matrixcli = callPackage ../applications/networking/instant-messengers/matrixcli {
-    inherit (python3Packages) buildPythonApplication buildPythonPackage
-      pygobject3 pytest-runner requests responses pytest python-olm
-      canonicaljson;
-  };
-
   matrix-commander = python3Packages.callPackage ../applications/networking/instant-messengers/matrix-commander { };
 
   matrix-dl = callPackage ../applications/networking/instant-messengers/matrix-dl { };
@@ -33811,7 +33793,9 @@ with pkgs;
 
   shod = callPackage ../applications/window-managers/shod { };
 
-  shotcut = qt6Packages.callPackage ../applications/video/shotcut { };
+  shotcut = qt6Packages.callPackage ../applications/video/shotcut {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
 
   shogun = callPackage ../applications/science/machine-learning/shogun {
     protobuf = protobuf_21;
@@ -33967,8 +33951,6 @@ with pkgs;
 
   nheko = libsForQt5.callPackage ../applications/networking/instant-messengers/nheko { };
 
-  nomacs = libsForQt5.callPackage ../applications/graphics/nomacs { };
-
   notepad-next = libsForQt5.callPackage ../applications/editors/notepad-next { };
 
   notepadqq = libsForQt5.callPackage ../applications/editors/notepadqq { };
@@ -34384,8 +34366,6 @@ with pkgs;
 
   potrace = callPackage ../applications/graphics/potrace { };
 
-  pqiv = callPackage ../applications/graphics/pqiv { };
-
   qiv = callPackage ../applications/graphics/qiv {
     imlib2 = imlib2Full;
   };
@@ -34705,10 +34685,6 @@ with pkgs;
 
   rgp = libsForQt5.callPackage ../development/tools/rgp { };
 
-  ricochet = libsForQt5.callPackage ../applications/networking/instant-messengers/ricochet {
-    protobuf = protobuf_21;
-  };
-
   ries = callPackage ../applications/science/math/ries { };
 
   ripcord = if stdenv.isLinux then
@@ -35896,6 +35872,8 @@ with pkgs;
 
   vkeybd = callPackage ../applications/audio/vkeybd { };
 
+  vlc-bin-universal = vlc-bin.override { variant = "universal"; };
+
   libvlc = vlc.override {
     withQt5 = false;
     onlyLibVLC = true;
@@ -36317,7 +36295,7 @@ with pkgs;
     inherit (gnome2) libgnomecanvas;
   };
 
-  xournalpp = callPackage ../applications/graphics/xournalpp {
+  xournalpp = darwin.apple_sdk_11_0.callPackage ../applications/graphics/xournalpp {
     lua = lua5_3;
   };
 
@@ -36517,7 +36495,7 @@ with pkgs;
 
   zerobin = callPackage ../applications/networking/zerobin { };
 
-  zeroc-ice = disable-warnings-if-gcc13 (callPackage ../development/libraries/zeroc-ice { });
+  zeroc-ice = callPackage ../development/libraries/zeroc-ice { };
 
   zeroc-ice-cpp11 = zeroc-ice.override { cpp11 = true; };
 
@@ -36858,8 +36836,6 @@ with pkgs;
 
   conmon-rs = callPackage ../applications/virtualization/conmon-rs { };
 
-  digikam = libsForQt5.callPackage ../applications/graphics/digikam { };
-
   drumkv1 = libsForQt5.callPackage ../applications/audio/drumkv1 { };
 
   eureka-ideas = callPackage ../applications/misc/eureka-ideas {
@@ -37028,16 +37004,6 @@ with pkgs;
 
   zdoom = callPackage ../games/doom-ports/zdoom { };
 
-  ### GAMES/LGAMES
-
-  barrage = callPackage ../games/lgames/barrage { };
-
-  lbreakout2 = callPackage ../games/lgames/lbreakout2 { };
-
-  lbreakouthd = callPackage ../games/lgames/lbreakouthd { };
-
-  lpairs2 = callPackage ../games/lgames/lpairs2 { };
-
   maelstrom = callPackage ../games/maelstrom { };
 
   mar1d = callPackage ../games/mar1d { } ;
@@ -41275,7 +41241,9 @@ with pkgs;
 
   linkchecker = callPackage ../tools/networking/linkchecker { };
 
-  tomb = callPackage ../os-specific/linux/tomb { };
+  tomb = callPackage ../os-specific/linux/tomb {
+    pinentry = pinentry-curses;
+  };
 
   sccache = callPackage ../development/tools/misc/sccache { };
 
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index b0400cfeab014..5f0fe736d38a1 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -192,6 +192,7 @@ in {
         kernelPatches.request_key_helper
         kernelPatches.rust_1_74
         kernelPatches.rust_1_75
+        kernelPatches.rust_1_76
       ];
     };
 
@@ -204,6 +205,7 @@ in {
           kernelPatches.bridge_stp_helper
           kernelPatches.request_key_helper
           kernelPatches.rust_1_75
+          kernelPatches.rust_1_76
         ];
       };
       latest = packageAliases.linux_latest.kernel;
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index c562b88f9c9c0..718153801014a 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -28431,9 +28431,9 @@ with self; {
     };
     env.AUTOMATED_TESTING = false;
     nativeBuildInputs = [ pkgs.pkg-config ];
-    buildInputs = [ pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm ExtUtilsDepends ExtUtilsPkgConfig TestDeep TestException XSObjectMagic ];
-    propagatedBuildInputs = [ DataDump MouseXNativeTraits XMLDescent XMLSimple ];
-    NIX_CFLAGS_LINK = "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm";
+    buildInputs = [ pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm ExtUtilsDepends ExtUtilsPkgConfig TestDeep TestException ];
+    propagatedBuildInputs = [ DataDump MouseXNativeTraits XMLDescent XMLSimple XSObjectMagic ];
+    NIX_CFLAGS_LINK = "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm -lxcb-randr -lxcb-xkb";
     doCheck = false; # requires an X server
     meta = {
       description = "Perl bindings for libxcb";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b73c25df3b31c..35757d65166e0 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -123,6 +123,8 @@ self: super: with self; {
 
   agent-py = callPackage ../development/python-modules/agent-py { };
 
+  ago = callPackage ../development/python-modules/ago { };
+
   aggdraw = callPackage ../development/python-modules/aggdraw { };
 
   aigpy = callPackage ../development/python-modules/aigpy { };
@@ -1882,6 +1884,8 @@ self: super: with self; {
 
   case = callPackage ../development/python-modules/case { };
 
+  cashaddress = callPackage ../development/python-modules/cashaddress { };
+
   cassandra-driver = callPackage ../development/python-modules/cassandra-driver { };
 
   castepxbin = callPackage ../development/python-modules/castepxbin { };
@@ -2930,6 +2934,8 @@ self: super: with self; {
 
   directv = callPackage ../development/python-modules/directv { };
 
+  dirigera = callPackage ../development/python-modules/dirigera { };
+
   dirty-equals = callPackage ../development/python-modules/dirty-equals { };
 
   dirtyjson = callPackage ../development/python-modules/dirtyjson { };
@@ -3566,6 +3572,8 @@ self: super: with self; {
 
   dynd = callPackage ../development/python-modules/dynd { };
 
+  dsl2html = callPackage ../development/python-modules/dsl2html { };
+
   e3-core = callPackage ../development/python-modules/e3-core { };
 
   e3-testsuite = callPackage ../development/python-modules/e3-testsuite { };
@@ -4041,6 +4049,8 @@ self: super: with self; {
 
   fe25519 = callPackage ../development/python-modules/fe25519 { };
 
+  feedfinder2 = callPackage ../development/python-modules/feedfinder2 { };
+
   feedgen = callPackage ../development/python-modules/feedgen { };
 
   feedgenerator = callPackage ../development/python-modules/feedgenerator {
@@ -4511,6 +4521,8 @@ self: super: with self; {
     inherit (pkgs) bluez glib pkg-config;
   };
 
+  gawd = callPackage ../development/python-modules/gawd { };
+
   gb-io = callPackage ../development/python-modules/gb-io { };
 
   gbinder-python = callPackage ../development/python-modules/gbinder-python { };
@@ -5418,6 +5430,8 @@ self: super: with self; {
 
   hupper = callPackage ../development/python-modules/hupper { };
 
+  hurry-filesize = callPackage ../development/python-modules/hurry-filesize { };
+
   huum = callPackage ../development/python-modules/huum { };
 
   hvac = callPackage ../development/python-modules/hvac { };
@@ -5692,6 +5706,8 @@ self: super: with self; {
 
   invoke = callPackage ../development/python-modules/invoke { };
 
+  iocsearcher = callPackage ../development/python-modules/iocsearcher { };
+
   iodata = callPackage ../development/python-modules/iodata { };
 
   iocapture = callPackage ../development/python-modules/iocapture { };
@@ -12708,6 +12724,8 @@ self: super: with self; {
 
   readability-lxml = callPackage ../development/python-modules/readability-lxml { };
 
+  readabilipy = callPackage ../development/python-modules/readabilipy { };
+
   readchar = callPackage ../development/python-modules/readchar { };
 
   readlike = callPackage ../development/python-modules/readlike { };
@@ -13150,6 +13168,8 @@ self: super: with self; {
 
   safety = callPackage ../development/python-modules/safety { };
 
+  safety-schemas = callPackage ../development/python-modules/safety-schemas { };
+
   sagemaker = callPackage ../development/python-modules/sagemaker { };
 
   salmon-mail = callPackage ../development/python-modules/salmon-mail { };
@@ -14747,6 +14767,8 @@ self: super: with self; {
 
   tinyrecord = callPackage ../development/python-modules/tinyrecord { };
 
+  tinysegmenter = callPackage ../development/python-modules/tinysegmenter { };
+
   tissue = callPackage ../development/python-modules/tissue { };
 
   titlecase = callPackage ../development/python-modules/titlecase { };
@@ -14954,7 +14976,9 @@ self: super: with self; {
 
   treq = callPackage ../development/python-modules/treq { };
 
-  trezor-agent = callPackage ../development/python-modules/trezor-agent { };
+  trezor-agent = callPackage ../development/python-modules/trezor-agent {
+    pinentry = pkgs.pinentry-curses;
+  };
 
   trezor = callPackage ../development/python-modules/trezor { };
 
@@ -16687,6 +16711,8 @@ self: super: with self; {
 
   xxhash = callPackage ../development/python-modules/xxhash { };
 
+  xdxf2html = callPackage ../development/python-modules/xdxf2html { };
+
   xyzservices = callPackage ../development/python-modules/xyzservices { };
 
   y-py = callPackage ../development/python-modules/y-py { };
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 1fc551c0b453b..d8bf53af86aaf 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -294,6 +294,7 @@ let
           stdenv = super'.withDefaultHardeningFlags (
             super'.stdenv.cc.defaultHardeningFlags ++ [
               "zerocallusedregs"
+              "trivialautovarinit"
             ]
           ) super'.stdenv;
         })