about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorFabián Heredia Montiel <fabianhjr@protonmail.com>2023-12-04 17:44:17 -0600
committerFabián Heredia Montiel <fabianhjr@protonmail.com>2023-12-04 17:44:17 -0600
commit5b8deaceca7538f7f33c7e72464ec2590c14dc43 (patch)
tree5cd2f63728218d2c41f04d77c9a9c9987bc26afa /pkgs
parent360a5f0549cc556bed6bcf5c5ef8d2b603765c19 (diff)
parent00bff935cb14b56a6c268ba149ef16a9f2d8015e (diff)
Merge remote-tracking branch 'origin/master' into staging-next
Fixed conflict in pkgs/applications/graphics/krita/

krita: 5.1.5 -> 5.2.0
7a40fdc288e69ba94947c1c4ec29c0f24e461eef
, and
treewide: use kde mirror everywhere, don't use pname in download urls
aa15f5066d695de4c4027bd8bdcf4cedcf58d058
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/CHOWTapeModel/default.nix82
-rw-r--r--pkgs/applications/audio/alsa-scarlett-gui/default.nix4
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix4
-rw-r--r--pkgs/applications/audio/eartag/default.nix6
-rw-r--r--pkgs/applications/audio/gnome-podcasts/Cargo.lock1051
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix7
-rw-r--r--pkgs/applications/audio/kid3/default.nix2
-rw-r--r--pkgs/applications/audio/spotify/linux.nix6
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix4
-rw-r--r--pkgs/applications/backup/proxmox-backup-client/Cargo.lock833
-rw-r--r--pkgs/applications/backup/proxmox-backup-client/default.nix70
-rw-r--r--pkgs/applications/display-managers/greetd/gtkgreet.nix4
-rw-r--r--pkgs/applications/editors/emacs/make-emacs.nix19
-rw-r--r--pkgs/applications/editors/greenfoot/default.nix4
-rw-r--r--pkgs/applications/editors/netbeans/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix216
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix6
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names1
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix8
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix12
-rw-r--r--pkgs/applications/emulators/dosbox-x/default.nix19
-rw-r--r--pkgs/applications/emulators/dosbox/default.nix3
-rw-r--r--pkgs/applications/emulators/yuzu/sources.nix14
-rw-r--r--pkgs/applications/graphics/krita/default.nix6
-rw-r--r--pkgs/applications/graphics/krita/generic.nix3
-rw-r--r--pkgs/applications/graphics/smartdeblur/default.nix2
-rw-r--r--pkgs/applications/misc/clipcat/default.nix6
-rw-r--r--pkgs/applications/misc/collision/default.nix6
-rw-r--r--pkgs/applications/misc/collision/shards.nix (renamed from pkgs/applications/misc/collision/collision-shards.nix)33
-rw-r--r--pkgs/applications/misc/fluidd/default.nix4
-rw-r--r--pkgs/applications/misc/gnome-firmware/default.nix4
-rw-r--r--pkgs/applications/misc/khard/default.nix4
-rw-r--r--pkgs/applications/misc/rsibreak/default.nix9
-rw-r--r--pkgs/applications/misc/vym/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/driftctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix14
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/twitch-tui/default.nix8
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/juju/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/default.nix4
-rw-r--r--pkgs/applications/networking/pjsip/default.nix15
-rw-r--r--pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch25
-rw-r--r--pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch34
-rw-r--r--pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch25
-rw-r--r--pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch26
-rw-r--r--pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch27
-rw-r--r--pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch27
-rw-r--r--pkgs/applications/networking/powerdns-admin/default.nix24
-rw-r--r--pkgs/applications/networking/remote/aws-workspaces/default.nix3
-rw-r--r--pkgs/applications/office/skrooge/default.nix2
-rw-r--r--pkgs/applications/office/treesheets/default.nix6
-rw-r--r--pkgs/applications/office/trilium/desktop.nix6
-rw-r--r--pkgs/applications/office/trilium/server.nix4
-rw-r--r--pkgs/applications/radio/flamp/default.nix4
-rw-r--r--pkgs/applications/radio/gridtracker/default.nix4
-rw-r--r--pkgs/applications/radio/inspectrum/default.nix4
-rw-r--r--pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--pkgs/applications/science/biology/kallisto/default.nix4
-rw-r--r--pkgs/applications/science/biology/seqkit/default.nix6
-rw-r--r--pkgs/applications/science/math/labplot/default.nix2
-rw-r--r--pkgs/applications/science/networking/sumo/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/contour/contour-cmakelists.diff20
-rw-r--r--pkgs/applications/terminal-emulators/contour/default.nix84
-rw-r--r--pkgs/applications/terminal-emulators/contour/macos-codesign.diff21
-rw-r--r--pkgs/applications/video/animdl/default.nix63
-rw-r--r--pkgs/applications/video/hypnotix/default.nix19
-rw-r--r--pkgs/applications/video/mpv/scripts/default.nix2
-rw-r--r--pkgs/applications/video/mpv/scripts/mpv-webm.nix24
-rw-r--r--pkgs/applications/window-managers/sway/lock-effects.nix4
-rw-r--r--pkgs/build-support/add-driver-runpath/default.nix14
-rw-r--r--pkgs/build-support/add-driver-runpath/setup-hook.sh29
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix6
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix6
-rw-r--r--pkgs/build-support/trivial-builders/default.nix13
-rw-r--r--pkgs/by-name/ab/aba/package.nix14
-rw-r--r--pkgs/by-name/bn/bngblaster/package.nix53
-rw-r--r--pkgs/by-name/fl/flarectl/package.nix6
-rw-r--r--pkgs/by-name/fr/framework-system-tools/Cargo.lock1312
-rw-r--r--pkgs/by-name/fr/framework-system-tools/package.nix45
-rw-r--r--pkgs/by-name/ge/get-google-fonts/package.nix37
-rw-r--r--pkgs/by-name/go/goredo/fix-tests.diff4
-rw-r--r--pkgs/by-name/go/goredo/package.nix9
-rw-r--r--pkgs/by-name/gu/guix/package.nix11
-rw-r--r--pkgs/by-name/ha/handlr-regex/package.nix (renamed from pkgs/tools/misc/handlr-regex/default.nix)6
-rw-r--r--pkgs/by-name/ha/hayabusa/package.nix50
-rw-r--r--pkgs/by-name/ia/ia-writer-quattro/package.nix31
-rw-r--r--pkgs/by-name/ja/jazz2/package.nix4
-rw-r--r--pkgs/by-name/ko/kor/package.nix34
-rw-r--r--pkgs/by-name/la/lanraragi/loosen-dep-reqs.patch13
-rw-r--r--pkgs/by-name/la/lanraragi/package.nix1
-rw-r--r--pkgs/by-name/li/libdict/package.nix40
-rw-r--r--pkgs/by-name/li/librda/package.nix61
-rw-r--r--pkgs/by-name/lo/loupe/package.nix4
-rw-r--r--pkgs/by-name/ma/majima/package.nix22
-rw-r--r--pkgs/by-name/mo/monophony/package.nix28
-rw-r--r--pkgs/by-name/ni/nimmm/lock.json14
-rw-r--r--pkgs/by-name/ni/nimmm/package.nix6
-rw-r--r--pkgs/by-name/op/opentype-sanitizer/package.nix44
-rw-r--r--pkgs/by-name/pa/pam-honeycreds/package.nix25
-rw-r--r--pkgs/by-name/py/pywalfox-native/package.nix32
-rw-r--r--pkgs/by-name/re/revup/package.nix66
-rw-r--r--pkgs/by-name/sg/sgfutils/package.nix52
-rw-r--r--pkgs/by-name/ss/sshx/package.nix53
-rw-r--r--pkgs/by-name/th/themix-gui/package.nix78
-rw-r--r--pkgs/by-name/ui/uiua/package.nix6
-rw-r--r--pkgs/by-name/ve/vesktop/package.nix6
-rw-r--r--pkgs/by-name/vi/vieb/package.nix (renamed from pkgs/applications/networking/browsers/vieb/default.nix)8
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--pkgs/data/misc/dbip-country-lite/default.nix4
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch6
-rw-r--r--pkgs/desktops/gnome/core/gnome-disk-utility/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-software/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json158
-rw-r--r--pkgs/desktops/gnome/games/gnome-sudoku/default.nix4
-rw-r--r--pkgs/desktops/lomiri/default.nix1
-rw-r--r--pkgs/desktops/lomiri/services/hfd-service/default.nix75
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/default.nix10
-rw-r--r--pkgs/development/compilers/gcc/patches/11/avr-gcc-11.3-darwin.patch20
-rw-r--r--pkgs/development/compilers/gcc/patches/default.nix3
-rw-r--r--pkgs/development/compilers/ghc/common-hadrian.nix8
-rw-r--r--pkgs/development/compilers/ghc/head.nix6
-rw-r--r--pkgs/development/compilers/intel-graphics-compiler/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/6/lldb/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/7/llvm/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/8/llvm/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/9/llvm/default.nix12
-rw-r--r--pkgs/development/compilers/polyml/default.nix20
-rw-r--r--pkgs/development/compilers/tvm/default.nix4
-rw-r--r--pkgs/development/embedded/elf2uf2-rs/default.nix6
-rw-r--r--pkgs/development/hare-packages/hare-json/default.nix39
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix35
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix8
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml5
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml102
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml3
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1747
-rw-r--r--pkgs/development/interpreters/php/install-pear-nozlib-phar.nix2
-rw-r--r--pkgs/development/interpreters/rakudo/moarvm.nix4
-rw-r--r--pkgs/development/libraries/accounts-qml-module/default.nix88
-rw-r--r--pkgs/development/libraries/bzrtp/default.nix4
-rw-r--r--pkgs/development/libraries/ctranslate2/default.nix5
-rw-r--r--pkgs/development/libraries/example-robot-data/default.nix6
-rw-r--r--pkgs/development/libraries/futuresql/default.nix2
-rw-r--r--pkgs/development/libraries/gr-framework/default.nix17
-rw-r--r--pkgs/development/libraries/highfive/default.nix4
-rw-r--r--pkgs/development/libraries/kpeoplevcard/default.nix2
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix4
-rw-r--r--pkgs/development/libraries/libaec/default.nix4
-rw-r--r--pkgs/development/libraries/libcue/default.nix16
-rw-r--r--pkgs/development/libraries/libdatovka/default.nix4
-rw-r--r--pkgs/development/libraries/libmpc/default.nix2
-rw-r--r--pkgs/development/libraries/libmysqlconnectorcpp/default.nix4
-rw-r--r--pkgs/development/libraries/libnbd/default.nix13
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix5
-rw-r--r--pkgs/development/libraries/libunicode/default.nix33
-rw-r--r--pkgs/development/libraries/libzim/default.nix4
-rw-r--r--pkgs/development/libraries/ncurses/default.nix13
-rw-r--r--pkgs/development/libraries/nng/default.nix6
-rw-r--r--pkgs/development/libraries/openimageio/default.nix4
-rw-r--r--pkgs/development/libraries/pango/default.nix1
-rw-r--r--pkgs/development/libraries/pipewire/wireplumber.nix4
-rw-r--r--pkgs/development/libraries/pkcs11helper/default.nix4
-rw-r--r--pkgs/development/libraries/qt-6/modules/qtmultimedia.nix12
-rw-r--r--pkgs/development/libraries/rure/Cargo.lock4
-rw-r--r--pkgs/development/libraries/science/math/nccl/default.nix170
-rw-r--r--pkgs/development/libraries/science/math/nccl/tests.nix131
-rw-r--r--pkgs/development/libraries/termbench-pro/default.nix34
-rw-r--r--pkgs/development/libraries/tevent/default.nix4
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK32.nix9
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix4
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix33
-rw-r--r--pkgs/development/lua-modules/overrides.nix10
-rw-r--r--pkgs/development/misc/avr/libc/default.nix3
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/anchor-kr/default.nix26
-rw-r--r--pkgs/development/python-modules/anitopy/default.nix26
-rw-r--r--pkgs/development/python-modules/approval-utilities/default.nix13
-rw-r--r--pkgs/development/python-modules/approvaltests/default.nix18
-rw-r--r--pkgs/development/python-modules/ariadne/default.nix11
-rw-r--r--pkgs/development/python-modules/ariadne/remove-opentracing.patch12
-rw-r--r--pkgs/development/python-modules/av/default.nix125
-rw-r--r--pkgs/development/python-modules/axisregistry/default.nix46
-rw-r--r--pkgs/development/python-modules/azure-identity/default.nix16
-rw-r--r--pkgs/development/python-modules/babelfont/default.nix55
-rw-r--r--pkgs/development/python-modules/betterproto/default.nix9
-rw-r--r--pkgs/development/python-modules/beziers/default.nix40
-rw-r--r--pkgs/development/python-modules/collidoscope/default.nix43
-rw-r--r--pkgs/development/python-modules/commandlines/default.nix31
-rw-r--r--pkgs/development/python-modules/configupdater/default.nix4
-rw-r--r--pkgs/development/python-modules/cx-freeze/default.nix4
-rw-r--r--pkgs/development/python-modules/dask-glm/default.nix4
-rw-r--r--pkgs/development/python-modules/dehinter/default.nix36
-rw-r--r--pkgs/development/python-modules/downloader-cli/default.nix9
-rw-r--r--pkgs/development/python-modules/duecredit/default.nix9
-rw-r--r--pkgs/development/python-modules/dvc-objects/default.nix4
-rw-r--r--pkgs/development/python-modules/empy/default.nix4
-rw-r--r--pkgs/development/python-modules/es-client/default.nix4
-rw-r--r--pkgs/development/python-modules/fake-useragent/default.nix10
-rw-r--r--pkgs/development/python-modules/farm-haystack/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8-bugbear/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch257
-rw-r--r--pkgs/development/python-modules/flask-seasurf/default.nix16
-rw-r--r--pkgs/development/python-modules/font-v/default.nix53
-rw-r--r--pkgs/development/python-modules/fontbakery/default.nix146
-rw-r--r--pkgs/development/python-modules/fontbakery/tests.nix22
-rw-r--r--pkgs/development/python-modules/fontfeatures/default.nix50
-rw-r--r--pkgs/development/python-modules/frozendict/default.nix4
-rw-r--r--pkgs/development/python-modules/gehomesdk/default.nix4
-rw-r--r--pkgs/development/python-modules/gflanguages/default.nix48
-rw-r--r--pkgs/development/python-modules/glyphsets/0001-relax-setuptools-scm-dep.patch22
-rw-r--r--pkgs/development/python-modules/glyphsets/default.nix55
-rw-r--r--pkgs/development/python-modules/glyphslib/default.nix4
-rw-r--r--pkgs/development/python-modules/glyphtools/default.nix39
-rw-r--r--pkgs/development/python-modules/gptcache/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-channelz/default.nix4
-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/gspread/default.nix4
-rw-r--r--pkgs/development/python-modules/html2image/default.nix45
-rw-r--r--pkgs/development/python-modules/icontract/default.nix4
-rw-r--r--pkgs/development/python-modules/imapclient/default.nix4
-rw-r--r--pkgs/development/python-modules/inquirer/default.nix4
-rw-r--r--pkgs/development/python-modules/intellifire4py/default.nix4
-rw-r--r--pkgs/development/python-modules/jaxlib/bin.nix8
-rw-r--r--pkgs/development/python-modules/jplephem/default.nix4
-rw-r--r--pkgs/development/python-modules/kurbopy/default.nix53
-rw-r--r--pkgs/development/python-modules/langsmith/default.nix4
-rw-r--r--pkgs/development/python-modules/latexify-py/default.nix4
-rw-r--r--pkgs/development/python-modules/license-expression/default.nix8
-rw-r--r--pkgs/development/python-modules/litellm/default.nix19
-rw-r--r--pkgs/development/python-modules/luddite/default.nix14
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix11
-rw-r--r--pkgs/development/python-modules/maison/default.nix4
-rw-r--r--pkgs/development/python-modules/meep/default.nix4
-rw-r--r--pkgs/development/python-modules/millheater/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocstrings/default.nix20
-rw-r--r--pkgs/development/python-modules/nethsm/default.nix51
-rw-r--r--pkgs/development/python-modules/numpy-stl/default.nix4
-rw-r--r--pkgs/development/python-modules/oauthenticator/default.nix4
-rw-r--r--pkgs/development/python-modules/oelint-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/openai/default.nix74
-rw-r--r--pkgs/development/python-modules/opentsne/default.nix32
-rw-r--r--pkgs/development/python-modules/opentypespec/default.nix29
-rw-r--r--pkgs/development/python-modules/ots-python/0001-use-packaged-ots.patch34
-rw-r--r--pkgs/development/python-modules/ots-python/default.nix48
-rw-r--r--pkgs/development/python-modules/picobox/default.nix11
-rw-r--r--pkgs/development/python-modules/playwright/default.nix6
-rw-r--r--pkgs/development/python-modules/pulumi/default.nix2
-rw-r--r--pkgs/development/python-modules/pytikz-allefeld/default.nix54
-rw-r--r--pkgs/development/python-modules/pyunpack/default.nix13
-rw-r--r--pkgs/development/python-modules/robotframework-pythonlibcore/default.nix15
-rw-r--r--pkgs/development/python-modules/rstr/default.nix37
-rw-r--r--pkgs/development/python-modules/scancode-toolkit/default.nix43
-rw-r--r--pkgs/development/python-modules/shaperglot/default.nix55
-rw-r--r--pkgs/development/python-modules/sre-yield/default.nix34
-rw-r--r--pkgs/development/python-modules/streamlit/default.nix4
-rw-r--r--pkgs/development/python-modules/stringbrewer/default.nix37
-rw-r--r--pkgs/development/python-modules/syncedlyrics/default.nix10
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix17
-rw-r--r--pkgs/development/python-modules/torch/default.nix19
-rw-r--r--pkgs/development/python-modules/torchaudio/0001-setup.py-propagate-cmakeFlags.patch32
-rw-r--r--pkgs/development/python-modules/torchaudio/default.nix4
-rw-r--r--pkgs/development/python-modules/txtorcon/default.nix4
-rw-r--r--pkgs/development/python-modules/types-s3transfer/default.nix4
-rw-r--r--pkgs/development/python-modules/ufolint/default.nix40
-rw-r--r--pkgs/development/python-modules/vharfbuzz/default.nix37
-rw-r--r--pkgs/development/python-modules/youseedee/0001-use-packaged-unicode-data.patch25
-rw-r--r--pkgs/development/python-modules/youseedee/default.nix45
-rw-r--r--pkgs/development/skaware-packages/s6-man-pages/default.nix4
-rw-r--r--pkgs/development/tools/bloaty/default.nix46
-rw-r--r--pkgs/development/tools/cucumber/Gemfile.lock24
-rw-r--r--pkgs/development/tools/cucumber/gemset.nix20
-rw-r--r--pkgs/development/tools/database/litefs/default.nix6
-rw-r--r--pkgs/development/tools/fastgron/default.nix4
-rw-r--r--pkgs/development/tools/go-task/default.nix6
-rw-r--r--pkgs/development/tools/goperf/default.nix38
-rw-r--r--pkgs/development/tools/heroku/default.nix28
-rw-r--r--pkgs/development/tools/konstraint/default.nix6
-rw-r--r--pkgs/development/tools/melange/default.nix6
-rw-r--r--pkgs/development/tools/misc/hydra/unstable.nix8
-rw-r--r--pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix4
-rw-r--r--pkgs/development/tools/misc/segger-ozone/default.nix48
-rw-r--r--pkgs/development/tools/rust/cargo-deb/default.nix7
-rw-r--r--pkgs/development/tools/vsce/default.nix4
-rw-r--r--pkgs/development/tools/yq-go/default.nix8
-rw-r--r--pkgs/development/tools/zed/default.nix6
-rw-r--r--pkgs/games/doom-ports/zandronum/add_gitinfo.patch20
-rw-r--r--pkgs/games/doom-ports/zandronum/default.nix49
-rw-r--r--pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch14
-rw-r--r--pkgs/games/doom-ports/zandronum/sqlite.nix4
-rw-r--r--pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch70
-rw-r--r--pkgs/games/gcompris/default.nix2
-rw-r--r--pkgs/games/runelite/default.nix3
-rw-r--r--pkgs/games/starsector/default.nix3
-rw-r--r--pkgs/games/ultrastardx/default.nix4
-rw-r--r--pkgs/misc/scrcpy/default.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/kernels-org.json16
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-6.1.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/light/default.nix1
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix4
-rw-r--r--pkgs/servers/komga/default.nix12
-rw-r--r--pkgs/servers/krill/default.nix9
-rw-r--r--pkgs/servers/misc/virtiofsd/default.nix1
-rw-r--r--pkgs/servers/monitoring/grafana-agent/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix29
-rw-r--r--pkgs/servers/nosql/immudb/default.nix6
-rw-r--r--pkgs/servers/nosql/janusgraph/default.nix4
-rw-r--r--pkgs/servers/prowlarr/default.nix10
-rw-r--r--pkgs/servers/rmfakecloud/webui.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix33
-rw-r--r--pkgs/servers/sunshine/default.nix2
-rw-r--r--pkgs/servers/web-apps/netbox/default.nix4
-rw-r--r--pkgs/tools/admin/pulumi-bin/data.nix338
-rw-r--r--pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix2
-rw-r--r--pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix2
-rw-r--r--pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix2
-rw-r--r--pkgs/tools/admin/pulumi/default.nix6
-rw-r--r--pkgs/tools/backup/bup/default.nix2
-rw-r--r--pkgs/tools/compression/ouch/default.nix6
-rw-r--r--pkgs/tools/games/igir/default.nix31
-rw-r--r--pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch17
-rw-r--r--pkgs/tools/games/pocket-updater-utility/default.nix9
-rw-r--r--pkgs/tools/games/pocket-updater-utility/deps.nix1
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix5
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix47
-rw-r--r--pkgs/tools/inputmethods/fusuma/Gemfile6
-rw-r--r--pkgs/tools/inputmethods/fusuma/Gemfile.lock25
-rw-r--r--pkgs/tools/inputmethods/fusuma/gemset.nix35
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix4
-rw-r--r--pkgs/tools/inputmethods/input-remapper/default.nix10
-rw-r--r--pkgs/tools/inputmethods/keymapper/default.nix4
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/hyfetch/default.nix4
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--pkgs/tools/misc/moar/default.nix4
-rw-r--r--pkgs/tools/misc/panoply/default.nix4
-rw-r--r--pkgs/tools/misc/rkvm/default.nix6
-rw-r--r--pkgs/tools/misc/snapper/default.nix4
-rw-r--r--pkgs/tools/misc/sshx/default.nix79
-rw-r--r--pkgs/tools/networking/dirb/default.nix3
-rw-r--r--pkgs/tools/networking/mockoon/default.nix4
-rw-r--r--pkgs/tools/networking/nikto/default.nix16
-rw-r--r--pkgs/tools/networking/nikto/nix-wrapper-fix.patch (renamed from pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch)24
-rw-r--r--pkgs/tools/networking/sing-box/default.nix6
-rw-r--r--pkgs/tools/networking/whois/default.nix10
-rw-r--r--pkgs/tools/security/argocd-vault-plugin/default.nix6
-rw-r--r--pkgs/tools/security/pinentry-bemenu/default.nix4
-rw-r--r--pkgs/tools/security/pynitrokey/default.nix77
-rw-r--r--pkgs/tools/security/srm/default.nix17
-rw-r--r--pkgs/tools/security/srm/fix-output-in-verbose-mode.patch57
-rw-r--r--pkgs/tools/security/sss-cli/default.nix27
-rw-r--r--pkgs/tools/security/sss-cli/fix-cargo-lock.patch21
-rw-r--r--pkgs/tools/security/vault/default.nix6
-rw-r--r--pkgs/tools/system/openseachest/default.nix4
-rw-r--r--pkgs/tools/text/kdiff3/default.nix2
-rw-r--r--pkgs/tools/text/languagetool/default.nix4
-rw-r--r--pkgs/tools/text/tuc/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix103
-rw-r--r--pkgs/top-level/hare-third-party.nix4
-rw-r--r--pkgs/top-level/python-packages.nix54
-rw-r--r--pkgs/top-level/qt5-packages.nix2
374 files changed, 8488 insertions, 3874 deletions
diff --git a/pkgs/applications/audio/CHOWTapeModel/default.nix b/pkgs/applications/audio/CHOWTapeModel/default.nix
index c36de2cb878d4..dd7604939f0f5 100644
--- a/pkgs/applications/audio/CHOWTapeModel/default.nix
+++ b/pkgs/applications/audio/CHOWTapeModel/default.nix
@@ -1,18 +1,53 @@
-{ alsa-lib, at-spi2-core, cmake, curl, dbus, libepoxy, fetchFromGitHub, freeglut
-, freetype, gcc-unwrapped, gtk3, lib, libGL, libXcursor, libXdmcp, libXext
-, libXinerama, libXrandr, libXtst, libdatrie, libjack2, libpsl, libselinux
-, libsepol, libsysprof-capture, libthai, libxkbcommon, lv2, pcre, pkg-config
-, python3, sqlite, stdenv }:
-
+{ alsa-lib
+, at-spi2-core
+, cmake
+, curl
+, dbus
+, libepoxy
+, fetchFromGitHub
+, freeglut
+, freetype
+, gtk3
+, lib
+, libGL
+, libXcursor
+, libXdmcp
+, libXext
+, libXinerama
+, libXrandr
+, libXtst
+, libdatrie
+, libjack2
+, libpsl
+, libselinux
+, libsepol
+, libsysprof-capture
+, libthai
+, libuuid
+, libxkbcommon
+, lv2
+, pcre
+, pcre2
+, pkg-config
+, python3
+, sqlite
+, gcc11Stdenv
+, webkitgtk
+}:
+let
+  # JUCE version in submodules is incompatible with GCC12
+  # See here: https://forum.juce.com/t/build-fails-on-fedora-wrong-c-version/50902/2
+  stdenv = gcc11Stdenv;
+in
 stdenv.mkDerivation rec {
   pname = "CHOWTapeModel";
-  version = "2.10.0";
+  version = "2.11.4";
 
   src = fetchFromGitHub {
     owner = "jatinchowdhury18";
     repo = "AnalogTapeModel";
     rev = "v${version}";
-    sha256 = "sha256-iuT7OBRBtMkjcTHayCcne1mNqkcxzKnEYl62n65V7Z4=";
+    sha256 = "sha256-WriHi68Y6hAsrwE+74JtVlAKUR9lfTczj6UK9h2FOGM=";
     fetchSubmodules = true;
   };
 
@@ -41,36 +76,51 @@ stdenv.mkDerivation rec {
     libsepol
     libsysprof-capture
     libthai
+    libuuid
     libxkbcommon
     lv2
     pcre
+    pcre2
     python3
     sqlite
-    gcc-unwrapped
+    webkitgtk
   ];
 
+  # Link-time-optimization fails without these
   cmakeFlags = [
-    "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
-    "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
-    "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
+    "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib"
+    "-DCMAKE_NM=${stdenv.cc.cc}/bin/gcc-nm"
   ];
 
+  cmakeBuildType = "Release";
+
   postPatch = "cd Plugin";
 
   installPhase = ''
-    mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin $out/share/doc/CHOWTapeModel/
-    cd CHOWTapeModel_artefacts/Release
-    cp libCHOWTapeModel_SharedCode.a  $out/lib
+    mkdir -p $out/lib/lv2 $out/lib/vst3 $out/lib/clap $out/bin $out/share/doc/CHOWTapeModel/
+    cd CHOWTapeModel_artefacts/${cmakeBuildType}
     cp -r LV2/CHOWTapeModel.lv2 $out/lib/lv2
     cp -r VST3/CHOWTapeModel.vst3 $out/lib/vst3
+    cp -r CLAP/CHOWTapeModel.clap $out/lib/clap
     cp Standalone/CHOWTapeModel  $out/bin
     cp ../../../../Manual/ChowTapeManual.pdf $out/share/doc/CHOWTapeModel/
   '';
 
+  # JUCE dlopens these, make sure they are in rpath
+  # Otherwise, segfault will happen
+  NIX_LDFLAGS = (toString [
+    "-lX11"
+    "-lXext"
+    "-lXcursor"
+    "-lXinerama"
+    "-lXrandr"
+  ]);
+
   meta = with lib; {
     homepage = "https://github.com/jatinchowdhury18/AnalogTapeModel";
     description =
-      "Physical modelling signal processing for analog tape recording. LV2, VST3 and standalone";
+      "Physical modelling signal processing for analog tape recording. LV2, VST3, CLAP, and standalone";
     license = with licenses; [ gpl3Only ];
     maintainers = with maintainers; [ magnetophon ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/alsa-scarlett-gui/default.nix b/pkgs/applications/audio/alsa-scarlett-gui/default.nix
index e74b660b1c541..de4f8b3db98a1 100644
--- a/pkgs/applications/audio/alsa-scarlett-gui/default.nix
+++ b/pkgs/applications/audio/alsa-scarlett-gui/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-scarlett-gui";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "geoffreybennett";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wzBOPTs8PTHzu5RpKwKhx552E7QnDx2Zn4OFaes8Q2I=";
+    sha256 = "sha256-lIwDNyzuvolDhTVCslCtUfbsC/TxKtxQF97h0zYxp9k=";
   };
 
   NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
index f2627d65ff561..2c08477d07a0e 100644
--- a/pkgs/applications/audio/deadbeef/default.nix
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -41,7 +41,7 @@ assert gtk2Support || gtk3Support;
 let
   inherit (lib) optionals;
 
-  version = "1.9.5";
+  version = "1.9.6";
 in clangStdenv.mkDerivation {
   pname = "deadbeef";
   inherit version;
@@ -51,7 +51,7 @@ in clangStdenv.mkDerivation {
     repo = "deadbeef";
     fetchSubmodules = true;
     rev = version;
-    hash = "sha256-dSSIaJxHYUVOmuJN2t5UZSC3ZP5732/qVXSZAuWYr0Q=";
+    hash = "sha256-Q6hL4fOFPHn26ZqvrebgTMTgQZrhbXCEhM4ZFzNeyJE=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/eartag/default.nix b/pkgs/applications/audio/eartag/default.nix
index f6ae96a5ec4a8..02c1b7e8bf221 100644
--- a/pkgs/applications/audio/eartag/default.nix
+++ b/pkgs/applications/audio/eartag/default.nix
@@ -10,6 +10,7 @@
 , glib
 , gobject-introspection
 , desktop-file-utils
+, appstream
 , appstream-glib
 , gtk4
 , librsvg
@@ -18,7 +19,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "eartag";
-  version = "0.4.3";
+  version = "0.5.1";
   format = "other";
 
   src = fetchFromGitLab {
@@ -26,7 +27,7 @@ python3Packages.buildPythonApplication rec {
     owner = "World";
     repo = pname;
     rev = version;
-    hash = "sha256-0nkaKLkUnJiNTs7/qe+c4Lkst/ItHD1RKAERCo2O2ms=";
+    hash = "sha256-tHBEz4sZsWOxDkdUd/3zMta8vOhuzv4G01dtjKBX/D0=";
   };
 
   postPatch = ''
@@ -41,6 +42,7 @@ python3Packages.buildPythonApplication rec {
     ninja
     glib
     desktop-file-utils
+    appstream
     appstream-glib
     pkg-config
     gettext
diff --git a/pkgs/applications/audio/gnome-podcasts/Cargo.lock b/pkgs/applications/audio/gnome-podcasts/Cargo.lock
index ee4b4ac20a830..622534ee0f83d 100644
--- a/pkgs/applications/audio/gnome-podcasts/Cargo.lock
+++ b/pkgs/applications/audio/gnome-podcasts/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "addr2line"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
 dependencies = [
  "memchr",
 ]
@@ -32,7 +32,7 @@ version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "64e6d1c7838db705c9b756557ee27c384ce695a1c51a6fe528784cb1c6840170"
 dependencies = [
- "html5ever 0.26.0",
+ "html5ever",
  "maplit",
  "once_cell",
  "tendril",
@@ -56,15 +56,15 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "atom_syndication"
-version = "0.12.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca96cb38e3d8236f1573a84bbc55e130bd1ae07df770e36d0cf221ea7a50e36c"
+checksum = "571832dcff775e26562e8e6930cd483de5587301d40d3a3b85d532b6383e15a7"
 dependencies = [
  "chrono",
  "derive_builder",
@@ -75,9 +75,9 @@ dependencies = [
 
 [[package]]
 name = "atomic_refcell"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31"
+checksum = "112ef6b3f6cb3cb6fc5b6b494ef7a848492cff1ab0ef4de10b0f7d572861c905"
 
 [[package]]
 name = "autocfg"
@@ -87,9 +87,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "backtrace"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
  "addr2line",
  "cc",
@@ -102,9 +102,9 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.21.2"
+version = "0.21.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
+checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53"
 
 [[package]]
 name = "bitflags"
@@ -114,9 +114,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.3.3"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
+name = "block"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
 
 [[package]]
 name = "bumpalo"
@@ -132,13 +138,13 @@ checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "cairo-rs"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a"
+checksum = "d859b656775a6b1dd078d3e5924884e6ea88aa649a7fdde03d5b2ec56ffcc10b"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "cairo-sys-rs",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "once_cell",
  "thiserror",
@@ -146,26 +152,29 @@ dependencies = [
 
 [[package]]
 name = "cairo-sys-rs"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1"
+checksum = "bd4d115132e01c0165e3bf5f56aedee8980b0b96ede4eb000b693c05a8adb8ff"
 dependencies = [
- "glib-sys 0.17.10",
+ "glib-sys 0.18.1",
  "libc",
  "system-deps",
 ]
 
 [[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-expr"
-version = "0.15.3"
+version = "0.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
+checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -179,9 +188,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.26"
+version = "0.4.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -189,7 +198,7 @@ dependencies = [
  "num-traits",
  "time 0.1.45",
  "wasm-bindgen",
- "winapi",
+ "windows-targets",
 ]
 
 [[package]]
@@ -209,59 +218,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
-dependencies = [
- "cfg-if",
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
-dependencies = [
- "autocfg",
- "cfg-if",
- "crossbeam-utils",
- "memoffset",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "ctor"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
-dependencies = [
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "darling"
 version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -307,6 +263,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "deranged"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+
+[[package]]
 name = "derive_builder"
 version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -339,27 +301,27 @@ dependencies = [
 
 [[package]]
 name = "diesel"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7a532c1f99a0f596f6960a60d1e119e91582b24b39e2d83a190e61262c3ef0c"
+checksum = "d98235fdc2f355d330a8244184ab6b4b33c28679c0b4158f63138e51d6cf7e88"
 dependencies = [
  "chrono",
  "diesel_derives",
  "libsqlite3-sys",
  "r2d2",
- "time 0.3.22",
+ "time 0.3.28",
 ]
 
 [[package]]
 name = "diesel_derives"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74398b79d81e52e130d991afeed9c86034bb1b7735f46d2f5bf7deb261d80303"
+checksum = "e054665eaf6d97d1e7125512bb2d35d07c73ac86cc6920174cb42d1ab697a554"
 dependencies = [
  "diesel_table_macro_syntax",
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -379,7 +341,7 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5"
 dependencies = [
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -399,15 +361,15 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.32"
+version = "0.8.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 dependencies = [
  "cfg-if",
 ]
@@ -427,15 +389,15 @@ dependencies = [
 
 [[package]]
 name = "equivalent"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
 dependencies = [
  "errno-dragonfly",
  "libc",
@@ -454,12 +416,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "1.9.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
 
 [[package]]
 name = "field-offset"
@@ -579,7 +538,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -614,58 +573,56 @@ dependencies = [
 
 [[package]]
 name = "gdk-pixbuf"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "695d6bc846438c5708b07007537b9274d883373dd30858ca881d7d71b5540717"
+checksum = "bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3"
 dependencies = [
- "bitflags 1.3.2",
  "gdk-pixbuf-sys",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "once_cell",
 ]
 
 [[package]]
 name = "gdk-pixbuf-sys"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9285ec3c113c66d7d0ab5676599176f1f42f4944ca1b581852215bf5694870cb"
+checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
 dependencies = [
  "gio-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "system-deps",
 ]
 
 [[package]]
 name = "gdk4"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff"
+checksum = "6982d9815ed6ac95b0467b189e81f29dea26d08a732926ec113e65744ed3f96c"
 dependencies = [
- "bitflags 1.3.2",
  "cairo-rs",
  "gdk-pixbuf",
  "gdk4-sys",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "pango",
 ]
 
 [[package]]
 name = "gdk4-sys"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64"
+checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
  "gio-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "pango-sys",
  "pkg-config",
@@ -674,17 +631,6 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
 version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
@@ -696,8 +642,9 @@ dependencies = [
 
 [[package]]
 name = "gettext-rs"
-version = "0.4.2"
-source = "git+https://github.com/danigm/gettext-rs?branch=no-gettext#61938b9f5f1d3bdc31f9839f53fabe5ccf136a78"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364"
 dependencies = [
  "gettext-sys",
  "locale_config",
@@ -705,31 +652,32 @@ dependencies = [
 
 [[package]]
 name = "gettext-sys"
-version = "0.19.9"
-source = "git+https://github.com/danigm/gettext-rs?branch=no-gettext#61938b9f5f1d3bdc31f9839f53fabe5ccf136a78"
+version = "0.21.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d"
 dependencies = [
  "cc",
+ "temp-dir",
 ]
 
 [[package]]
 name = "gimli"
-version = "0.27.3"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
 
 [[package]]
 name = "gio"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6973e92937cf98689b6a054a9e56c657ed4ff76de925e36fc331a15f0c5d30a"
+checksum = "7884cba6b1c5db1607d970cadf44b14a43913d42bc68766eea6a5e2fe0891524"
 dependencies = [
- "bitflags 1.3.2",
  "futures-channel",
  "futures-core",
  "futures-io",
  "futures-util",
  "gio-sys",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "once_cell",
  "pin-project-lite",
@@ -739,12 +687,12 @@ dependencies = [
 
 [[package]]
 name = "gio-sys"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ccf87c30a12c469b6d958950f6a9c09f2be20b7773f7e70d20b867fdf2628c3"
+checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "system-deps",
  "winapi",
@@ -772,20 +720,20 @@ dependencies = [
 
 [[package]]
 name = "glib"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3fad45ba8d4d2cea612b432717e834f48031cd8853c8aaf43b2c79fec8d144b"
+checksum = "331156127e8166dd815cf8d2db3a5beb492610c716c03ee6db4f2d07092af0a7"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "futures-channel",
  "futures-core",
  "futures-executor",
  "futures-task",
  "futures-util",
  "gio-sys",
- "glib-macros 0.17.10",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-macros 0.18.0",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "memchr",
  "once_cell",
@@ -810,17 +758,16 @@ dependencies = [
 
 [[package]]
 name = "glib-macros"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eca5c79337338391f1ab8058d6698125034ce8ef31b72a442437fa6c8580de26"
+checksum = "179643c50bf28d20d2f6eacd2531a88f2f5d9747dd0b86b8af1e8bb5dd0de3c0"
 dependencies = [
- "anyhow",
  "heck",
  "proc-macro-crate",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -835,9 +782,9 @@ dependencies = [
 
 [[package]]
 name = "glib-sys"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d80aa6ea7bba0baac79222204aa786a6293078c210abe69ef1336911d4bdc4f0"
+checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
 dependencies = [
  "libc",
  "system-deps",
@@ -862,33 +809,33 @@ dependencies = [
 
 [[package]]
 name = "gobject-sys"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd34c3317740a6358ec04572c1bcfd3ac0b5b6529275fae255b237b314bb8062"
+checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
 dependencies = [
- "glib-sys 0.17.10",
+ "glib-sys 0.18.1",
  "libc",
  "system-deps",
 ]
 
 [[package]]
 name = "graphene-rs"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "def4bb01265b59ed548b05455040d272d989b3012c42d4c1bbd39083cb9b40d9"
+checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401"
 dependencies = [
- "glib 0.17.10",
+ "glib 0.18.1",
  "graphene-sys",
  "libc",
 ]
 
 [[package]]
 name = "graphene-sys"
-version = "0.17.10"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1856fc817e6a6675e36cea0bd9a3afe296f5d9709d1e2d3182803ac77f0ab21d"
+checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59"
 dependencies = [
- "glib-sys 0.17.10",
+ "glib-sys 0.18.1",
  "libc",
  "pkg-config",
  "system-deps",
@@ -896,14 +843,13 @@ dependencies = [
 
 [[package]]
 name = "gsk4"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c"
+checksum = "cc25855255120f294d874acd6eaf4fbed7ce1cdc550e2d8415ea57fafbe816d5"
 dependencies = [
- "bitflags 1.3.2",
  "cairo-rs",
  "gdk4",
- "glib 0.17.10",
+ "glib 0.18.1",
  "graphene-rs",
  "gsk4-sys",
  "libc",
@@ -912,14 +858,14 @@ dependencies = [
 
 [[package]]
 name = "gsk4-sys"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0"
+checksum = "e1ecf3a63bf1223d68f80f72cc896c4d8c80482fbce1c9a12c66d3de7290ee46"
 dependencies = [
  "cairo-sys-rs",
  "gdk4-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "graphene-sys",
  "libc",
  "pango-sys",
@@ -928,22 +874,21 @@ dependencies = [
 
 [[package]]
 name = "gstreamer"
-version = "0.20.6"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3113531138b4e41968e33fd003a0d1a635ef6e0cbc309dd5004123000863ac54"
+checksum = "f8cdb86791dc39a5443f7d08cf3e7ae9c88a94991aba620d177cb5804838201f"
 dependencies = [
- "bitflags 1.3.2",
  "cfg-if",
  "futures-channel",
  "futures-core",
  "futures-util",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gstreamer-sys",
+ "itertools",
  "libc",
  "muldiv",
  "num-integer",
  "num-rational",
- "once_cell",
  "option-operations",
  "paste",
  "pretty-hex",
@@ -953,14 +898,13 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-base"
-version = "0.20.5"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8ff5dfbf7bcaf1466a385b836bad0d8da25759f121458727fdda1f771c69b3"
+checksum = "0fe38a6d5c1e516ce3fd6069e972a540d315448ed69fdadad739e6c6c6eb2a01"
 dependencies = [
  "atomic_refcell",
- "bitflags 1.3.2",
  "cfg-if",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gstreamer",
  "gstreamer-base-sys",
  "libc",
@@ -968,12 +912,12 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-base-sys"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26114ed96f6668380f5a1554128159e98e06c3a7a8460f216d7cd6dce28f928c"
+checksum = "88b9c029583ed61fa5258076a42df91732dc7f5582044ea7ee66a721641e6af4"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "gstreamer-sys",
  "libc",
  "system-deps",
@@ -981,27 +925,25 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-player"
-version = "0.20.5"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec5e04059f117b82ca64c40901610ca9ac1734383437c9fb69afba26c9ebf5a3"
+checksum = "e68dc9772932f6133a9517742918b13ab5414db1f47e19daebc3027a1c3d20d2"
 dependencies = [
- "bitflags 1.3.2",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gstreamer",
  "gstreamer-player-sys",
  "gstreamer-video",
  "libc",
- "once_cell",
 ]
 
 [[package]]
 name = "gstreamer-player-sys"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15321aaaf3bb247b4af3e09456a62dc17f030515d6328377a34081d9ed5803c0"
+checksum = "f5ef4d00b43d0aa94e9a518e6ef4a4c504b4b855304a0a5f4ed1493d5e5ca66c"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "gstreamer-sys",
  "gstreamer-video-sys",
  "libc",
@@ -1010,41 +952,39 @@ dependencies = [
 
 [[package]]
 name = "gstreamer-sys"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e56fe047adef7d47dbafa8bc1340fddb53c325e16574763063702fc94b5786d2"
+checksum = "a70e3a99118bcd1221f8a62d7a905bae5e5cc2cda678bb46bf3cd36e0f899d33"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "system-deps",
 ]
 
 [[package]]
 name = "gstreamer-video"
-version = "0.20.4"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dce97769effde2d779dc4f7037b37106457b74e53f2a711bddc90b30ffeb7e06"
+checksum = "0db8adfc000cd58f8ece0fe6b4beb79e19e4a6135cfb81138fdb016b603f7d60"
 dependencies = [
- "bitflags 1.3.2",
  "cfg-if",
  "futures-channel",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gstreamer",
  "gstreamer-base",
  "gstreamer-video-sys",
  "libc",
- "once_cell",
 ]
 
 [[package]]
 name = "gstreamer-video-sys"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66ddb6112d438aac0004d2db6053a572f92b1c5e0e9d6ff6c71d9245f7f73e46"
+checksum = "e0284250a09fa824b21df1a21967eef4a5d85b5e0c1e335ed2ba9b9be1424dae"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "gstreamer-base-sys",
  "gstreamer-sys",
  "libc",
@@ -1053,32 +993,30 @@ dependencies = [
 
 [[package]]
 name = "gtk4"
-version = "0.6.6"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b28a32a04cd75cef14a0983f8b0c669e0fe152a0a7725accdeb594e2c764c88b"
+checksum = "a3b095b26f2a2df70be1805d3590eeb9d7a05ecb5be9649b82defc72dc56228c"
 dependencies = [
- "bitflags 1.3.2",
  "cairo-rs",
  "field-offset",
  "futures-channel",
  "gdk-pixbuf",
  "gdk4",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "graphene-rs",
  "gsk4",
  "gtk4-macros",
  "gtk4-sys",
  "libc",
- "once_cell",
  "pango",
 ]
 
 [[package]]
 name = "gtk4-macros"
-version = "0.6.6"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a4d6b61570f76d3ee542d984da443b1cd69b6105264c61afec3abed08c2500f"
+checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f"
 dependencies = [
  "anyhow",
  "proc-macro-crate",
@@ -1090,16 +1028,16 @@ dependencies = [
 
 [[package]]
 name = "gtk4-sys"
-version = "0.6.3"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f"
+checksum = "7b0bdde87c50317b4f355bcbb4a9c2c414ece1b7c824fb4ad4ba8f3bdb2c6603"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
  "gdk4-sys",
  "gio-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "graphene-sys",
  "gsk4-sys",
  "libc",
@@ -1109,9 +1047,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.20"
+version = "0.3.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
+checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
 dependencies = [
  "bytes",
  "fnv",
@@ -1146,18 +1084,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-
-[[package]]
-name = "home"
-version = "0.5.5"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
-dependencies = [
- "windows-sys",
-]
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
 
 [[package]]
 name = "html2text"
@@ -1165,25 +1094,11 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "74cda84f06c1cc83476f79ae8e2e892b626bdadafcb227baec54c918cadc18a0"
 dependencies = [
- "html5ever 0.26.0",
- "markup5ever 0.11.0",
+ "html5ever",
+ "markup5ever",
  "tendril",
  "unicode-width",
- "xml5ever 0.17.0",
-]
-
-[[package]]
-name = "html5ever"
-version = "0.25.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
-dependencies = [
- "log",
- "mac",
- "markup5ever 0.10.1",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "xml5ever",
 ]
 
 [[package]]
@@ -1194,7 +1109,7 @@ checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7"
 dependencies = [
  "log",
  "mac",
- "markup5ever 0.11.0",
+ "markup5ever",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -1230,9 +1145,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "humansize"
@@ -1263,7 +1178,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
  "tokio",
  "tower-service",
  "tracing",
@@ -1343,26 +1258,6 @@ dependencies = [
 ]
 
 [[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",
-]
-
-[[package]]
 name = "ipnet"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1379,12 +1274,12 @@ dependencies = [
 
 [[package]]
 name = "is-terminal"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24fddda5af7e54bf7da53067d6e802dbcc381d0a8eef629df528e3ebf68755cb"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.2",
+ "rustix",
  "windows-sys",
 ]
 
@@ -1399,10 +1294,19 @@ dependencies = [
 ]
 
 [[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.8"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "js-sys"
@@ -1421,15 +1325,14 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libadwaita"
-version = "0.4.4"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ab9c0843f9f23ff25634df2743690c3a1faffe0a190e60c490878517eb81abf"
+checksum = "06444f4ca05a60693da6e9e2b591bd40a298e65a118a8d5e830771718b3e0253"
 dependencies = [
- "bitflags 1.3.2",
  "gdk-pixbuf",
  "gdk4",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "gtk4",
  "libadwaita-sys",
  "libc",
@@ -1438,14 +1341,14 @@ dependencies = [
 
 [[package]]
 name = "libadwaita-sys"
-version = "0.4.4"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4231cb2499a9f0c4cdfa4885414b33e39901ddcac61150bc0bb4ff8a57ede404"
+checksum = "021cfe3d1fcfa82411765a791f7e9b32f35dd98ce88d2e3fa10e7320f5cc8ce7"
 dependencies = [
  "gdk4-sys",
  "gio-sys",
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "gtk4-sys",
  "libc",
  "pango-sys",
@@ -1478,24 +1381,29 @@ dependencies = [
 ]
 
 [[package]]
-name = "linux-raw-sys"
-version = "0.3.8"
+name = "linkify"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "f1dfa36d52c581e9ec783a7ce2a5e0143da6237be5811a0b3153fedfdbe9f780"
+dependencies = [
+ "memchr",
+]
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
 
 [[package]]
 name = "locale_config"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73ac19ebe45489e5d53b4346d8b90bb3dd03275c5fdf2ce22a982516d86b535c"
+checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
 dependencies = [
  "lazy_static",
+ "objc",
+ "objc-foundation",
  "regex",
  "winapi",
 ]
@@ -1512,9 +1420,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"
@@ -1523,24 +1431,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
 
 [[package]]
-name = "maplit"
-version = "1.0.2"
+name = "malloc_buf"
+version = "0.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+dependencies = [
+ "libc",
+]
 
 [[package]]
-name = "markup5ever"
-version = "0.10.1"
+name = "maplit"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
-dependencies = [
- "log",
- "phf 0.8.0",
- "phf_codegen 0.8.0",
- "string_cache",
- "string_cache_codegen",
- "tendril",
-]
+checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
 
 [[package]]
 name = "markup5ever"
@@ -1549,8 +1452,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
 dependencies = [
  "log",
- "phf 0.10.1",
- "phf_codegen 0.10.0",
+ "phf",
+ "phf_codegen",
  "string_cache",
  "string_cache_codegen",
  "tendril",
@@ -1558,21 +1461,21 @@ dependencies = [
 
 [[package]]
 name = "markup5ever_rcdom"
-version = "0.1.0"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b"
+checksum = "b9521dd6750f8e80ee6c53d65e2e4656d7de37064f3a7a5d2d11d05df93839c2"
 dependencies = [
- "html5ever 0.25.2",
- "markup5ever 0.10.1",
+ "html5ever",
+ "markup5ever",
  "tendril",
- "xml5ever 0.16.2",
+ "xml5ever",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
 [[package]]
 name = "memoffset"
@@ -1709,9 +1612,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
 dependencies = [
  "autocfg",
 ]
@@ -1727,10 +1630,39 @@ dependencies = [
 ]
 
 [[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+dependencies = [
+ "malloc_buf",
+]
+
+[[package]]
+name = "objc-foundation"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
+dependencies = [
+ "block",
+ "objc",
+ "objc_id",
+]
+
+[[package]]
+name = "objc_id"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
+dependencies = [
+ "objc",
+]
+
+[[package]]
 name = "object"
-version = "0.31.1"
+version = "0.32.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
 dependencies = [
  "memchr",
 ]
@@ -1754,11 +1686,11 @@ dependencies = [
 
 [[package]]
 name = "openssl"
-version = "0.10.55"
+version = "0.10.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
+checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -1775,7 +1707,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1786,9 +1718,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.90"
+version = "0.9.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
+checksum = "db7e971c2c2bba161b2d2fdf37080177eff520b3bc044787c7f1f5f9e78d869b"
 dependencies = [
  "cc",
  "libc",
@@ -1806,23 +1738,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "output_vt100"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "pango"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35be456fc620e61f62dff7ff70fbd54dcbaf0a4b920c0f16de1107c47d921d48"
+checksum = "06a9e54b831d033206160096b825f2070cf5fda7e35167b1c01e9e774f9202d1"
 dependencies = [
- "bitflags 1.3.2",
  "gio",
- "glib 0.17.10",
+ "glib 0.18.1",
  "libc",
  "once_cell",
  "pango-sys",
@@ -1830,12 +1752,12 @@ dependencies = [
 
 [[package]]
 name = "pango-sys"
-version = "0.17.10"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3da69f9f3850b0d8990d462f8c709561975e95f689c1cdf0fecdebde78b35195"
+checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
 dependencies = [
- "glib-sys 0.17.10",
- "gobject-sys 0.17.10",
+ "glib-sys 0.18.1",
+ "gobject-sys 0.18.0",
  "libc",
  "system-deps",
 ]
@@ -1865,9 +1787,9 @@ dependencies = [
 
 [[package]]
 name = "paste"
-version = "1.0.13"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "pathdiff"
@@ -1883,30 +1805,11 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 
 [[package]]
 name = "phf"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
-dependencies = [
- "phf_shared 0.8.0",
-]
-
-[[package]]
-name = "phf"
 version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
 dependencies = [
- "phf_shared 0.10.0",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
-dependencies = [
- "phf_generator 0.8.0",
- "phf_shared 0.8.0",
+ "phf_shared",
 ]
 
 [[package]]
@@ -1915,18 +1818,8 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
 dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
-dependencies = [
- "phf_shared 0.8.0",
- "rand 0.7.3",
+ "phf_generator",
+ "phf_shared",
 ]
 
 [[package]]
@@ -1935,21 +1828,12 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
 dependencies = [
- "phf_shared 0.10.0",
+ "phf_shared",
  "rand 0.8.5",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "phf_shared"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
@@ -1959,9 +1843,9 @@ dependencies = [
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -1982,25 +1866,20 @@ dependencies = [
  "ammonia",
  "anyhow",
  "base64",
+ "bytes",
  "chrono",
- "crossbeam-channel",
  "derive_builder",
  "diesel",
  "diesel_migrations",
  "futures",
  "glob",
  "http",
- "hyper",
- "hyper-tls",
  "log",
  "maplit",
  "mime_guess",
- "native-tls",
- "num_cpus",
  "once_cell",
  "pretty_assertions",
  "rand 0.8.5",
- "rayon",
  "reqwest",
  "rfc822_sanitizer",
  "rss",
@@ -2018,7 +1897,6 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "chrono",
- "crossbeam-channel",
  "fragile",
  "gettext-rs",
  "glob",
@@ -2026,9 +1904,10 @@ dependencies = [
  "gstreamer-player",
  "gtk4",
  "html2text",
- "html5ever 0.25.2",
+ "html5ever",
  "humansize",
  "libadwaita",
+ "linkify",
  "log",
  "markup5ever_rcdom",
  "mpris-player",
@@ -2037,7 +1916,6 @@ dependencies = [
  "podcasts-data",
  "pretty_assertions",
  "pretty_env_logger",
- "rayon",
  "regex",
  "reqwest",
  "serde_json",
@@ -2065,13 +1943,11 @@ checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5"
 
 [[package]]
 name = "pretty_assertions"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755"
+checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
 dependencies = [
- "ctor",
  "diff",
- "output_vt100",
  "yansi",
 ]
 
@@ -2121,18 +1997,18 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.63"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quick-xml"
-version = "0.28.2"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
+checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
 dependencies = [
  "encoding_rs",
  "memchr",
@@ -2140,9 +2016,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.29"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -2173,41 +2049,17 @@ dependencies = [
 
 [[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_chacha",
  "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",
-]
-
-[[package]]
-name = "rand_chacha"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
@@ -2233,60 +2085,11 @@ checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
 
 [[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",
-]
-
-[[package]]
-name = "rand_core"
 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",
-]
-
-[[package]]
-name = "rayon"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
-dependencies = [
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-utils",
- "num_cpus",
+ "getrandom",
 ]
 
 [[package]]
@@ -2309,9 +2112,21 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2320,9 +2135,9 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
 name = "remove_dir_all"
@@ -2335,9 +2150,9 @@ dependencies = [
 
 [[package]]
 name = "reqwest"
-version = "0.11.18"
+version = "0.11.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
+checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
 dependencies = [
  "base64",
  "bytes",
@@ -2362,10 +2177,12 @@ dependencies = [
  "serde_urlencoded",
  "tokio",
  "tokio-native-tls",
+ "tokio-util",
  "tower-service",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
+ "wasm-streams",
  "web-sys",
  "winreg",
 ]
@@ -2383,9 +2200,9 @@ dependencies = [
 
 [[package]]
 name = "rss"
-version = "2.0.4"
+version = "2.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9acf62e0f3f4b52f61d3a12d6279e3f0b90d4811b0ae888eabdf61a2e7c03a95"
+checksum = "7e6c0ea0e621c2a3aa34850ebd711526f0ac7385921f57d2430a47cecc7b9cbc"
 dependencies = [
  "atom_syndication",
  "derive_builder",
@@ -2410,36 +2227,22 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8818fa822adcc98b18fedbb3632a6a33213c070556b5aa7c4c8cc21cff565c4c"
-dependencies = [
- "bitflags 1.3.2",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys 0.3.8",
- "windows-sys",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.2"
+version = "0.38.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aabcb0461ebd01d6b79945797c27f8529082226cb630a9865a71870ff63532a4"
+checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453"
 dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.0",
  "errno",
  "libc",
- "linux-raw-sys 0.4.3",
+ "linux-raw-sys",
  "windows-sys",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "schannel"
@@ -2461,15 +2264,15 @@ dependencies = [
 
 [[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 = "security-framework"
-version = "2.9.1"
+version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -2480,9 +2283,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -2490,35 +2293,35 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 
 [[package]]
 name = "serde"
-version = "1.0.166"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d01b7404f9d441d3ad40e6a636a7782c377d2abdbe4fa2440e2edcc2f4f10db8"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.166"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.99"
+version = "1.0.105"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3"
+checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
 dependencies = [
  "itoa",
  "ryu",
@@ -2548,24 +2351,24 @@ dependencies = [
 
 [[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.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
 name = "socket2"
@@ -2578,6 +2381,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "socket2"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
 name = "string_cache"
 version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2586,7 +2399,7 @@ dependencies = [
  "new_debug_unreachable",
  "once_cell",
  "parking_lot",
- "phf_shared 0.10.0",
+ "phf_shared",
  "precomputed-hash",
  "serde",
 ]
@@ -2597,8 +2410,8 @@ version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
 dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
+ "phf_generator",
+ "phf_shared",
  "proc-macro2",
  "quote",
 ]
@@ -2622,9 +2435,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.23"
+version = "2.0.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
+checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2646,9 +2459,15 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.8"
+version = "0.12.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+
+[[package]]
+name = "temp-dir"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1c7f239eb94671427157bd93b3694320f3668d4e1eff08c7285366fd777fac"
+checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
 
 [[package]]
 name = "tempdir"
@@ -2662,15 +2481,14 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.6.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 dependencies = [
- "autocfg",
  "cfg-if",
  "fastrand",
  "redox_syscall",
- "rustix 0.37.22",
+ "rustix",
  "windows-sys",
 ]
 
@@ -2696,22 +2514,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -2727,10 +2545,11 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.22"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd"
+checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48"
 dependencies = [
+ "deranged",
  "itoa",
  "serde",
  "time-core",
@@ -2745,9 +2564,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
 
 [[package]]
 name = "time-macros"
-version = "0.2.9"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
+checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572"
 dependencies = [
  "time-core",
 ]
@@ -2769,18 +2588,17 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.29.1"
+version = "1.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
 dependencies = [
- "autocfg",
  "backtrace",
  "bytes",
  "libc",
  "mio",
  "num_cpus",
  "pin-project-lite",
- "socket2",
+ "socket2 0.5.3",
  "tokio-macros",
  "windows-sys",
 ]
@@ -2793,7 +2611,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -2822,9 +2640,9 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.5"
+version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240"
+checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
 dependencies = [
  "serde",
  "serde_spanned",
@@ -2843,9 +2661,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.19.11"
+version = "0.19.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
 dependencies = [
  "indexmap 2.0.0",
  "serde",
@@ -2888,9 +2706,9 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "unicase"
-version = "2.6.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
 dependencies = [
  "version_check",
 ]
@@ -2903,9 +2721,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 
 [[package]]
 name = "unicode-normalization"
@@ -2924,9 +2742,9 @@ checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
 name = "url"
-version = "2.4.0"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -2968,12 +2786,6 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
 version = "0.10.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
@@ -3005,7 +2817,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
  "wasm-bindgen-shared",
 ]
 
@@ -3039,7 +2851,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.23",
+ "syn 2.0.31",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -3051,6 +2863,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
 
 [[package]]
+name = "wasm-streams"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+dependencies = [
+ "futures-util",
+ "js-sys",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
 name = "web-sys"
 version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3111,9 +2936,9 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
  "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
@@ -3126,90 +2951,76 @@ dependencies = [
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[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_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[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_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 = "winnow"
-version = "0.4.7"
+version = "0.5.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448"
+checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "winreg"
-version = "0.10.1"
+version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
 dependencies = [
- "winapi",
+ "cfg-if",
+ "windows-sys",
 ]
 
 [[package]]
 name = "xdg"
-version = "2.5.0"
+version = "2.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688597db5a750e9cad4511cb94729a078e274308099a0382b5b8203bbc767fee"
-dependencies = [
- "home",
-]
+checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
 
 [[package]]
 name = "xml-rs"
-version = "0.8.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a56c84a8ccd4258aed21c92f70c0f6dea75356b6892ae27c24139da456f9336"
-
-[[package]]
-name = "xml5ever"
-version = "0.16.2"
+version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9234163818fd8e2418fcde330655e757900d4236acd8cc70fef345ef91f6d865"
-dependencies = [
- "log",
- "mac",
- "markup5ever 0.10.1",
- "time 0.1.45",
-]
+checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1"
 
 [[package]]
 name = "xml5ever"
@@ -3219,7 +3030,7 @@ checksum = "4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650"
 dependencies = [
  "log",
  "mac",
- "markup5ever 0.11.0",
+ "markup5ever",
 ]
 
 [[package]]
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index 2cbdeaad8c7e2..1d94f2879e371 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -22,21 +22,18 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-podcasts";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "podcasts";
     rev = version;
-    hash = "sha256-jnuy2UUPklfOYObSJPSqNhqqrfUP7N80pPmnw0rlB9A=";
+    hash = "sha256-LPwCYgAFgUMFQZ0i4ldiuGYGMMWcMqYct3/o7eTIhmU=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
-    outputHashes = {
-      "gettext-rs-0.4.2" = "sha256-wyZ1bf0oFcQo8gEi2GEalRUoKMoJYHysu79qcfjd4Ng=";
-    };
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index 5dacefa2955c9..060f2244f2a93 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
   version = "3.9.4";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/kid3/${finalAttrs.version}/kid3-${finalAttrs.version}.tar.xz";
+    url = "mirror://kde/stable/kid3/${finalAttrs.version}/kid3-${finalAttrs.version}.tar.xz";
     hash = "sha256-xBCWDpYiXeChxIiMPqHG3CyiRau2kUdDJtzcPtvWpSA=";
   };
 
diff --git a/pkgs/applications/audio/spotify/linux.nix b/pkgs/applications/audio/spotify/linux.nix
index 16b3e7bdd5de4..5bbdde57a3240 100644
--- a/pkgs/applications/audio/spotify/linux.nix
+++ b/pkgs/applications/audio/spotify/linux.nix
@@ -14,14 +14,14 @@ let
   # If an update breaks things, one of those might have valuable info:
   # https://aur.archlinux.org/packages/spotify/
   # https://community.spotify.com/t5/Desktop-Linux
-  version = "1.2.22.982.g794acc0a";
+  version = "1.2.25.1011.g0348b2ea";
   # To get the latest stable revision:
   # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
   # To get general information:
   # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
   # More examples of api usage:
   # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
-  rev = "70";
+  rev = "73";
 
   deps = [
     alsa-lib
@@ -86,7 +86,7 @@ stdenv.mkDerivation {
   # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
-    hash = "sha512-oxDUZqyMLxCbUBb1A+BBznByQ1rZAJcEIkaSUQ93/k1DX3rTaBHzEXmBtJhmN6L8L3fw1pa9GvE7eDaD8+jeGg==";
+    hash = "sha512-93A+0YfP2/HnQOhSMw3UZ374bpS5ccQqb7a+e4RPSKvyT54wcI6hpmRn8CVo02oLo0yI2hho3Bu3ggsJLVgzbw==";
   };
 
   nativeBuildInputs = [ wrapGAppsHook makeShellWrapper squashfsTools ];
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index da97e45b63f6b..1980fae8e194e 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -22,14 +22,14 @@
 
 stdenv.mkDerivation rec {
   pname = "deja-dup";
-  version = "44.2";
+  version = "45.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "deja-dup";
     rev = version;
-    hash = "sha256-TnyH2tIvzG1B2hbDPyFyaTArfuMJaP6GKw6yahwsQ1Q=";
+    hash = "sha256-2vNAppy8fYYcxH3ci4B6bUIl2sO5NC6yA13y9iU4V/A=";
   };
 
   patches = [
diff --git a/pkgs/applications/backup/proxmox-backup-client/Cargo.lock b/pkgs/applications/backup/proxmox-backup-client/Cargo.lock
index 38d5f82f1c381..18d7726b3cb5c 100644
--- a/pkgs/applications/backup/proxmox-backup-client/Cargo.lock
+++ b/pkgs/applications/backup/proxmox-backup-client/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "addr2line"
-version = "0.19.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -18,41 +18,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
-name = "ahash"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
-
-[[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "autocfg"
@@ -62,15 +40,15 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "backtrace"
-version = "0.3.67"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
  "addr2line",
  "cc",
  "cfg-if",
  "libc",
- "miniz_oxide 0.6.2",
+ "miniz_oxide",
  "object",
  "rustc-demangle",
 ]
@@ -83,22 +61,22 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "bindgen"
-version = "0.64.0"
+version = "0.68.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
+checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.1",
  "cexpr",
  "clang-sys",
  "lazy_static",
  "lazycell",
  "peeking_take_while",
- "proc-macro2 1.0.63",
- "quote 1.0.29",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
  "regex",
  "rustc-hash",
  "shlex",
- "syn 1.0.109",
+ "syn 2.0.39",
  "which",
 ]
 
@@ -109,24 +87,31 @@ 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 = "bumpalo"
-version = "3.13.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[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 = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -198,9 +183,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "endian-type"
@@ -229,36 +214,31 @@ dependencies = [
 
 [[package]]
 name = "env_logger"
-version = "0.9.3"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
 dependencies = [
- "atty",
  "humantime",
+ "is-terminal",
  "log",
  "regex",
  "termcolor",
 ]
 
 [[package]]
-name = "errno"
-version = "0.3.1"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+name = "errno"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -273,35 +253,35 @@ dependencies = [
 
 [[package]]
 name = "fd-lock"
-version = "3.0.12"
+version = "3.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39ae6b3d9530211fb3b12a95374b8b0823be812f53d09e18c5675c0146b09642"
+checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5"
 dependencies = [
  "cfg-if",
  "rustix",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "filetime"
-version = "0.2.21"
+version = "0.2.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall",
- "windows-sys",
+ "redox_syscall 0.3.5",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "flate2"
-version = "1.0.26"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -327,18 +307,18 @@ 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",
 ]
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -351,9 +331,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -361,15 +341,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -378,38 +358,38 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -425,9 +405,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "libc",
@@ -436,9 +416,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.27.3"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "glob"
@@ -448,9 +428,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "h2"
-version = "0.3.20"
+version = "0.3.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
+checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
 dependencies = [
  "bytes",
  "fnv",
@@ -467,27 +447,15 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash",
-]
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 
 [[package]]
 name = "hex"
@@ -504,14 +472,14 @@ version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[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",
@@ -537,9 +505,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "humantime"
@@ -564,7 +532,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2",
+ "socket2 0.4.10",
  "tokio",
  "tower-service",
  "tracing",
@@ -573,9 +541,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",
@@ -583,45 +551,45 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
- "autocfg",
+ "equivalent",
  "hashbrown",
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.11"
+name = "is-terminal"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys",
+ "hermit-abi",
+ "rustix",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -640,9 +608,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "libloading"
@@ -655,6 +623,17 @@ dependencies = [
 ]
 
 [[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 0.4.1",
+]
+
+[[package]]
 name = "libudev-sys"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -666,21 +645,21 @@ dependencies = [
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
 
 [[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 = "memchr"
-version = "2.5.0"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memoffset"
@@ -708,15 +687,6 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "miniz_oxide"
 version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
@@ -726,13 +696,13 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.8"
+version = "0.8.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
 dependencies = [
  "libc",
  "wasi",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -750,7 +720,7 @@ version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cc",
  "cfg-if",
  "libc",
@@ -759,16 +729,15 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.26.2"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "libc",
  "memoffset 0.7.1",
  "pin-utils",
- "static_assertions",
 ]
 
 [[package]]
@@ -787,15 +756,15 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi",
  "libc",
 ]
 
 [[package]]
 name = "object"
-version = "0.30.4"
+version = "0.32.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
 dependencies = [
  "memchr",
 ]
@@ -808,11 +777,11 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "openssl"
-version = "0.10.55"
+version = "0.10.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
+checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.1",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -827,16 +796,16 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.90"
+version = "0.9.96"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
+checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
 dependencies = [
  "cc",
  "libc",
@@ -846,11 +815,9 @@ dependencies = [
 
 [[package]]
 name = "pathpatterns"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6e0644c02bcf32e41bcfd11d29d67c31480910717dc15ad59f968c736c0a99a"
+version = "0.3.0"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "libc",
 ]
 
@@ -876,14 +843,14 @@ dependencies = [
 
 [[package]]
 name = "pbs-buildcfg"
-version = "3.0.1"
+version = "3.1.2"
 
 [[package]]
 name = "pbs-client"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "bitflags",
+ "bitflags 1.3.2",
  "bytes",
  "futures",
  "h2",
@@ -893,7 +860,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "openssl",
  "pathpatterns",
  "pbs-api-types",
@@ -933,7 +900,7 @@ dependencies = [
  "hex",
  "lazy_static",
  "libc",
- "nix 0.26.2",
+ "nix 0.26.4",
  "once_cell",
  "openssl",
  "pbs-api-types",
@@ -962,7 +929,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "openssl",
  "pathpatterns",
  "pbs-api-types",
@@ -996,7 +963,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "proxmox-fuse",
  "proxmox-sys",
  "proxmox-time",
@@ -1009,7 +976,7 @@ name = "pbs-key-config"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "nix 0.26.2",
+ "nix 0.26.4",
  "openssl",
  "pbs-api-types",
  "pbs-tools",
@@ -1042,13 +1009,13 @@ name = "pbs-tape"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "bitflags",
+ "bitflags 1.3.2",
  "endian_trait",
  "hex",
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "pbs-api-types",
  "pbs-config",
  "proxmox-io",
@@ -1081,7 +1048,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "nom",
  "openssl",
  "pbs-api-types",
@@ -1108,15 +1075,15 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -1141,21 +1108,21 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.63"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "proxmox-api-macro"
-version = "1.0.4"
+version = "1.0.6"
 dependencies = [
  "anyhow",
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 1.0.109",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1173,7 +1140,7 @@ dependencies = [
 
 [[package]]
 name = "proxmox-auth-api"
-version = "0.3.0"
+version = "0.3.2"
 dependencies = [
  "anyhow",
  "lazy_static",
@@ -1185,14 +1152,14 @@ dependencies = [
 
 [[package]]
 name = "proxmox-backup"
-version = "3.0.1"
+version = "3.1.2"
 
 [[package]]
 name = "proxmox-backup-banner"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "nix 0.26.2",
+ "nix 0.26.4",
 ]
 
 [[package]]
@@ -1204,7 +1171,7 @@ dependencies = [
  "hyper",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "openssl",
  "pathpatterns",
  "pbs-api-types",
@@ -1290,10 +1257,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "proxmox-human-byte"
+name = "proxmox-http-error"
 version = "0.1.0"
 dependencies = [
  "anyhow",
+ "http",
+ "serde",
+]
+
+[[package]]
+name = "proxmox-human-byte"
+version = "0.1.2"
+dependencies = [
+ "anyhow",
  "proxmox-schema",
  "proxmox-serde",
  "serde",
@@ -1313,16 +1289,17 @@ version = "1.1.0"
 
 [[package]]
 name = "proxmox-router"
-version = "1.3.1"
+version = "2.1.1"
 dependencies = [
  "anyhow",
  "env_logger",
  "http",
  "hyper",
  "libc",
- "nix 0.26.2",
+ "nix 0.26.4",
  "percent-encoding",
  "proxmox-async",
+ "proxmox-http-error",
  "proxmox-lang",
  "proxmox-schema",
  "rustyline",
@@ -1334,7 +1311,7 @@ dependencies = [
 
 [[package]]
 name = "proxmox-schema"
-version = "1.3.7"
+version = "2.0.2"
 dependencies = [
  "anyhow",
  "lazy_static",
@@ -1347,7 +1324,7 @@ dependencies = [
 
 [[package]]
 name = "proxmox-section-config"
-version = "1.0.2"
+version = "2.0.0"
 dependencies = [
  "anyhow",
  "hex",
@@ -1374,29 +1351,29 @@ version = "0.3.0"
 dependencies = [
  "anyhow",
  "libc",
- "nix 0.26.2",
+ "nix 0.26.4",
  "proxmox-sys",
 ]
 
 [[package]]
 name = "proxmox-sortable-macro"
-version = "0.1.2"
+version = "0.1.3"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 1.0.109",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "proxmox-sys"
-version = "0.5.0"
+version = "0.5.2"
 dependencies = [
  "anyhow",
  "base64",
  "lazy_static",
  "libc",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "proxmox-io",
  "proxmox-lang",
  "proxmox-time",
@@ -1410,7 +1387,7 @@ name = "proxmox-time"
 version = "1.1.5"
 dependencies = [
  "anyhow",
- "bitflags",
+ "bitflags 1.3.2",
  "js-sys",
  "lazy_static",
  "libc",
@@ -1430,7 +1407,7 @@ dependencies = [
 name = "pxar"
 version = "0.10.2"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "endian_trait",
  "libc",
  "siphasher",
@@ -1444,7 +1421,7 @@ dependencies = [
  "anyhow",
  "futures",
  "log",
- "nix 0.26.2",
+ "nix 0.26.4",
  "pathpatterns",
  "pbs-client",
  "pbs-pxar-fuse",
@@ -1469,11 +1446,11 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.29"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
- "proc-macro2 1.0.63",
+ "proc-macro2 1.0.70",
 ]
 
 [[package]]
@@ -1488,29 +1465,50 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
+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"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1519,9 +1517,9 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rustc-demangle"
@@ -1537,16 +1535,15 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.37.20"
+version = "0.38.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0"
+checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.1",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1555,7 +1552,7 @@ version = "9.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "db7826789c0e25614b03e5a54a0717a86f9ff6e6e5247f92b369472869320039"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "clipboard-win",
  "dirs-next",
@@ -1575,9 +1572,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "same-file"
@@ -1590,35 +1587,35 @@ dependencies = [
 
 [[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 = "serde"
-version = "1.0.164"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.164"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.99"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
  "itoa",
  "ryu",
@@ -1627,18 +1624,18 @@ dependencies = [
 
 [[package]]
 name = "serde_plain"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6018081315db179d0ce57b1fe4b62a12a0028c9cf9bbef868c9cf477b3c34ae"
+checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "shlex"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
+checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
 
 [[package]]
 name = "signal-hook-registry"
@@ -1651,46 +1648,50 @@ dependencies = [
 
 [[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.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "smawk"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
+checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
 ]
 
 [[package]]
-name = "static_assertions"
-version = "1.1.0"
+name = "socket2"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
 
 [[package]]
 name = "str-buf"
@@ -1711,31 +1712,20 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.109"
+version = "2.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616"
-dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
  "unicode-ident",
 ]
 
 [[package]]
 name = "tar"
-version = "0.4.38"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
 dependencies = [
  "filetime",
  "libc",
@@ -1744,9 +1734,9 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.2.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
 dependencies = [
  "winapi-util",
 ]
@@ -1764,22 +1754,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1799,11 +1789,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.29.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374442f06ee49c3a28a8fc9f01a2596fed7559c6b99b31279c3261778e77d84f"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
 dependencies = [
- "autocfg",
  "backtrace",
  "bytes",
  "libc",
@@ -1811,20 +1800,20 @@ dependencies = [
  "num_cpus",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
  "tokio-macros",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
 ]
 
 [[package]]
@@ -1852,9 +1841,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.8"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
 dependencies = [
  "bytes",
  "futures-core",
@@ -1872,20 +1861,19 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "pin-project-lite",
  "tracing-core",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
@@ -1914,19 +1902,15 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[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-linebreak"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
-dependencies = [
- "hashbrown",
- "regex",
-]
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
 
 [[package]]
 name = "unicode-normalization"
@@ -1945,9 +1929,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "unicode-xid"
@@ -1957,9 +1941,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[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",
@@ -1979,16 +1963,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -2011,9 +1989,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2021,57 +1999,58 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
- "quote 1.0.29",
+ "quote 1.0.33",
  "wasm-bindgen-macro-support",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
- "proc-macro2 1.0.63",
- "quote 1.0.29",
- "syn 2.0.22",
+ "proc-macro2 1.0.70",
+ "quote 1.0.33",
+ "syn 2.0.39",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "which"
-version = "4.4.0"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
 dependencies = [
  "either",
- "libc",
+ "home",
  "once_cell",
+ "rustix",
 ]
 
 [[package]]
@@ -2092,9 +2071,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -2111,98 +2090,161 @@ 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.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.48.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
 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.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.0"
+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 = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+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.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+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.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 = "xattr"
-version = "0.2.3"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
+checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "xdg"
-version = "2.5.0"
+version = "2.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688597db5a750e9cad4511cb94729a078e274308099a0382b5b8203bbc767fee"
-dependencies = [
- "home",
-]
+checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
 
 [[package]]
 name = "zstd"
-version = "0.12.3+zstd.1.5.2"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806"
+checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
 dependencies = [
  "zstd-safe",
 ]
 
 [[package]]
 name = "zstd-safe"
-version = "6.0.5+zstd.1.5.4"
+version = "6.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b"
+checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
 dependencies = [
  "libc",
  "zstd-sys",
@@ -2210,24 +2252,31 @@ dependencies = [
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
+version = "2.0.9+zstd.1.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
 dependencies = [
  "bindgen",
  "cc",
- "libc",
  "pkg-config",
 ]
 
 [[patch.unused]]
+name = "proxmox-ldap"
+version = "0.2.1"
+
+[[patch.unused]]
+name = "proxmox-metrics"
+version = "0.3.0"
+
+[[patch.unused]]
 name = "proxmox-rest-server"
-version = "0.4.1"
+version = "0.5.1"
 
 [[patch.unused]]
 name = "proxmox-subscription"
-version = "0.4.0"
+version = "0.4.2"
 
 [[patch.unused]]
 name = "proxmox-tfa"
-version = "4.0.3"
+version = "4.1.0"
diff --git a/pkgs/applications/backup/proxmox-backup-client/default.nix b/pkgs/applications/backup/proxmox-backup-client/default.nix
index 8e6da71a1eadb..77b674d9a1d13 100644
--- a/pkgs/applications/backup/proxmox-backup-client/default.nix
+++ b/pkgs/applications/backup/proxmox-backup-client/default.nix
@@ -1,37 +1,39 @@
-{ lib,
-  fetchgit,
-  rustPlatform,
-  pkg-config,
-  openssl,
-  fuse3,
-  libuuid,
-  acl,
-  libxcrypt,
-  git,
-  installShellFiles,
-  sphinx,
-  stdenv,
-  fetchpatch,
-  testers,
-  proxmox-backup-client,
+{ lib
+, fetchgit
+, rustPlatform
+, pkg-config
+, openssl
+, fuse3
+, libuuid
+, acl
+, libxcrypt
+, git
+, installShellFiles
+, sphinx
+, stdenv
+, fetchpatch
+, testers
+, proxmox-backup-client
 }:
 
 let
   pname = "proxmox-backup-client";
-  version = "3.0.1";
+  version = "3.1.2";
 
   proxmox-backup_src = fetchgit {
     url = "git://git.proxmox.com/git/proxmox-backup.git";
     rev = "v${version}";
     name = "proxmox-backup";
-    hash = "sha256-a6dPBZBBh//iANXoPmOdgxYO0qNszOYI3QtrjQr4Cxc=";
+    hash = "sha256-G4wadZelQHlveVhuOpu0FjLvfegoimoxlw3Fe8DhsQA=";
   };
 
+  # Same revision as used in
+  # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=proxmox-backup-client
   proxmox_src = fetchgit {
     url = "git://git.proxmox.com/git/proxmox.git";
-    rev = "2a070da0651677411a245f1714895235b1caf584";
+    rev = "50b79198f83659e77b810fe0eedaa79b140744db";
     name = "proxmox";
-    hash = "sha256-WH6oW2MB2yN1Y2zqOuXewI9jHqev/xLcJtb7D1J4aUE=";
+    hash = "sha256-ffkOXGqe0xjvvhouzemcQ8qNdmJx70x10ny2uhYAYaI=";
   };
 
   proxmox-fuse_src = fetchgit {
@@ -43,16 +45,30 @@ let
 
   proxmox-pxar_src = fetchgit {
     url = "git://git.proxmox.com/git/pxar.git";
-    rev = "6ad046f9f92b40413f59cc5f4c23d2bafdf141f2";
+    rev = "fab647085426dc39c25c137575a3b8fc575c4b78";
     name = "pxar";
-    hash = "sha256-I9kk27oN9BDQpnLDWltjZMrh2yJitCpcD/XAhkmtJUg=";
+    hash = "sha256-tedQDQUFSGUZCChGcRRJsh7lIozfispLCLeX1OuUc4k=";
   };
+
+  proxmox-pathpatterns_src = fetchgit {
+    url = "git://git.proxmox.com/git/pathpatterns.git";
+    rev = "5f625aacbd6f81d97a1c6f5476fb38769d069f26"; # 0.3.0
+    name = "pathpatterns";
+    hash = "sha256-717XSlvQdvP0Q516fEx04rsrLCk3QI8frTD5NMmkSr4=";
+  };
+
 in
 
 rustPlatform.buildRustPackage {
   inherit pname version;
 
-  srcs = [ proxmox-backup_src proxmox_src proxmox-fuse_src proxmox-pxar_src ];
+  srcs = [
+    proxmox-backup_src
+    proxmox_src
+    proxmox-fuse_src
+    proxmox-pxar_src
+    proxmox-pathpatterns_src
+  ];
 
   sourceRoot = proxmox-backup_src.name;
 
@@ -64,15 +80,15 @@ rustPlatform.buildRustPackage {
     # works in combination with the other three repos being checked out.
     (fetchpatch {
       name = "0001-re-route-dependencies-not-available-on-crates.io-to-.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-re-route-dependencies-not-available-on-crates.io-to-.patch?h=proxmox-backup-client&id=83a1f4dfcb04bd181b11954b1d9f5ddfcb72b3d0";
-      hash = "sha256-2YZtjbpYSbRk6rmpjKJeIO+V0YN5PrKsISONXMj4RG0=";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-re-route-dependencies-not-available-on-crates.io-to-.patch?h=proxmox-backup-client&id=33ef762d3b3a8a0300117efada8d957f6d0cfa07";
+      hash = "sha256-hBct1NVFum7WG0sgdE7DdvjfnC6KPlLG9r4syxgYKWA=";
     })
     # This patch prevents the generation of the man-pages for other components inside the repo,
     # which would require them too be built too. Thus avoid wasting resources and just skip them.
     (fetchpatch {
       name = "0002-docs-drop-all-but-client-man-pages.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/0002-docs-drop-all-but-client-man-pages.patch?h=proxmox-backup-client&id=83a1f4dfcb04bd181b11954b1d9f5ddfcb72b3d0";
-      hash = "sha256-oJKQs4SwJvX5Zd0/l/vVr66aPO7Y4AC8byJHg9t1IhY=";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/0002-docs-drop-all-but-client-man-pages.patch?h=proxmox-backup-client&id=33ef762d3b3a8a0300117efada8d957f6d0cfa07";
+      hash = "sha256-DvWm18udvOpcma0V3JY06Lhn+h0BDPhNqrNOyrgpvWk=";
     })
     # `make docs` assumes that the binaries are located under `target/{debug,release}`, but due
     # to how `buildRustPackage` works, they get put under `target/$RUSTC_TARGET/{debug,release}`.
diff --git a/pkgs/applications/display-managers/greetd/gtkgreet.nix b/pkgs/applications/display-managers/greetd/gtkgreet.nix
index cc78e87584899..674257e8526e4 100644
--- a/pkgs/applications/display-managers/greetd/gtkgreet.nix
+++ b/pkgs/applications/display-managers/greetd/gtkgreet.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkgreet";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchFromSourcehut {
     owner = "~kennylevinsen";
     repo = pname;
     rev = version;
-    sha256 = "ms+2FdtzzNlmlzNxFhu4cpX5H+5H+9ZOtZ0p8uVA3lo=";
+    sha256 = "sha256-GKBYql0hzqB6uY87SsAqHwf3qLAr7xznMnAjRtP4HS8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/emacs/make-emacs.nix b/pkgs/applications/editors/emacs/make-emacs.nix
index 5625dfbb3aa9f..c48550f8680a3 100644
--- a/pkgs/applications/editors/emacs/make-emacs.nix
+++ b/pkgs/applications/editors/emacs/make-emacs.nix
@@ -329,15 +329,16 @@ mkDerivation (finalAttrs: {
     "--with-xml2=yes"
   ]
   ++ (lib.optional stdenv.isDarwin (lib.withFeature withNS "ns"))
-  ++ lib.optional (!withToolkitScrollBars) "--without-toolkit-scroll-bars"
-  ++ lib.optional withNativeCompilation "--with-native-compilation"
-  ++ lib.optional withImageMagick "--with-imagemagick"
-  ++ lib.optional withTreeSitter "--with-tree-sitter"
-  ++ lib.optional withXinput2 "--with-xinput2"
-  ++ lib.optional withXwidgets "--with-xwidgets"
-  ++ lib.optional withSmallJaDic "--with-small-ja-dic"
-  ++ lib.optional (!withCompressInstall) "--without-compress-install"
-  ;
+  ++ [
+    (lib.withFeature withCompressInstall "compress-install")
+    (lib.withFeature withToolkitScrollBars "toolkit-scroll-bars")
+    (lib.withFeature withNativeCompilation "native-compilation")
+    (lib.withFeature withImageMagick "imagemagick")
+    (lib.withFeature withSmallJaDic "small-ja-dic")
+    (lib.withFeature withTreeSitter "tree-sitter")
+    (lib.withFeature withXinput2 "xinput2")
+    (lib.withFeature withXwidgets "xwidgets")
+  ];
 
   env = lib.optionalAttrs withNativeCompilation {
     NATIVE_FULL_AOT = "1";
diff --git a/pkgs/applications/editors/greenfoot/default.nix b/pkgs/applications/editors/greenfoot/default.nix
index 6ca6f35246d3e..cc195fbeb1166 100644
--- a/pkgs/applications/editors/greenfoot/default.nix
+++ b/pkgs/applications/editors/greenfoot/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "greenfoot";
-  version = "3.8.1";
+  version = "3.8.2";
 
   src = fetchurl {
     # We use the deb here. First instinct might be to go for the "generic" JAR
     # download, but that is actually a graphical installer that is much harder
     # to unpack than the deb.
     url = "https://www.greenfoot.org/download/files/Greenfoot-linux-${builtins.replaceStrings ["."] [""] version}.deb";
-    sha256 = "sha256-utGSAbP74O1t1iEoN0CwiZVc8HxdCxhozPPMwQCtkEE=";
+    hash = "sha256-wpmgWtx2jTDjt+7p6HcjU/uy1PRmnAHpJ1rOYb+hV+U=";
   };
 
   nativeBuildInputs = [ dpkg wrapGAppsHook ];
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index a2d7f13338a96..2159a60c0323d 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "19";
+  version = "20";
   desktopItem = makeDesktopItem {
     name = "netbeans";
     exec = "netbeans";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetchurl {
     url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
-    hash = "sha256-jfcO3WMH0Ir1+VfpZhaRcykTIoTmxA5DK8ZO8orP1Jg=";
+    hash = "sha256-hseSusJiUqdnhIyOBtELProeMjrGdKa22h0VkbML80E=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 5eab8dba61762..fc08f823148ba 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -185,12 +185,12 @@ final: prev:
 
   LeaderF = buildVimPlugin {
     pname = "LeaderF";
-    version = "2023-11-30";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "001b12c022babbe433bc53f8ecdac1c202c57977";
-      sha256 = "0m722w9vzmxxn1km3czpj5n80cwdhviw0l7zjawgwa8ip8bd63kr";
+      rev = "ee827173e5a3977ef764302083a4df07b4568cf3";
+      sha256 = "1w7m48h27h5dk5swy8ibynl74f11xrv704cyafgdbg9a3w5qv15l";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPlugin {
     pname = "SchemaStore.nvim";
-    version = "2023-11-30";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "5bfeb36550018438c2c7ef58f91174f79d99a28a";
-      sha256 = "192rq8dzfckyz9vpvf489zbqxmd33r8mw6frdrm8fa9xq1q1i0ab";
+      rev = "c4f2d408542f07592a34c3a68171d36c612741b9";
+      sha256 = "0j1qng5sp5h9b478ajjx9fcx88k8sfj26s19lxi76g7a00yzm0b6";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -691,12 +691,12 @@ final: prev:
 
   asyncomplete-buffer-vim = buildVimPlugin {
     pname = "asyncomplete-buffer.vim";
-    version = "2020-06-26";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "asyncomplete-buffer.vim";
-      rev = "018bcf0f712ce0fde3f1f2eaabd7004fccb2d34a";
-      sha256 = "0ixc37gzgsf93sl52fa3ywz6bw7cn1406fgimmy5rz0d62b0y8yi";
+      rev = "a7afcf4f1f0ee8beaec4b3a20d814160ab097d8d";
+      sha256 = "0x9rr9v2b6zc2ch1v11vmqd65iyq33vi28f4s3xg1q7y5358ksd1";
     };
     meta.homepage = "https://github.com/prabirshrestha/asyncomplete-buffer.vim/";
   };
@@ -739,12 +739,12 @@ final: prev:
 
   asyncomplete-tags-vim = buildVimPlugin {
     pname = "asyncomplete-tags.vim";
-    version = "2021-04-29";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "asyncomplete-tags.vim";
-      rev = "041af0565f2c16634277cd29d2429c573af1dac4";
-      sha256 = "0i1ahg96j1ixyps0lfzl7w7skd64y6br1zn3bms447341zw4lc0k";
+      rev = "e458dc448b40d69eb1d4722fa30ce848521bd3d0";
+      sha256 = "1n74m1s0npnih1mdpxw1c0x7jhqkzrkncjb0zpa7r1ibl1ij0gwj";
     };
     meta.homepage = "https://github.com/prabirshrestha/asyncomplete-tags.vim/";
   };
@@ -2998,12 +2998,12 @@ final: prev:
 
   direnv-vim = buildVimPlugin {
     pname = "direnv.vim";
-    version = "2023-06-26";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "direnv";
       repo = "direnv.vim";
-      rev = "165031fa2c8dbb1e78dfd7054fe064ea926384cb";
-      sha256 = "0g8k839x7588azm29iacvvqlgvznfziw8gwcdc251q9ra3z59ynh";
+      rev = "ab2a7e08dd630060cd81d7946739ac7442a4f269";
+      sha256 = "1hhwfnaj9ibz17ggxvhzrkinghfy51fqfa0bs482z484jpvjc31g";
     };
     meta.homepage = "https://github.com/direnv/direnv.vim/";
   };
@@ -3058,12 +3058,12 @@ final: prev:
 
   dropbar-nvim = buildVimPlugin {
     pname = "dropbar.nvim";
-    version = "2023-11-25";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "Bekaboo";
       repo = "dropbar.nvim";
-      rev = "3b7978b382ef09ca84b4248f1033df4f346889f4";
-      sha256 = "1yf4jihacmblw8vynspv68d3iyb8ydp57qza6mff5x4xxcpbkfsr";
+      rev = "2b7c2d53363cb3d93376904dac3ea6d52dd900c5";
+      sha256 = "0kwsdil034a1cqy0ccyhy7hpzn4pnxcb0b4g0p3y09wk935mwdrk";
     };
     meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
   };
@@ -3118,12 +3118,12 @@ final: prev:
 
   editorconfig-vim = buildVimPlugin {
     pname = "editorconfig-vim";
-    version = "2023-11-26";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "7eec46701ec7a954a6cb0b0e348ad7c13a893425";
-      sha256 = "17jfdlik09nqma3kb12kx0y0svjndcc6ay4589k83zm2cy4wd0h9";
+      rev = "95cb75e21d11206dad4bd3895c99459bdaa13dd1";
+      sha256 = "19nqk6hw0w29a14dwykqpcfahcjnkyjafha01fa82i967hrg3dj6";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/editorconfig/editorconfig-vim/";
@@ -4084,20 +4084,20 @@ final: prev:
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "c5f2d71c32a4aa2569bef1066e668947b78f9682";
-      sha256 = "1jn3sj3r1mczg5wyh7qcs51mab8sz02sgff5d2p3qhz0gjvyq22m";
+      rev = "581da797f9d66485f841525af596255270c2bcf5";
+      sha256 = "1fnxjwsrsm0qdf9a20nfxy58dy1dv8l70w4ipqn4lh0hd36ziacr";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
 
   haskell-tools-nvim = buildNeovimPlugin {
     pname = "haskell-tools.nvim";
-    version = "2023-12-02";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "fdb248c2cc724b151b0886044b5fd8b88968d0d1";
-      sha256 = "0wj9aqihym10bmdybdmvlf8nlaghhfxl5z7gaamzbzlwhwlx71zy";
+      rev = "b345179204a3c4fd38b8d7699989d51d7d6febfe";
+      sha256 = "1yzcap9drf9nl2ygmwl8b8napfx8fkx4wmrrhazb1p25921srs0m";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -4391,12 +4391,12 @@ final: prev:
 
   inc-rename-nvim = buildVimPlugin {
     pname = "inc-rename.nvim";
-    version = "2023-11-26";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "smjonas";
       repo = "inc-rename.nvim";
-      rev = "14922a84777702244a499b43134b9d04e640cbcd";
-      sha256 = "161gh780mxm8vfvdbfxbbvww36byx4zxhw0simvx2cqfxfik3gi0";
+      rev = "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2";
+      sha256 = "08qwjv7dwgs03dvv7dxgm4hqrcsvvbn1r3f4xkj1g3ppr9pzqhva";
     };
     meta.homepage = "https://github.com/smjonas/inc-rename.nvim/";
   };
@@ -5327,12 +5327,12 @@ final: prev:
 
   luasnip = buildNeovimPlugin {
     pname = "luasnip";
-    version = "2023-12-01";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "118263867197a111717b5f13d954cd1ab8124387";
-      sha256 = "05gf35zb1m4baz3xiw8qh647l2w89861jljrhbbjnhnn48vfqgzw";
+      rev = "f03089854a8e15594a01562fa7192d0009a6fbe7";
+      sha256 = "1ghr6h14004gydf5gjxny4szb0v9brydv1j8rd3x1z87m0jp7hk6";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -6253,12 +6253,12 @@ final: prev:
 
   neotest-haskell = buildVimPlugin {
     pname = "neotest-haskell";
-    version = "2023-11-26";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "neotest-haskell";
-      rev = "c028b2c02d3ee749d8b485162ed2318cc241185f";
-      sha256 = "0w9xci72fdyya9lpsr159p4zyknscsxfjys5dr06s44ncj5mv12g";
+      rev = "51729f549b048890bb9d76b502c63a0a2ba29556";
+      sha256 = "0myx63bpb23wai2fc8zcjx9dsq8l1jysgp1al2wxgqmn8k3b26vl";
     };
     meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
   };
@@ -6337,12 +6337,12 @@ final: prev:
 
   neotest-rust = buildVimPlugin {
     pname = "neotest-rust";
-    version = "2023-11-21";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "rouge8";
       repo = "neotest-rust";
-      rev = "46428d9013023f516a61274a78b0cee87fb7e8bc";
-      sha256 = "0k6fqifyxa0m01jrxv9yxv6rzval36j1dps2awbccna0mxjjgjhp";
+      rev = "48c1e146ed0eb775fef6aca75903baf3cedadc01";
+      sha256 = "1dsxhs05qcrq8kwz9y34a3vx5mvpd2j4k40qj9lcnfz0y2171h2z";
     };
     meta.homepage = "https://github.com/rouge8/neotest-rust/";
   };
@@ -6373,12 +6373,12 @@ final: prev:
 
   neotest-vitest = buildVimPlugin {
     pname = "neotest-vitest";
-    version = "2023-06-23";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "marilari88";
       repo = "neotest-vitest";
-      rev = "41bf2f6b743f2ac5c5e9bd0949cee77ca7f2372c";
-      sha256 = "0bz6h0mh8cyjf2xdnykyiijwmw9vgwvlb9nfzzjvxba8nqzgb4rq";
+      rev = "15972c4791b3d47df82311047835803a072c1da6";
+      sha256 = "0l6x6b2flzr4591002srin58bls26gk58p3rqr8mjcjrm3znbsya";
     };
     meta.homepage = "https://github.com/marilari88/neotest-vitest/";
   };
@@ -6445,12 +6445,12 @@ final: prev:
 
   nerdtree = buildVimPlugin {
     pname = "nerdtree";
-    version = "2023-12-01";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdtree";
-      rev = "50a394b2bfa93674381cb913d6330e5075b5c787";
-      sha256 = "1p8qmnbi3l4y743db35sig5nxgqj83s20yyqhld9b5v0yr27rhbl";
+      rev = "9ec27d45a863aeb82fea56cebcb8a75a4e369fc9";
+      sha256 = "17j2q0vdplxz4qjkx140mgxjcj1dghzkz1ijb3vc3i2hl5qfmba1";
     };
     meta.homepage = "https://github.com/preservim/nerdtree/";
   };
@@ -6673,12 +6673,12 @@ final: prev:
 
   nui-nvim = buildNeovimPlugin {
     pname = "nui.nvim";
-    version = "2023-11-26";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "nui.nvim";
-      rev = "257dccc43b4badc735978f0791d216f7d665b75a";
-      sha256 = "144qi4wvbcycnypyvyc2kk9fadr1bsv7j3zx5h3s0sffy8x4lz0m";
+      rev = "1d044afde83e73c56de8e176615a4a6e7c8cf0e3";
+      sha256 = "08s5anr34vkc8zcac3v7f6rgyankcr0k34y8hkrmc554ak4f1cqq";
     };
     meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
   };
@@ -6925,12 +6925,12 @@ final: prev:
 
   nvim-coverage = buildVimPlugin {
     pname = "nvim-coverage";
-    version = "2023-10-25";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "andythigpen";
       repo = "nvim-coverage";
-      rev = "13e357d4a2a230070c64ede61252225f0b7d3b5e";
-      sha256 = "11pw7izbb9yim3vcijxljhp3l7z39ycscjgqrl5wxaj4j2jvaldw";
+      rev = "cf4b5c61dfac977026a51a2bcad9173c272986ce";
+      sha256 = "08lnmizw9jsncmqs1fl1ilmlh3gq0v0bdal1v30i7qhfigr5wsgc";
     };
     meta.homepage = "https://github.com/andythigpen/nvim-coverage/";
   };
@@ -6949,12 +6949,12 @@ final: prev:
 
   nvim-dap = buildVimPlugin {
     pname = "nvim-dap";
-    version = "2023-11-29";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "13ce59d4852be2bb3cd4967947985cb0ceaff460";
-      sha256 = "0xk8cqb4i5bq4bw5l3idgci8i5r5is4i7451rbxpnzxnb1xj0agf";
+      rev = "d7749eb3d9933a75d2244820308ce442f646c7ae";
+      sha256 = "0plpvvzbhvs9yhjb7413zcypzdmr9437vkn3mybnd93k8rfwsly9";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -7200,12 +7200,12 @@ final: prev:
 
   nvim-lint = buildVimPlugin {
     pname = "nvim-lint";
-    version = "2023-11-29";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "6f589cb93560581dc2a3b9693658afe865e5649e";
-      sha256 = "0zrqdcz604azwm7342vvqbdxvpqd40rr50qcfj1lfrlxxj46qgb1";
+      rev = "f20f35756e74b91c0b4340d01fee22422bdffefa";
+      sha256 = "1whq19qifw8w6bkm8sl80h0krjyrpsd9zyyq0skfl3bbsn31vlsv";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -7596,12 +7596,12 @@ final: prev:
 
   nvim-treesitter = buildVimPlugin {
     pname = "nvim-treesitter";
-    version = "2023-12-01";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "80a16deb5146a3eb4648effccda1ab9f45e43e76";
-      sha256 = "0mgm5b80flk5171b3b2gsy2pjdimc0xbjbsdg4qf9hgzjyxf9jmi";
+      rev = "0791b5ebb590a2d44e20640c52679df1fc42e8ab";
+      sha256 = "1a6sy62hwb1kclm6czbi1m9vv2xcp7pswgsafrxff96ahkqnbrrm";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -7727,12 +7727,12 @@ final: prev:
 
   nvim-ufo = buildVimPlugin {
     pname = "nvim-ufo";
-    version = "2023-12-01";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-ufo";
-      rev = "47a2f8d4da670db6e01a7373cdf97249e332d6d4";
-      sha256 = "0k2l5ls9fhc53a7fvyz8p75n0b3spy7s3j4z9l3ilzvhd6m7al6d";
+      rev = "9fa77fb7e4365a053a5303b773aaf5eaf806d1f4";
+      sha256 = "07idni9j2yzv5wxc1amg8w3sbrmn07kqsdm4wza5pz6j444fjksm";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-ufo/";
   };
@@ -8040,12 +8040,12 @@ final: prev:
 
   otter-nvim = buildVimPlugin {
     pname = "otter.nvim";
-    version = "2023-10-25";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "jmbuhr";
       repo = "otter.nvim";
-      rev = "b25537cc5c836f1a485176757da954b775a5b914";
-      sha256 = "0vccwqhhsr4qqwf9jkv0pv1s06qf3mxsgzn67lkwimjsg58ksz9p";
+      rev = "9a3db06bf3abadafb93279648317984ca789b888";
+      sha256 = "16pgvzb2xyak2zxmi0r65w979jzim4m595ag0lcsgr4wvm0vz8j2";
     };
     meta.homepage = "https://github.com/jmbuhr/otter.nvim/";
   };
@@ -8666,12 +8666,12 @@ final: prev:
 
   rest-nvim = buildNeovimPlugin {
     pname = "rest.nvim";
-    version = "2023-11-30";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "rest-nvim";
       repo = "rest.nvim";
-      rev = "45b52200b4a7712a68579d9d13945427e2764725";
-      sha256 = "0xn6yw5yiwj4fmq1yw0cc30g5qcn6sw3v7wps41h1dbrgickj9ld";
+      rev = "84e81a19ab24ccf05c9233d34d4dfce61c233abe";
+      sha256 = "1z6wkszd84xnqfhb1s59rggcipl9dmyxw21yrksg1q7hhcgq1abb";
     };
     meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
   };
@@ -8774,12 +8774,12 @@ final: prev:
 
   rustaceanvim = buildNeovimPlugin {
     pname = "rustaceanvim";
-    version = "2023-12-01";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "rustaceanvim";
-      rev = "3cad6912b16d5e0a5375d465ca28fda4c6ea4ee9";
-      sha256 = "12lzw6jh7z5bvd7ss9xils11paiv3b9by31nlxfarnpcvqf0m9l4";
+      rev = "7c1089ad1e35198911992c09cfd24dc15a225985";
+      sha256 = "1lillfkjq0jhq7d5w12brj4x8l88vj168ypihjigngm4gabwrr8f";
     };
     meta.homepage = "https://github.com/mrcjkb/rustaceanvim/";
   };
@@ -8875,7 +8875,7 @@ final: prev:
       owner = "VonHeikemen";
       repo = "searchbox.nvim";
       rev = "110949af8963185b4e732b45ae57beb731bfcede";
-      sha256 = "sha256-Bx4Msp96hlcYVDvDC3gBv78zmde0T5XacxgiZt+LULU=";
+      sha256 = "1dahiggnc8hqfgd9akxlsyck7gxz05w0phrvahc5g1kskyr0q7h7";
     };
     meta.homepage = "https://github.com/VonHeikemen/searchbox.nvim/";
   };
@@ -9015,12 +9015,12 @@ final: prev:
 
   smart-splits-nvim = buildVimPlugin {
     pname = "smart-splits.nvim";
-    version = "2023-10-17";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "smart-splits.nvim";
-      rev = "c8a9173d70cbbd1f6e4a414e49e31df2b32a1362";
-      sha256 = "0hxy3fv6qp7shwh9wgf20q5i8ba2pzng2dd1dvw27aabibk43ba3";
+      rev = "c970c7a3cc7ba635fd73d43c81b40f04c00f5058";
+      sha256 = "0ri4b6q4qqy1cwyhknysnldbrg2yx4cfi2ddgvnn6snq8jhkmjbw";
     };
     meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/";
   };
@@ -9727,24 +9727,24 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPlugin {
     pname = "telescope-file-browser.nvim";
-    version = "2023-11-25";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "d7c453396a043c265bef1227920628e7b811ff30";
-      sha256 = "1sws2d7gh37ra86nk1pn2j0sgqc7nlaiaqg0z34vxv1qrc1wc33q";
+      rev = "98101b22402cd6d1c7e9a7e0c4718bfc98cb1625";
+      sha256 = "13bnzdsmahk8phcxzm8d343mzmbxahrr34fkn8ylxy1shxbw6mw6";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
 
   telescope-frecency-nvim = buildVimPlugin {
     pname = "telescope-frecency.nvim";
-    version = "2023-11-24";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-frecency.nvim";
-      rev = "ca5fa5326fc2b2ebd3269176594c4341ad720ac5";
-      sha256 = "16pqbn4i23j3ynzii5cszfqwrbz54cd8d99hqkqamvsm36q9m5b7";
+      rev = "de410701811f4142315ce89183256a969a08ff9d";
+      sha256 = "1wcbkqlwy6k8jsz0sqk0mqhlm6d0j8l3rdxw8vlwby00fbscs0is";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
   };
@@ -9969,12 +9969,12 @@ final: prev:
 
   telescope-nvim = buildNeovimPlugin {
     pname = "telescope.nvim";
-    version = "2023-11-27";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "84c5a71d825b6687a55aed6f41e98b92fd8e5454";
-      sha256 = "0a0kj9ixsqny8jxfialq4wxxg7rgl97cgp1cgv5n0lnyw3xkbgbi";
+      rev = "3f5f165447d797576206e3b9bd555ea8db85b6f2";
+      sha256 = "0y9b69cah627dd3298gyizim8qfgq3wp9ajlz1pah0m43xcylkfm";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -10017,12 +10017,12 @@ final: prev:
 
   term-edit-nvim = buildVimPlugin {
     pname = "term-edit.nvim";
-    version = "2023-11-12";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "chomosuke";
       repo = "term-edit.nvim";
-      rev = "aa3369a562b816ff0cec4fa6eddc9c32ac472710";
-      sha256 = "07fd9xqg2ykqnsqb9w6jqypzzl8klih5d67gi42jdawj3n4ijvcs";
+      rev = "e04f69d5828c6e6a4d81c34f75f18762fad50372";
+      sha256 = "1kh70ivd6p9f3xsf09iwyy94gvkzprv08ln52sh44n90s1yr4ql4";
     };
     meta.homepage = "https://github.com/chomosuke/term-edit.nvim/";
   };
@@ -10077,12 +10077,12 @@ final: prev:
 
   text-case-nvim = buildVimPlugin {
     pname = "text-case.nvim";
-    version = "2023-12-01";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "johmsalas";
       repo = "text-case.nvim";
-      rev = "8f22e5fcbb8d591e04fa3e9780e2e16809278f9f";
-      sha256 = "0gpmfvj26kcm8ii9fhjgpwh5c571hy7xb253qq1vaak9cxa9m9yh";
+      rev = "ebe3650101a3505044559f71ec4ea4c789292164";
+      sha256 = "01lqj5x0976lpik80i7riy5r8q498ki1nkkmc716xgnbl7021b0g";
     };
     meta.homepage = "https://github.com/johmsalas/text-case.nvim/";
   };
@@ -12888,12 +12888,12 @@ final: prev:
 
   vim-just = buildVimPlugin {
     pname = "vim-just";
-    version = "2023-12-01";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "NoahTheDuke";
       repo = "vim-just";
-      rev = "90e299ec91fa8ff88f73150f824f77f86b0f867e";
-      sha256 = "03kk30lskwhq5d1jmyhfws74l0iayrvsk7v0ki93k099k1fv5n7m";
+      rev = "4e3c322be764cde80eab73c8e03c7ac410eb0e19";
+      sha256 = "0ypbbk72h5l9j89i2hsjkcr95is1jd9gsnhchqw6zy8ip7qqa6sb";
     };
     meta.homepage = "https://github.com/NoahTheDuke/vim-just/";
   };
@@ -12924,12 +12924,12 @@ final: prev:
 
   vim-lastplace = buildVimPlugin {
     pname = "vim-lastplace";
-    version = "2023-08-24";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "farmergreg";
       repo = "vim-lastplace";
-      rev = "bb3191b134ade9d1f01014e17c3df91e8911dd5c";
-      sha256 = "0sv05v6q1lkc4xklqly0hf2p4w4schan3gvcf1s6493697hvcc4h";
+      rev = "aaaf3dc8bbe496c3242a4b4635154ccc9414d357";
+      sha256 = "0wz59f6hmkdnv8hfgws20z0qrlpvfkxmdx4943fm1i3hmcdhyi1g";
     };
     meta.homepage = "https://github.com/farmergreg/vim-lastplace/";
   };
@@ -14461,12 +14461,12 @@ final: prev:
 
   vim-slime = buildVimPlugin {
     pname = "vim-slime";
-    version = "2023-11-04";
+    version = "2023-12-02";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "ce6ffa7d5f3d5faf739c07c0409b5e2035c279cc";
-      sha256 = "04w9ybcfc4cyb5ipp8ccpr35r4ja45xasgn149bkqxv747j9hvhp";
+      rev = "a532203bcd7af7f5e571c07b60bba7287076dc19";
+      sha256 = "0jfzah18mzh0iszi6k86k4y571j6jjhg3cyy9ivxcybacppaf2id";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -15591,12 +15591,12 @@ final: prev:
 
   vimtex = buildVimPlugin {
     pname = "vimtex";
-    version = "2023-11-30";
+    version = "2023-12-03";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "941485f8b046ac00763dad2546f0701e85e5e02c";
-      sha256 = "0yxr0k9nflczrgdk1k9dybic4v1yg6pxrnnyg2nnwy14n54z7f2x";
+      rev = "911987d8d65ade51311d512ac98cf39f89a309ea";
+      sha256 = "025qbjs685s0yf9vddwyxz0vc2h1j33mj5s7w2xm8f10a8j5skfz";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -15877,6 +15877,18 @@ final: prev:
     meta.homepage = "https://github.com/tweekmonster/wstrip.vim/";
   };
 
+  wtf-nvim = buildVimPlugin {
+    pname = "wtf.nvim";
+    version = "2023-11-11";
+    src = fetchFromGitHub {
+      owner = "piersolenski";
+      repo = "wtf.nvim";
+      rev = "03775272c9ba88cbaae1d1802078a3f751969350";
+      sha256 = "04xknhrmjvywdxfmng35i8cibxkcdjmz4wz1nmsr3gc09rddfrr3";
+    };
+    meta.homepage = "https://github.com/piersolenski/wtf.nvim/";
+  };
+
   xptemplate = buildVimPlugin {
     pname = "xptemplate";
     version = "2022-09-08";
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index 60395d8b3020f..f2122db806eb1 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -506,12 +506,12 @@
   };
   elm = buildGrammar {
     language = "elm";
-    version = "0.0.0+rev=debe14f";
+    version = "0.0.0+rev=0ae8d47";
     src = fetchFromGitHub {
       owner = "elm-tooling";
       repo = "tree-sitter-elm";
-      rev = "debe14fad40a8100c679d95c66f599b48111742c";
-      hash = "sha256-tB03/AqoYIMyWFGv3nKlGY/EjNV1/IQyXQsC+0M51V8=";
+      rev = "0ae8d475281a25e9d7ab1068a952ff9a1615c0df";
+      hash = "sha256-MCvzk5sJiA/JgQqI6fyVnjy5mA7bwmZvzWwdKS0PDQc=";
     };
     meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
   };
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index ce74644b951ea..0b1832494c2df 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -1637,6 +1637,10 @@ self: super: {
     dependencies = with self; [ vimwiki fzf-vim ];
   };
 
+  wtf-nvim = super.wtf-nvim.overrideAttrs {
+    dependencies = with self; [ nui-nvim ];
+  };
+
   YankRing-vim = super.YankRing-vim.overrideAttrs {
     sourceRoot = ".";
   };
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 7c8ce89726560..cc57f5408dbf4 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -1336,6 +1336,7 @@ https://github.com/vim-scripts/wombat256.vim/,,
 https://github.com/lukaszkorecki/workflowish/,,
 https://github.com/andrewferrier/wrapping.nvim/,HEAD,
 https://github.com/tweekmonster/wstrip.vim/,,
+https://github.com/piersolenski/wtf.nvim/,HEAD,
 https://github.com/drmingdrmer/xptemplate/,,
 https://github.com/guns/xterm-color-table.vim/,,
 https://github.com/HerringtonDarkholme/yats.vim/,,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 1b804de2b3049..a1eb75f8de820 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -906,8 +906,8 @@ let
         mktplcRef = {
           name = "vscode-markdownlint";
           publisher = "DavidAnson";
-          version = "0.52.0";
-          sha256 = "sha256-Y8qkcNEvJ/yzT8PDeErRzKGxYBNKKfbNNsJVaFDeIV4=";
+          version = "0.53.0";
+          sha256 = "sha256-ApCX636M51zN9obFqrUHmaJB3YoFmJPQfjKEWf9bosk=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
@@ -1234,8 +1234,8 @@ let
         mktplcRef = {
           name = "elixir-ls";
           publisher = "JakeBecker";
-          version = "0.17.5";
-          sha256 = "sha256-2iOyLNLMQ6Snm0gvv7Yl6von/A9UTfLYrH5l1PoJwUc=";
+          version = "0.17.10";
+          sha256 = "sha256-4/B70DyNlImz60PSTSL5CKihlOJen/tR1/dXGc3s1ZY=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
index c994e53f37ef2..3b2ab09d1b534 100644
--- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
@@ -5,7 +5,7 @@ assert lib.versionAtLeast python3.version "3.5";
 let
   publisher = "vadimcn";
   pname = "vscode-lldb";
-  version = "1.9.2";
+  version = "1.10.0";
 
   vscodeExtUniqueId = "${publisher}.${pname}";
   vscodeExtPublisher = publisher;
@@ -15,7 +15,7 @@ let
     owner = "vadimcn";
     repo = "vscode-lldb";
     rev = "v${version}";
-    hash = "sha256-6QmYRlSv8jY3OE3RcYuZt+c3z6GhFc8ESETVfCfF5RI=";
+    hash = "sha256-ExSS5HxDmJJtYypRYJNz7nY0D50gjoDBc4CnJMfgVw8=";
   };
 
   # need to build a custom version of lldb and llvm for enhanced rust support
@@ -25,7 +25,7 @@ let
     pname = "${pname}-adapter";
     inherit version src;
 
-    cargoHash = "sha256-Qq2igtH1XIB+NAEES6hdNZcMbEmaFN69qIJ+gTYupvQ=";
+    cargoHash = "sha256-e/Jki/4pCs0qzaBVR4iiUhdBFmWlTZYREQkuFSoWYFo=";
 
     nativeBuildInputs = [ makeWrapper ];
 
@@ -84,6 +84,12 @@ in stdenv.mkDerivation {
 
   patches = [ ./cmake-build-extension-only.patch ];
 
+  postPatch = ''
+    # temporary patch for forgotten version updates
+    substituteInPlace CMakeLists.txt \
+      --replace "1.9.2" ${version}
+  '';
+
   postConfigure = ''
     cp -r ${nodeDeps}/lib/node_modules .
   '';
diff --git a/pkgs/applications/emulators/dosbox-x/default.nix b/pkgs/applications/emulators/dosbox-x/default.nix
index 3c0805e270b46..f26a128842221 100644
--- a/pkgs/applications/emulators/dosbox-x/default.nix
+++ b/pkgs/applications/emulators/dosbox-x/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , alsa-lib
 , AudioUnit
 , autoreconfHook
@@ -36,6 +37,21 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-YNYtYqcpTOx4xS/LXI53h3S+na8JVpn4w8Dhf4fWNBQ=";
   };
 
+  patches = [
+    # 2 patches which fix stack smashing when launching Windows 3.0
+    # Remove when version > 2023.10.06
+    (fetchpatch {
+      name = "0001-dosbox-x-Attempt-to-fix-graphical-palette-issues-added-by-TTF-fix.patch";
+      url = "https://github.com/joncampbell123/dosbox-x/commit/40bf135f70376b5c3944fe2e972bdb7143439bcc.patch";
+      hash = "sha256-9whtqBkivYVYaPObyTODtwcfjaoK+rLqhCNZ7zVoiGI=";
+    })
+    (fetchpatch {
+      name = "0002-dosbox-x-Fix-Sid-Meiers-Civ-crash.patch";
+      url = "https://github.com/joncampbell123/dosbox-x/compare/cdcfb554999572e758b81edf85a007d398626b78..ac91760d9353c301e1da382f93e596238cf6d336.patch";
+      hash = "sha256-G7HbUhYEi6JJklN1z3JiOTnWLuWb27bMDyB/iGwywuY=";
+    })
+  ];
+
   strictDeps = true;
 
   nativeBuildInputs = [
@@ -66,6 +82,9 @@ stdenv.mkDerivation (finalAttrs: {
     Cocoa
   ];
 
+  # Tests for SDL_net.h for modem & IPX support, not automatically picked up due to being in SDL2 subdirectory
+  env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL2_net}/include/SDL2";
+
   configureFlags = [ "--enable-sdl2" ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/emulators/dosbox/default.nix b/pkgs/applications/emulators/dosbox/default.nix
index d0c9d8450e2b4..f17d3a783ba9d 100644
--- a/pkgs/applications/emulators/dosbox/default.nix
+++ b/pkgs/applications/emulators/dosbox/default.nix
@@ -50,6 +50,9 @@ stdenv.mkDerivation rec {
     libGLU
   ]);
 
+  # Tests for SDL_net.h for modem & IPX support, not automatically picked up due to being in SDL subdirectory
+  env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL_net}/include/SDL";
+
   hardeningDisable = [ "format" ];
 
   configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
diff --git a/pkgs/applications/emulators/yuzu/sources.nix b/pkgs/applications/emulators/yuzu/sources.nix
index 24997cbdcdc40..640bbcd50acd1 100644
--- a/pkgs/applications/emulators/yuzu/sources.nix
+++ b/pkgs/applications/emulators/yuzu/sources.nix
@@ -1,19 +1,19 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2023-11-05
+# Last updated: 2023-12-02
 {
   compatList = {
-    rev = "e9c4e5da6e5e88e889c87582dfd826d204ca8782";
+    rev = "3447075b5b565adcef1de0b47dd32c33f3c52e75";
     hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
   };
 
   mainline = {
-    version = "1611";
-    hash = "sha256:18rrw63j2zjwakbn99wbzprb1rpmlznl6gb09ay9sq8brxy7zjsv";
+    version = "1639";
+    hash = "sha256:10wj8yrk4q3sq0fqj6qqd45sjsv0ch3ldbxayirzv002lqb62jcy";
   };
 
   ea = {
-    version = "3966";
-    distHash = "sha256:1p60455s0h3dwigxm2lxdfgxgv4l2ibwybisja1khcy4i8lgss03";
-    fullHash = "sha256:1jq2bfbv9a6i3dlqsdgmi87rccvks45iyybxwf8p6rxdjqh4bvl2";
+    version = "4003";
+    distHash = "sha256:1sr79h3v2nlkr114d14bry5bkgniw1kqq2bxjlzr5x9hlvavz710";
+    fullHash = "sha256:0kx8f8h6l86prxm0v3fxmff43d6swmcrvzy5vg54b55zvqm1byr1";
   };
 }
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index ff6d8384195a7..c8d1fea0b78cc 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -1,7 +1,7 @@
-{ callPackage, ... } @ args:
+{ callPackage, ... }:
 
-callPackage ./generic.nix (args // {
+callPackage ./generic.nix {
   version = "5.2.0";
   kde-channel = "stable";
   hash = "sha256-02oZc4pZw2dQucx1IuPJslWQGjOqwGmgeDgnUIqKkpc=";
-})
+}
diff --git a/pkgs/applications/graphics/krita/generic.nix b/pkgs/applications/graphics/krita/generic.nix
index 195c96fe8ccf3..6846997a05df8 100644
--- a/pkgs/applications/graphics/krita/generic.nix
+++ b/pkgs/applications/graphics/krita/generic.nix
@@ -10,7 +10,6 @@
 , version
 , kde-channel
 , hash
-, callPackage
 }:
 
 mkDerivation rec {
@@ -18,7 +17,7 @@ mkDerivation rec {
   inherit version;
 
   src = fetchurl {
-    url = "https://download.kde.org/${kde-channel}/${pname}/${version}/${pname}-${version}.tar.gz";
+    url = "mirror://kde/${kde-channel}/krita/${version}/krita-${version}.tar.gz";
     inherit hash;
   };
 
diff --git a/pkgs/applications/graphics/smartdeblur/default.nix b/pkgs/applications/graphics/smartdeblur/default.nix
index 00d41bf9b293e..51c0f306f92d1 100644
--- a/pkgs/applications/graphics/smartdeblur/default.nix
+++ b/pkgs/applications/graphics/smartdeblur/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, fftw
+{ stdenv, lib, fetchFromGitHub, fftw
 , qtbase, qmake, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/misc/clipcat/default.nix b/pkgs/applications/misc/clipcat/default.nix
index bec10a5a55e4c..c7f5c265127f1 100644
--- a/pkgs/applications/misc/clipcat/default.nix
+++ b/pkgs/applications/misc/clipcat/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "clipcat";
-  version = "0.9.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "xrelkd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-P/8C+Gfmcuy7DGbH8+y6ZYlRrmV5t9U/uiykZ4bERSU=";
+    hash = "sha256-6L6u8inHkiEz7lp3T0a237z3JQwGDWKXtTBVNIKct64=";
   };
 
-  cargoHash = "sha256-r2J5ysvLl7hKXfW+BIF15vBygUkuwNj222P1AckUu0E=";
+  cargoHash = "sha256-uzIqIGjCZEmChM3uVAnAp7eTIznTLXW/4t+NVoryjtk=";
 
   nativeBuildInputs = [
     protobuf
diff --git a/pkgs/applications/misc/collision/default.nix b/pkgs/applications/misc/collision/default.nix
index a77d0b34a75ee..f550e48ba954d 100644
--- a/pkgs/applications/misc/collision/default.nix
+++ b/pkgs/applications/misc/collision/default.nix
@@ -13,16 +13,16 @@
 }:
 crystal.buildCrystalPackage rec {
   pname = "Collision";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "GeopJr";
     repo = "Collision";
     rev = "v${version}";
-    hash = "sha256-YNMtiMSzDqBlJJTUntRtL6oXg+IuyAobQ4FYcwOdOas=";
+    hash = "sha256-Qxe4ILDdfYfxu95EvKRTvkAOgDIZDiLymBlZouBWn0M=";
   };
   patches = [ ./make.patch ];
-  shardsFile = ./collision-shards.nix;
+  shardsFile = ./shards.nix;
 
   # Crystal compiler has a strange issue with OpenSSL. The project will not compile due to
   # main_module:(.text+0x6f0): undefined reference to `SSL_library_init'
diff --git a/pkgs/applications/misc/collision/collision-shards.nix b/pkgs/applications/misc/collision/shards.nix
index 0c27255041545..e7e93781eb68c 100644
--- a/pkgs/applications/misc/collision/collision-shards.nix
+++ b/pkgs/applications/misc/collision/shards.nix
@@ -4,16 +4,6 @@
     rev = "v1.0.0";
     sha256 = "1y27m4170rr4532j56grzhwbz8hj6z7j3zfkd0jnfwnsxclks1kc";
   };
-  non-blocking-spawn = {
-    url = "https://github.com/geopjr/non-blocking-spawn.git";
-    rev = "v1.0.5";
-    sha256 = "139gr87zlw0k9kf6pf9k2d88aa9x3kcnfg34qpbqrwsrck7708za";
-  };
-  version_from_shard = {
-    url = "https://github.com/hugopl/version_from_shard.git";
-    rev = "v1.2.5";
-    sha256 = "0xizj0q4rd541rwjbx04cjifc2gfx4l5v6q2y7gmd0ndjmkgb8ik";
-  };
   gio = {
     url = "https://github.com/hugopl/gio.cr.git";
     rev = "v0.1.0";
@@ -21,22 +11,27 @@
   };
   gtk4 = {
     url = "https://github.com/hugopl/gtk4.cr.git";
-    rev = "v0.13.0";
-    sha256 = "0xsrcsh5qvwm9l7cywxpw49rfv94mkkqcliws4zkhxgr9isnirbm";
+    rev = "v0.15.0";
+    sha256 = "100j5k4sfc2dpj3nplzjcaxw1bwy3hsy5cw93asg00kda9h8dbb1";
   };
   harfbuzz = {
     url = "https://github.com/hugopl/harfbuzz.cr.git";
-    rev = "v0.1.0";
-    sha256 = "1lcb778b4k34sqxg979fpl425bbzf2gikjf2m5aj6x1fzxn46jg0";
+    rev = "v0.2.0";
+    sha256 = "06wgqxwyib5416yp53j2iwcbr3bl4jjxb1flm7z103l365par694";
+  };
+  libadwaita = {
+    url = "https://github.com/geopjr/libadwaita.cr.git";
+    rev = "cffabb56e911d2a90c53c2fd14d6bd08bf5ac446";
+    sha256 = "0gcq04vgxg0vff9fcalgzq9phq0y76diihkzhlfn91bdxwkx7rl3";
+  };
+  non-blocking-spawn = {
+    url = "https://github.com/geopjr/non-blocking-spawn.git";
+    rev = "v1.0.5";
+    sha256 = "139gr87zlw0k9kf6pf9k2d88aa9x3kcnfg34qpbqrwsrck7708za";
   };
   pango = {
     url = "https://github.com/hugopl/pango.cr.git";
     rev = "v0.2.0";
     sha256 = "0dl3qrhi2ybylmvzx1x5gsznp2pcdkc50waxrljxwnf5avn8ixsf";
   };
-  libadwaita = {
-    url = "https://github.com/geopjr/libadwaita.cr.git";
-    rev = "203737fc96bb48e1a710cb68e896d2c5b9c1a6e5";
-    sha256 = "11c2knxncjnwg4cgppfllxwgli1hf6sjyyx4ii8rgmnbird6xcmh";
-  };
 }
diff --git a/pkgs/applications/misc/fluidd/default.nix b/pkgs/applications/misc/fluidd/default.nix
index bb47e1a251adf..2f3c3b99dd417 100644
--- a/pkgs/applications/misc/fluidd/default.nix
+++ b/pkgs/applications/misc/fluidd/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "fluidd";
-  version = "1.26.0";
+  version = "1.26.3";
 
   src = fetchurl {
     name = "fluidd-v${version}.zip";
     url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
-    sha256 = "sha256-Y0d3TgSLrxA2kPWlHrNC8GlEcD7s4VZR2YZlderZ3gI=";
+    sha256 = "sha256-42Whp2U6gq8vOjmQnU4Yy8EBsQ21av7wIQhMVFmiFfU=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/misc/gnome-firmware/default.nix b/pkgs/applications/misc/gnome-firmware/default.nix
index c1cd58a50e47d..defaad0d2c973 100644
--- a/pkgs/applications/misc/gnome-firmware/default.nix
+++ b/pkgs/applications/misc/gnome-firmware/default.nix
@@ -20,14 +20,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-firmware";
-  version = "43.2";
+  version = "45.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "gnome-firmware";
     rev = version;
-    sha256 = "oplypNSj028cVBn+eJxNm5pJltp7Cw5Oto/L39pI0vA=";
+    sha256 = "sha256-KVyxOl7RdL80ZiEyiT+XGa/6Ss2g+5y+LIrR9TSRE+I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix
index bc779fb9b65f0..0654974eb9390 100644
--- a/pkgs/applications/misc/khard/default.nix
+++ b/pkgs/applications/misc/khard/default.nix
@@ -1,12 +1,12 @@
 { lib, python3, fetchPypi, khard, testers }:
 
 python3.pkgs.buildPythonApplication rec {
-  version = "0.19.0";
+  version = "0.19.1";
   pname = "khard";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-5ki+adfz7m0+FbxC9+IXHLn8oeLKLkASuU15lyDATKQ=";
+    sha256 = "sha256-WfMKDaPD2j6wT02+GO5HY5E7aF2Z7IQY/VdKiMSRxJA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/applications/misc/rsibreak/default.nix b/pkgs/applications/misc/rsibreak/default.nix
index 9f765793dc9a3..eb0944fd2a033 100644
--- a/pkgs/applications/misc/rsibreak/default.nix
+++ b/pkgs/applications/misc/rsibreak/default.nix
@@ -4,15 +4,12 @@
   knotifyconfig, kidletime, kwindowsystem, ktextwidgets, kcrash
 }:
 
-let
+mkDerivation rec {
   pname = "rsibreak";
-  version = "0.12";
-  revision = ".13";
-in mkDerivation rec {
-  name = "rsibreak-${version}${revision}";
+  version = "0.12.13";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/${pname}/${version}/${name}.tar.xz";
+    url = "mirror://kde/stable/rsibreak/${version}/rsibreak-${version}.tar.xz";
     sha256 = "N0C+f788fq5yotSC54H2K4WDc6PnGi8Nh/vXL4v0fxo=";
   };
 
diff --git a/pkgs/applications/misc/vym/default.nix b/pkgs/applications/misc/vym/default.nix
index 6afadb1b5c79b..306d9995ae38b 100644
--- a/pkgs/applications/misc/vym/default.nix
+++ b/pkgs/applications/misc/vym/default.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
-, qmake
 , qtbase
 , qtscript
 , qtsvg
diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix
index 4104c40bf0457..b116f566c5cea 100644
--- a/pkgs/applications/networking/cluster/driftctl/default.nix
+++ b/pkgs/applications/networking/cluster/driftctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "driftctl";
-  version = "0.39.0";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "snyk";
     repo = "driftctl";
     rev = "v${version}";
-    sha256 = "sha256-1i5x05q0Mo3E3ExM9qONRtQCH3nO7pXyNqOaAtz7qYE=";
+    sha256 = "sha256-IDKfW0NCEsgKXpHA7SwkHjMeoGAIYITlDVR/vI/b9hk=";
   };
 
-  vendorHash = "sha256-H/+LORl7Bjy1NshjtWDzj13YCrlQQgtBr4+Rz/rxQkY=";
+  vendorHash = "sha256-JFvC9PReziktHSXbltGkGHjVR8hTM1hPJ0OqrZQXRQM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index a442142383095..8386bd2d59dbe 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,25 +2,25 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.18.2";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-eSftWXwV8W/mpxZNvUUDS27z3vU36vJj/z0/Wo5qEts=";
+    hash = "sha256-V07e0IbHlQLSVxzWClHX8PrwKY4DaMZmwy3IwGTD7jI=";
   };
-  vendorHash = "sha256-tuiQ11pcfoTOu+OVey+YmU4tTOj5C7p5bKP2ylEkUug=";
+  vendorHash = "sha256-PQYlqi4KDietVV2J5KiaoFqHg12l0bomj57lsTYkSPo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
   # Bundle release metadata
   ldflags = let
     attrs = [
-      "istio.io/pkg/version.buildVersion=${version}"
-      "istio.io/pkg/version.buildStatus=Nix"
-      "istio.io/pkg/version.buildTag=${version}"
-      "istio.io/pkg/version.buildHub=docker.io/istio"
+      "istio.io/istio/pkg/version.buildVersion=${version}"
+      "istio.io/istio/pkg/version.buildStatus=Nix"
+      "istio.io/istio/pkg/version.buildTag=${version}"
+      "istio.io/istio/pkg/version.buildHub=docker.io/istio"
     ];
   in ["-s" "-w" "${lib.concatMapStringsSep " " (attr: "-X ${attr}") attrs}"];
 
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 924052c2d9b03..dbd04f026dfa2 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -12,9 +12,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.31.2";
+  version = "1.32.0";
 
-  vendorHash = "sha256-5ChPdSIRI+Q3OLW+joukMpIFbUjU4TKpXT4wAARVVP8=";
+  vendorHash = "sha256-MzB+my1NwvZx9qfojuOlTHmuY6CyLFlrgr4UEuC5FBk=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-Ha0liXc2oXJ3dLty1veN5xN5BUKIiNXe8NTGqWDbTD0=";
+    sha256 = "sha256-2EWaMpcr4F1wRzIP1rPg1a/Sjd1x+oo2ee90k4Ie8cU=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index 0d2a26478e7c0..96e6d9eec7d20 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PR3vhNfY84vKQaAMKmPPmY7kK3BRxELAC34NfMYXQPk=";
+    hash = "sha256-jjYSvY7NT9G/tcsM+9qHnsL81QKItyVMZZWuD2mpln0=";
   };
 
-  vendorHash = "sha256-qLxUAICm/SGy2iHAbg+12xmId+P335dFyjltYlB45iw=";
+  vendorHash = "sha256-O48QzyQLkt7T9j+CKQG8TcHlmtS+ykoMoCamsEswPjk=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
index 6ca9bdc0e7643..89405033bcaca 100644
--- a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
@@ -6,20 +6,21 @@
 , openssl
 , CoreServices
 , Security
+, SystemConfiguration
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "twitch-tui";
-  version = "2.5.1";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "Xithrius";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-oqsLqmyLrvb8u9cj68OemUfunbP98/BZjmoGl1Mctrk=";
+    hash = "sha256-UPcJHuqDnyg2U3aNtd44dqt2iC2iLkR4wzsOjAByISw=";
   };
 
-  cargoHash = "sha256-DEHMF6sTH3BF8lqOV5G4F3+Tsafrhzr0YLqSgV3gq9I=";
+  cargoHash = "sha256-HFBCLYjrDAPU2EZ1NQ+A0mAFo5jvj79Ghge6+D1PBAg=";
 
   nativeBuildInputs = [
     pkg-config
@@ -30,6 +31,7 @@ rustPlatform.buildRustPackage rec {
   ] ++ lib.optionals stdenv.isDarwin [
     CoreServices
     Security
+    SystemConfiguration
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 952ca75bb6af8..96854c3cdb621 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -36,14 +36,14 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "4.1.1";
+      version = "4.1.2";
       pname = "weechat";
 
       hardeningEnable = [ "pie" ];
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.xz";
-        hash = "sha256-d0I4YU2OY+TT1ac6bLZA7Hb+BsyYK4eoySNlFXkndnU=";
+        hash = "sha256-mpuRD752i7nefHrJRPXbjyM4M/NFsuUF4W7G7zXv+7U=";
       };
 
       # Why is this needed? https://github.com/weechat/weechat/issues/2031
diff --git a/pkgs/applications/networking/juju/default.nix b/pkgs/applications/networking/juju/default.nix
index 17d80e496e317..1a914a065b095 100644
--- a/pkgs/applications/networking/juju/default.nix
+++ b/pkgs/applications/networking/juju/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "juju";
-  version = "3.2.3";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "juju";
     repo = "juju";
     rev = "juju-${version}";
-    sha256 = "sha256-sUlM4bLy/kluZmGOzMACz92GG46XYKicNPP5k2FPSGA=";
+    sha256 = "sha256-8VSSTeN4a1zvMi4L4dR3q+kWKgYq8Jg1jDvFjEBD7jI=";
   };
 
-  vendorHash = "sha256-mPEixXVuxAqgkBoNqIYnZaFJynHJsnmamaHqyh/svwQ=";
+  vendorHash = "sha256-3hZywUpJe6g8IujbK0hcp12S6OKswLj/YYJGuPG06Es=";
 
   # Disable tests because it attempts to use a mongodb instance
   doCheck = false;
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index 896c2a6c269c1..b7167d261b21d 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -44,11 +44,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.50.1";
+  version = "3.50.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "5CA240m4Mrkbprxg+Zxkte0AjrDrM7wipU8p9I7r1Zg=";
+    sha256 = "D4M1214mmFRHi01tlHLu2s0Kiev3+0+DdWJDMMqqcSA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix
index 4ed0bad26c6f4..1943a395bd7b7 100644
--- a/pkgs/applications/networking/pjsip/default.nix
+++ b/pkgs/applications/networking/pjsip/default.nix
@@ -15,13 +15,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "pjsip";
-  version = "2.13.1";
+  version = "2.14";
 
   src = fetchFromGitHub {
     owner = finalAttrs.pname;
     repo = "pjproject";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-R1iKIkWyNCRV2PjQgTqKmJYUgHAZrREanD60Jz6MY1Y=";
+    hash = "sha256-PWCeIvnBAOqbcNYPhIY7hykdvLzoD9lssSViCCPNT68=";
   };
 
   patches = [
@@ -35,12 +35,19 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optional stdenv.isLinux alsa-lib
     ++ lib.optionals stdenv.isDarwin [ AppKit CoreFoundation Security ];
 
+  env = lib.optionalAttrs (stdenv.cc.libcxx != null) {
+    # work around https://github.com/NixOS/nixpkgs/issues/166205
+    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
+  } // lib.optionalAttrs stdenv.cc.isClang {
+    CXXFLAGS = "-std=c++11";
+  } // lib.optionalAttrs stdenv.isDarwin {
+    NIX_CFLAGS_LINK = "-headerpad_max_install_names";
+  };
+
   preConfigure = ''
     export LD=$CC
   '';
 
-  NIX_CFLAGS_LINK = lib.optionalString stdenv.isDarwin "-headerpad_max_install_names";
-
   postBuild = lib.optionalString pythonSupport ''
     make -C pjsip-apps/src/swig/python
   '';
diff --git a/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch b/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch
new file mode 100644
index 0000000000000..8645e0dbfa7da
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch
@@ -0,0 +1,25 @@
+From 29b58e29c813d9bf0b31139a19b556614c28638e Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:26:22 +0100
+Subject: [PATCH 1/6] Fix flask 2.3 issue
+
+'Blueprint' object has no attribute 'before_app_first_request'
+---
+ powerdnsadmin/routes/index.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/powerdnsadmin/routes/index.py b/powerdnsadmin/routes/index.py
+index d56ce61..2176bd6 100644
+--- a/powerdnsadmin/routes/index.py
++++ b/powerdnsadmin/routes/index.py
+@@ -46,7 +46,6 @@ index_bp = Blueprint('index',
+                      url_prefix='/')
+ 
+ 
+-@index_bp.before_app_first_request
+ def register_modules():
+     global google
+     global github
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch b/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch
new file mode 100644
index 0000000000000..9b442d5f3d7d7
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch
@@ -0,0 +1,34 @@
+From c60a9658fe2ca429327680fbffb86f609d98c52c Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:27:49 +0100
+Subject: [PATCH 2/6] Remove cssrewrite filter
+
+---
+ powerdnsadmin/assets.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/powerdnsadmin/assets.py b/powerdnsadmin/assets.py
+index d46d431..3c582be 100644
+--- a/powerdnsadmin/assets.py
++++ b/powerdnsadmin/assets.py
+@@ -13,7 +13,7 @@ css_login = Bundle(
+     'node_modules/@fortawesome/fontawesome-free/css/all.css',
+     'node_modules/icheck/skins/square/blue.css',
+     'node_modules/admin-lte/dist/css/adminlte.css',
+-    filters=('rcssmin', 'cssrewrite'),
++    filters=('rcssmin'),
+     output='generated/login.css')
+ 
+ js_login = Bundle(
+@@ -37,7 +37,7 @@ css_main = Bundle(
+     'node_modules/admin-lte/dist/css/adminlte.css',
+     'custom/css/custom.css',
+     'node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.css',
+-    filters=('rcssmin', 'cssrewrite'),
++    filters=('rcssmin'),
+     output='generated/main.css')
+ 
+ js_main = Bundle(
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch b/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch
new file mode 100644
index 0000000000000..c9956ae22f75b
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch
@@ -0,0 +1,25 @@
+From 8c320a34bcca6dc2c1b423a1445235bf178b653e Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:31:02 +0100
+Subject: [PATCH 3/6] Fix flask-migrate 4.0 compatibility
+
+See https://github.com/PowerDNS-Admin/PowerDNS-Admin/issues/1376
+---
+ migrations/env.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/migrations/env.py b/migrations/env.py
+index 4742e14..739d753 100755
+--- a/migrations/env.py
++++ b/migrations/env.py
+@@ -73,7 +73,6 @@ def run_migrations_online():
+     context.configure(connection=connection,
+                       target_metadata=target_metadata,
+                       process_revision_directives=process_revision_directives,
+-                      render_as_batch=config.get_main_option('sqlalchemy.url').startswith('sqlite:'),
+                       **current_app.extensions['migrate'].configure_args)
+ 
+     try:
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch b/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch
new file mode 100644
index 0000000000000..b1aaa8c531d17
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch
@@ -0,0 +1,26 @@
+From 4b4ac26ef1cbb0b5b2354c251b216498325d0411 Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:31:50 +0100
+Subject: [PATCH 4/6] Fix flask-session and powerdns-admin compatibility
+
+flask-session and powerdns-admin both try to add sqlalchemy to flask.
+Reuse the database for flask-session.
+---
+ powerdnsadmin/__init__.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/powerdnsadmin/__init__.py b/powerdnsadmin/__init__.py
+index d447a00..653af33 100755
+--- a/powerdnsadmin/__init__.py
++++ b/powerdnsadmin/__init__.py
+@@ -60,6 +60,7 @@ def create_app(config=None):
+     if 'SESSION_TYPE' in os.environ:
+         app.config['SESSION_TYPE'] = os.environ.get('SESSION_TYPE')
+ 
++    app.config['SESSION_SQLALCHEMY'] = models.base.db
+     sess = Session(app)
+ 
+     # create sessions table if using sqlalchemy backend
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch b/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch
new file mode 100644
index 0000000000000..b6931c25d546c
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch
@@ -0,0 +1,27 @@
+From 3eb1a408758b68543c73d5214b467c2905fbea2a Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:32:36 +0100
+Subject: [PATCH 5/6] Use app context to create routes
+
+Routes creates session database tables, so it needs a context.
+---
+ powerdnsadmin/__init__.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/powerdnsadmin/__init__.py b/powerdnsadmin/__init__.py
+index 653af33..bc6f7df 100755
+--- a/powerdnsadmin/__init__.py
++++ b/powerdnsadmin/__init__.py
+@@ -73,7 +73,8 @@ def create_app(config=None):
+     # Load app's components
+     assets.init_app(app)
+     models.init_app(app)
+-    routes.init_app(app)
++    with app.app_context():
++        routes.init_app(app)
+     services.init_app(app)
+ 
+     # Register filters
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch b/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch
new file mode 100644
index 0000000000000..dd552cc28403d
--- /dev/null
+++ b/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch
@@ -0,0 +1,27 @@
+From 86dcc9f308d2ca65704953f1ff9fe043d743e536 Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:33:45 +0100
+Subject: [PATCH 6/6] Register modules before starting
+
+Fixes flask 2.3: 'Blueprint' object has no attribute 'before_app_first_request'
+---
+ run.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/run.py b/run.py
+index 5ffcde3..52e719d 100755
+--- a/run.py
++++ b/run.py
+@@ -1,6 +1,9 @@
+ #!/usr/bin/env python3
+ from powerdnsadmin import create_app
++from .powerdnsadmin.routes.index import register_modules
+ 
+ if __name__ == '__main__':
+     app = create_app()
++    with app.app_context():
++        register_modules()
+     app.run(debug=True, host=app.config.get('BIND_ADDRESS', '127.0.0.1'), port=app.config.get('PORT', '9191'))
+-- 
+2.42.0
+
diff --git a/pkgs/applications/networking/powerdns-admin/default.nix b/pkgs/applications/networking/powerdns-admin/default.nix
index 1e89c1b2cb46b..61a728d983b36 100644
--- a/pkgs/applications/networking/powerdns-admin/default.nix
+++ b/pkgs/applications/networking/powerdns-admin/default.nix
@@ -19,6 +19,10 @@ let
     lima lxml passlib pyasn1 pytimeparse pyyaml jinja2 itsdangerous webcolors werkzeug zipp zxcvbn
   ];
 
+  all_patches = [
+    ./0001-Fix-flask-2.3-issue.patch
+  ];
+
   assets = mkYarnPackage {
     inherit src version;
     packageJSON = ./package.json;
@@ -35,9 +39,9 @@ let
     };
 
     nativeBuildInputs = pythonDeps;
-    patchPhase = ''
-      sed -i -r -e "s|'rcssmin',\s?'cssrewrite'|'rcssmin'|g" powerdnsadmin/assets.py
-    '';
+    patches = all_patches ++ [
+      ./0002-Remove-cssrewrite-filter.patch
+    ];
     buildPhase = ''
       # The build process expects the directory to be writable
       # with node_modules at a specific path
@@ -86,15 +90,15 @@ in stdenv.mkDerivation {
     exec python -m gunicorn.app.wsgiapp "powerdnsadmin:create_app()" "$@"
   '';
 
+  patches = all_patches ++ [
+    ./0003-Fix-flask-migrate-4.0-compatibility.patch
+    ./0004-Fix-flask-session-and-powerdns-admin-compatibility.patch
+    ./0005-Use-app-context-to-create-routes.patch
+    ./0006-Register-modules-before-starting.patch
+  ];
+
   postPatch = ''
     rm -r powerdnsadmin/static powerdnsadmin/assets.py
-    # flask-migrate 4.0 compatibility: https://github.com/PowerDNS-Admin/PowerDNS-Admin/issues/1376
-    substituteInPlace migrations/env.py --replace "render_as_batch=config.get_main_option('sqlalchemy.url').startswith('sqlite:')," ""
-    # flask-session and powerdns-admin both try to add sqlalchemy to flask.
-    # Reuse the database for flask-session
-    substituteInPlace powerdnsadmin/__init__.py --replace "sess = Session(app)" "app.config['SESSION_SQLALCHEMY'] = models.base.db; sess = Session(app)"
-    # Routes creates session database tables, so it needs a context
-    substituteInPlace powerdnsadmin/__init__.py --replace "routes.init_app(app)" "with app.app_context(): routes.init_app(app)"
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/networking/remote/aws-workspaces/default.nix b/pkgs/applications/networking/remote/aws-workspaces/default.nix
index 4cc21a2269d61..b1e11510530a3 100644
--- a/pkgs/applications/networking/remote/aws-workspaces/default.nix
+++ b/pkgs/applications/networking/remote/aws-workspaces/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib
 , makeWrapper, dpkg, fetchurl, autoPatchelfHook
-, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16, libva, libusb1, hiredis
+, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16, libva, libusb1, hiredis, xcbutil
 }:
 
 stdenv.mkDerivation rec {
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     hiredis
     libusb1
     libva
+    xcbutil
   ];
 
   unpackPhase = ''
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index d070d98d3f555..e59d473a0789c 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -10,7 +10,7 @@ mkDerivation rec {
   version = "2.28.0";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
+    url = "mirror://kde/stable/skrooge/skrooge-${version}.tar.xz";
     sha256 = "sha256-s2SkGMBx7HVpr1NBUJpqji3PTPnw4RqnkakdQVC5ric=";
   };
 
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index e41dfcd15fa85..c474ae4744991 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "treesheets";
-  version = "unstable-2023-09-15";
+  version = "unstable-2023-11-13";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = "treesheets";
-    rev = "8e1ebe5a55f6a725ba6fe342b4b7604438d9d406";
-    sha256 = "zz2erN/ap6vT56khqbpANu1eV/C9eQ6SBWEV4GNbmEY=";
+    rev = "cbc18fe9910c6f10a9f2c2b8838ed047e00a5415";
+    sha256 = "uzb6gboWEu5GL92OFvcdeoaXYTU7jhzCmpI8LwhNVk0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/trilium/desktop.nix b/pkgs/applications/office/trilium/desktop.nix
index 48df671bd924a..0f701abbbf2c8 100644
--- a/pkgs/applications/office/trilium/desktop.nix
+++ b/pkgs/applications/office/trilium/desktop.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "trilium-desktop";
-  version = "0.62.2";
+  version = "0.62.3";
 
   linuxSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-  linuxSource.sha256 = "17vg22kzg6346c8fb2kzm5zdspb9p24isd2irxhw7gh2z6vnwh1d";
+  linuxSource.sha256 = "1fw6mbcnqrgk627npsxp7xbyab7108msihlkf5i998rji8vaz64m";
 
   darwinSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-mac-x64-${version}.zip";
-  darwinSource.sha256 = "03y5wkpdf4hc7724sjipgahlp6nh72z0wgm0qsqji5x5sxpambb8";
+  darwinSource.sha256 = "0wp58qjs5a91g80h115xnkkrih741bs3vjdr6wilwcp1blbgnxjj";
 
   meta = metaCommon // {
     mainProgram = "trilium";
diff --git a/pkgs/applications/office/trilium/server.nix b/pkgs/applications/office/trilium/server.nix
index a2b6a33383955..270f9751ff80a 100644
--- a/pkgs/applications/office/trilium/server.nix
+++ b/pkgs/applications/office/trilium/server.nix
@@ -3,8 +3,8 @@
 
 let
   serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-  serverSource.sha256 = "0vip61c24n9d6bnpcgg9dwxc604xigmi1ayvm1mmlgah1fk56swg";
-  version = "0.62.2";
+  serverSource.sha256 = "00vb36a6kxdmn8m0nmzpdi2h7qmg63xrwwbq4hvjp2njjf32wki1";
+  version = "0.62.3";
 in stdenv.mkDerivation {
   pname = "trilium-server";
   inherit version;
diff --git a/pkgs/applications/radio/flamp/default.nix b/pkgs/applications/radio/flamp/default.nix
index 483fbfc291103..0ac84d9420aab 100644
--- a/pkgs/applications/radio/flamp/default.nix
+++ b/pkgs/applications/radio/flamp/default.nix
@@ -10,12 +10,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "flamp";
-  version = "2.2.09";
+  version = "2.2.10";
 
   src = fetchgit {
     url = "https://git.code.sf.net/p/fldigi/flamp";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-ev+Ik/e1zQGTH4FeiCDPHbrcXlctencEo4R0+M2Kg+g=";
+    hash = "sha256-c0Q9QD3O8eQxRqaBhr79iuNVtWGC8kl+YWYS4xMgDN4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/gridtracker/default.nix b/pkgs/applications/radio/gridtracker/default.nix
index 49e13f4ab08db..d3a6d104dc26a 100644
--- a/pkgs/applications/radio/gridtracker/default.nix
+++ b/pkgs/applications/radio/gridtracker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gridtracker";
-  version = "1.23.1112";
+  version = "1.23.1202";
 
   src = fetchFromGitLab {
     owner = "gridtracker.org";
     repo = "gridtracker";
     rev = "v${version}";
-    sha256 = "sha256-0A1/P57RtUExxflr2XayHPEyr28B6UDYY7pVCAJpWX0=";
+    sha256 = "sha256-XrHA+h6qAYyZjp/C7+oS3eAvX0ptD+T4UKFzM2ROBCw=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/radio/inspectrum/default.nix b/pkgs/applications/radio/inspectrum/default.nix
index 0f0b89d431656..fa5eda7b783bb 100644
--- a/pkgs/applications/radio/inspectrum/default.nix
+++ b/pkgs/applications/radio/inspectrum/default.nix
@@ -11,13 +11,13 @@
 
 gnuradio3_8Minimal.pkgs.mkDerivation rec {
   pname = "inspectrum";
-  version = "0.2.3";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "miek";
     repo = "inspectrum";
     rev = "v${version}";
-    sha256 = "1x6nyn429pk0f7lqzskrgsbq09mq5787xd4piic95add6n1cc355";
+    sha256 = "sha256-yY2W2hQpj8TIxiQBSbQHq0J16n74OfIwMDxFt3mLZYc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix
index 1a986b6b0d188..fc1e6425c1c48 100644
--- a/pkgs/applications/radio/sdrangel/default.nix
+++ b/pkgs/applications/radio/sdrangel/default.nix
@@ -52,13 +52,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sdrangel";
-  version = "7.17.0";
+  version = "7.17.1";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-v2ESMFAbsYbZVVIHlGCU01QPDorUZyLiUEhexr6zF5o=";
+    hash = "sha256-TMYFKt4nkNKZdlxszbVM55RMidBBD2HTaYc1OqW9/ck=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix
index 3ff7ae1161e49..a193fa59238f7 100644
--- a/pkgs/applications/science/biology/kallisto/default.nix
+++ b/pkgs/applications/science/biology/kallisto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kallisto";
-  version = "0.50.0";
+  version = "0.50.1";
 
   src = fetchFromGitHub {
     repo = "kallisto";
     owner = "pachterlab";
     rev = "v${version}";
-    sha256 = "sha256-GJ8xMbHrnTzvPoMSczpugbIjh79cT3ngX3tLtwzlfEQ=";
+    sha256 = "sha256-JJZJOl4u6FzngrrMuC2AfD5ry2LBOT8tdz2piH+9LFE=";
   };
 
   nativeBuildInputs = [ autoconf cmake ];
diff --git a/pkgs/applications/science/biology/seqkit/default.nix b/pkgs/applications/science/biology/seqkit/default.nix
index 32f46e4850987..3c6ac45454424 100644
--- a/pkgs/applications/science/biology/seqkit/default.nix
+++ b/pkgs/applications/science/biology/seqkit/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "seqkit";
-  version = "2.5.1";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "shenwei356";
     repo = "seqkit";
     rev = "v${version}";
-    sha256 = "sha256-aS8aTh8Lszob9It89shhKyqxCDjFs7zxE3VhMCHYaGM=";
+    sha256 = "sha256-ahCLPYRRH6xIRFhgpjvnw7G1AIOfrkzLKPA8t9+k9gg=";
   };
 
-  vendorHash = "sha256-54kb9Na76+CgW61SnXu7EfO0InH/rjliNRcH2M/gxII=";
+  vendorHash = "sha256-OpLLJdwEW7UnMKr6r8+EDUlpiahfa5k9AkBqcd+SE5k=";
 
   meta = with lib; {
     description = "cross-platform and ultrafast toolkit for FASTA/Q file manipulation";
diff --git a/pkgs/applications/science/math/labplot/default.nix b/pkgs/applications/science/math/labplot/default.nix
index b790116a58b89..8bb667e1a8fac 100644
--- a/pkgs/applications/science/math/labplot/default.nix
+++ b/pkgs/applications/science/math/labplot/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   version = "2.10.1";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/labplot/labplot-${version}.tar.xz";
+    url = "mirror://kde/stable/labplot/labplot-${version}.tar.xz";
     sha256 = "sha256-K24YFRfPtuDf/3uJXz6yDHzjWeZzLThUXgdXya6i2u8=";
   };
 
diff --git a/pkgs/applications/science/networking/sumo/default.nix b/pkgs/applications/science/networking/sumo/default.nix
index a55837af6e380..956691582bda3 100644
--- a/pkgs/applications/science/networking/sumo/default.nix
+++ b/pkgs/applications/science/networking/sumo/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sumo";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = "sumo";
     rev = "v${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "sha256-/MKhec4nhz6juTCc5dNrrDAlzldodGjili4vWkzafPM=";
+    sha256 = "sha256-uB7Gy0uX3LsZDeeITyjl7DN76TFJQKgsQs4RoDVfSmY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/terminal-emulators/contour/contour-cmakelists.diff b/pkgs/applications/terminal-emulators/contour/contour-cmakelists.diff
new file mode 100644
index 0000000000000..2c958c4ce46d1
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/contour/contour-cmakelists.diff
@@ -0,0 +1,20 @@
+diff --git a/src/contour/display/CMakeLists.txt b/src/contour/display/CMakeLists.txt
+index e2e9768c..fc1ea72f 100644
+--- a/src/contour/display/CMakeLists.txt
++++ b/src/contour/display/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ if(CONTOUR_QT_VERSION EQUAL "6")
+-   find_package(Qt6 COMPONENTS Core Gui OpenGLWidgets Widgets REQUIRED)
++   find_package(Qt6 COMPONENTS Core Gui OpenGLWidgets Widgets Multimedia REQUIRED)
+ else()
+    find_package(Qt5 COMPONENTS Gui Widgets REQUIRED)  # apt install qtbase5-dev libqt5gui5
+ endif()
+@@ -31,7 +31,7 @@ endif()
+ target_include_directories(ContourTerminalDisplay PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../..")
+ target_link_libraries(ContourTerminalDisplay vtrasterizer)
+ if(CONTOUR_QT_VERSION EQUAL "6")
+-    target_link_libraries(ContourTerminalDisplay Qt6::Core Qt6::Gui Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Widgets)
++    target_link_libraries(ContourTerminalDisplay Qt6::Core Qt6::Gui Qt6::OpenGL Qt6::OpenGLWidgets Qt6::Widgets Qt6::Multimedia)
+ else()
+     target_link_libraries(ContourTerminalDisplay Qt5::Gui Qt5::Widgets)
+ endif()
diff --git a/pkgs/applications/terminal-emulators/contour/default.nix b/pkgs/applications/terminal-emulators/contour/default.nix
index a1692dd255a2c..4a50625cc81eb 100644
--- a/pkgs/applications/terminal-emulators/contour/default.nix
+++ b/pkgs/applications/terminal-emulators/contour/default.nix
@@ -1,12 +1,16 @@
 { lib
 , stdenv
-, mkDerivation
 , fetchFromGitHub
+, fetchurl
 , cmake
 , pkg-config
 , freetype
 , fontconfig
-, libGL
+, libunicode
+, libutempter
+, termbench-pro
+, qtmultimedia
+, wrapQtAppsHook
 , pcre
 , boost
 , catch2
@@ -16,50 +20,43 @@
 , yaml-cpp
 , ncurses
 , file
-, darwin
+, utmp
+, sigtool
 , nixosTests
+, installShellFiles
 }:
 
-let
-  # Commits refs come from https://github.com/contour-terminal/contour/blob/master/scripts/install-deps.sh
-  libunicode-src = fetchFromGitHub {
-    owner = "contour-terminal";
-    repo = "libunicode";
-    rev = "c2369b6380df1197476b08d3e2d0e96b6446f776";
-    sha256 = "sha256-kq7GpFCkrJG7F9/YEGz3gMTgYzhp/QB8D5b9wwMaLvQ=";
-  };
-
-  termbench-pro-src = fetchFromGitHub {
-    owner = "contour-terminal";
-    repo = "termbench-pro";
-    rev = "cd571e3cebb7c00de9168126b28852f32fb204ed";
-    sha256 = "sha256-dNtOmBu63LFYfiGjXf34C2tiG8pMmsFT4yK3nBnK9WI=";
-  };
-in
-mkDerivation rec {
+stdenv.mkDerivation (final: {
   pname = "contour";
-  version = "0.3.1.200";
+  version = "0.3.12.262";
 
   src = fetchFromGitHub {
     owner = "contour-terminal";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-TpxVC0GFZD3jGISnDWHKEetgVVpznm5k/Vc2dwVfSG4=";
+    repo = "contour";
+    rev = "v${final.version}";
+    hash = "sha256-4R0NyUtsyr3plYfVPom+EjJ5W0Cb/uuaSB5zyJ0yIB4=";
   };
 
   outputs = [ "out" "terminfo" ];
 
+  # fix missing <QtMultimedia/QAudioSink> on Darwin and codesign the binary
+  patches = [ ./contour-cmakelists.diff ./macos-codesign.diff ];
+
   nativeBuildInputs = [
     cmake
     pkg-config
     ncurses
     file
-  ];
+    wrapQtAppsHook
+    installShellFiles
+  ] ++ lib.optionals stdenv.isDarwin [ sigtool ];
 
   buildInputs = [
     fontconfig
     freetype
-    libGL
+    libunicode
+    termbench-pro
+    qtmultimedia
     pcre
     boost
     catch2
@@ -67,38 +64,37 @@ mkDerivation rec {
     microsoft-gsl
     range-v3
     yaml-cpp
-  ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.libs.utmp ];
-
-  preConfigure = ''
-    mkdir -p _deps/sources
+  ]
+  ++ lib.optionals stdenv.isLinux [ libutempter ]
+  ++ lib.optionals stdenv.isDarwin [ utmp ];
 
-    cat > _deps/sources/CMakeLists.txt <<EOF
-    macro(ContourThirdParties_Embed_libunicode)
-        add_subdirectory(\''${ContourThirdParties_SRCDIR}/libunicode EXCLUDE_FROM_ALL)
-    endmacro()
-    macro(ContourThirdParties_Embed_termbench_pro)
-        add_subdirectory(\''${ContourThirdParties_SRCDIR}/termbench_pro EXCLUDE_FROM_ALL)
-    endmacro()
-    EOF
-
-    ln -s ${libunicode-src} _deps/sources/libunicode
-    ln -s ${termbench-pro-src} _deps/sources/termbench_pro
+  cmakeFlags = [ "-DCONTOUR_QT_VERSION=6" ];
 
+  preConfigure = ''
     # Don't fix Darwin app bundle
     sed -i '/fixup_bundle/d' src/contour/CMakeLists.txt
   '';
 
   postInstall = ''
     mkdir -p $out/nix-support $terminfo/share
+  '' + lib.optionalString stdenv.isDarwin ''
+    mkdir $out/Applications
+    installShellCompletion --zsh $out/contour.app/Contents/Resources/shell-integration/shell-integration.zsh
+    installShellCompletion --fish $out/contour.app/Contents/Resources/shell-integration/shell-integration.fish
+    cp -r $out/contour.app/Contents/Resources/terminfo $terminfo/share
+    mv $out/contour.app $out/Applications
+    ln -s $out/bin $out/Applications/contour.app/Contents/MacOS
+  '' + lib.optionalString stdenv.isLinux ''
     mv $out/share/terminfo $terminfo/share/
+    installShellCompletion --zsh $out/share/contour/shell-integration/shell-integration.zsh
+    installShellCompletion --fish $out/share/contour/shell-integration/shell-integration.fish
+  '' + ''
     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
   '';
 
   passthru.tests.test = nixosTests.terminal-emulators.contour;
 
   meta = with lib; {
-    # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/contour.x86_64-darwin
-    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
     description = "Modern C++ Terminal Emulator";
     homepage = "https://github.com/contour-terminal/contour";
     changelog = "https://github.com/contour-terminal/contour/raw/v${version}/Changelog.md";
@@ -107,4 +103,4 @@ mkDerivation rec {
     platforms = platforms.unix;
     mainProgram = "contour";
   };
-}
+})
diff --git a/pkgs/applications/terminal-emulators/contour/macos-codesign.diff b/pkgs/applications/terminal-emulators/contour/macos-codesign.diff
new file mode 100644
index 0000000000000..8e449dd0a4939
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/contour/macos-codesign.diff
@@ -0,0 +1,21 @@
+diff --git a/src/contour/CMakeLists.txt b/src/contour/CMakeLists.txt
+index 0eebd585..5d0bc3c0 100644
+--- a/src/contour/CMakeLists.txt
++++ b/src/contour/CMakeLists.txt
+@@ -145,6 +145,16 @@ if(CONTOUR_BUILD_WITH_MIMALLOC)
+     target_link_libraries(contour mimalloc)
+ endif()
+ 
++if(APPLE)
++  add_custom_command(
++    TARGET contour POST_BUILD
++    WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
++    COMMAND codesign --force --sign - contour.app/Contents/MacOS/contour
++    COMMENT "Codesigning macOS bundle executable"
++    VERBATIM
++  )
++endif()
++
+ if(NOT(WIN32))
+     set(terminfo_file "contour.terminfo")
+     set(terminfo_basedir "${CMAKE_CURRENT_BINARY_DIR}/terminfo")
diff --git a/pkgs/applications/video/animdl/default.nix b/pkgs/applications/video/animdl/default.nix
new file mode 100644
index 0000000000000..3f1be6f5833ad
--- /dev/null
+++ b/pkgs/applications/video/animdl/default.nix
@@ -0,0 +1,63 @@
+{ lib,
+  buildPythonApplication,
+  fetchFromGitHub,
+  poetry-core,
+  anchor-kr,
+  anitopy,
+  click,
+  cssselect,
+  httpx,
+  lxml,
+  packaging,
+  pkginfo,
+  pycryptodomex,
+  pyyaml,
+  regex,
+  rich,
+  tqdm,
+  yarl
+}:
+buildPythonApplication {
+  pname = "animdl";
+  version = "1.7.27";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "justfoolingaround";
+    repo = "animdl";
+    # Using the commit hash because upstream does not have releases. https://github.com/justfoolingaround/animdl/issues/277
+    rev = "c7c3b79198e66695e0bbbc576f9d9b788616957f";
+    hash = "sha256-kn6vCCFhJNlruxoO+PTHVIwTf1E5j1aSdBhrFuGzUq4=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+  propagatedBuildInputs = [
+    anchor-kr
+    anitopy
+    click
+    cssselect
+    httpx
+    lxml
+    packaging
+    pkginfo
+    pycryptodomex
+    pyyaml
+    regex
+    rich
+    tqdm
+    yarl
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "A highly efficient, powerful and fast anime scraper";
+    homepage = "https://github.com/justfoolingaround/animdl";
+    license = licenses.gpl3Only;
+    mainProgram = "animdl";
+    maintainers = with maintainers; [ passivelemon ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/hypnotix/default.nix b/pkgs/applications/video/hypnotix/default.nix
index 647f171c87311..bcf09b962483e 100644
--- a/pkgs/applications/video/hypnotix/default.nix
+++ b/pkgs/applications/video/hypnotix/default.nix
@@ -9,17 +9,18 @@
 , mpv
 , python3
 , wrapGAppsHook
+, yt-dlp
 }:
 
 stdenv.mkDerivation rec {
   pname = "hypnotix";
-  version = "3.7";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "hypnotix";
     rev = version;
-    hash = "sha256-H8+KJ9+HLAorGIeljw8H3N8W3E2yYhAno1xy+jI54zM=";
+    hash = "sha256-0iJzlj5FRDXJdh+vWVvZaBJVNru7CfkvJtZUZYKoqPw=";
   };
 
   patches = [
@@ -32,8 +33,12 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace usr/lib/hypnotix/hypnotix.py \
       --replace __DEB_VERSION__ ${version} \
+      --replace /usr/bin/yt-dlp ${yt-dlp}/bin/yt-dlp \
       --replace /usr/share/circle-flags-svg ${circle-flags}/share/circle-flags-svg \
       --replace /usr/share/hypnotix $out/share/hypnotix
+
+    substituteInPlace usr/bin/hypnotix \
+      --replace /usr/lib/hypnotix/hypnotix.py $out/lib/hypnotix/hypnotix.py
   '';
 
   nativeBuildInputs = [
@@ -47,6 +52,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     cinnamon.xapp
+    python3 # for patchShebangs
   ];
 
   pythonPath = with python3.pkgs; [
@@ -62,8 +68,7 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     mkdir -p $out
-    cp -r usr/lib $out
-    cp -r usr/share $out
+    cp -r usr/* $out
 
     glib-compile-schemas $out/share/glib-2.0/schemas
 
@@ -72,8 +77,10 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     buildPythonPath "$out $pythonPath"
-    makeWrapper ${python3.interpreter} $out/bin/hypnotix \
-      --add-flags $out/lib/hypnotix/hypnotix.py \
+
+    # yt-dlp is needed for mpv to play YouTube channels.
+    wrapProgram $out/bin/hypnotix \
+      --prefix PATH : "${lib.makeBinPath [ yt-dlp ]}" \
       --prefix PYTHONPATH : "$program_PYTHONPATH" \
       ''${gappsWrapperArgs[@]}
   '';
diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix
index 9d16deb1c5293..fb75464ab98e5 100644
--- a/pkgs/applications/video/mpv/scripts/default.nix
+++ b/pkgs/applications/video/mpv/scripts/default.nix
@@ -15,7 +15,7 @@ in lib.recurseIntoAttrs
     inhibit-gnome = callPackage ./inhibit-gnome.nix { };
     mpris = callPackage ./mpris.nix { };
     mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { inherit buildLua; };
-    mpv-webm = callPackage ./mpv-webm.nix { };
+    mpv-webm = callPackage ./mpv-webm.nix { inherit buildLua; };
     mpvacious = callPackage ./mpvacious.nix { inherit buildLua; };
     quality-menu = callPackage ./quality-menu.nix { inherit buildLua; };
     simple-mpv-webui = callPackage ./simple-mpv-webui.nix { inherit buildLua; };
diff --git a/pkgs/applications/video/mpv/scripts/mpv-webm.nix b/pkgs/applications/video/mpv/scripts/mpv-webm.nix
index 983003d79d712..b155846750dc9 100644
--- a/pkgs/applications/video/mpv/scripts/mpv-webm.nix
+++ b/pkgs/applications/video/mpv/scripts/mpv-webm.nix
@@ -1,30 +1,28 @@
 { lib
-, stdenvNoCC
+, buildLua
 , fetchFromGitHub
 , luaPackages
+, nix-update-script
 }:
 
-stdenvNoCC.mkDerivation {
+buildLua {
   pname = "mpv-webm";
-  version = "unstable-2023-02-23";
+  version = "unstable-2023-11-18";
 
   src = fetchFromGitHub {
     owner = "ekisu";
     repo = "mpv-webm";
-    rev = "a18375932e39e9b2a40d9c7ab52ea367b41e2558";
-    hash = "sha256-aetkQ1gU/6Yys5FJS/N06ED9tCSvL6BAgUGdNmNmpbU=";
+    rev = "6b5863f68275b3dc91c2507284c039ec8a4cbd97";
+    hash = "sha256-rJamBm6FyxWcJO7VXXOUTO9piWCkPfEVdqGKGeJ/h0c=";
   };
 
+  dontBuild = false;
   nativeBuildInputs = [ luaPackages.moonscript ];
+  scriptPath = "build/webm.lua";
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/share/mpv/scripts
-    install -m 644 build/webm.lua $out/share/mpv/scripts/
-    runHook postInstall
-  '';
-
-  passthru.scriptName = "webm.lua";
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version=branch" ];
+  };
 
   meta = with lib; {
     description = "Simple WebM maker for mpv, with no external dependencies";
diff --git a/pkgs/applications/window-managers/sway/lock-effects.nix b/pkgs/applications/window-managers/sway/lock-effects.nix
index c3058294ca55c..c5dbf3766f06c 100644
--- a/pkgs/applications/window-managers/sway/lock-effects.nix
+++ b/pkgs/applications/window-managers/sway/lock-effects.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swaylock-effects";
-  version = "1.6.11";
+  version = "1.7.0.0";
 
   src = fetchFromGitHub {
     owner = "jirutka";
     repo = "swaylock-effects";
     rev = "v${version}";
-    sha256 = "sha256-MKmWVYssO9HAcP5uqwpy9kDa6/kfZyV2NI7ibozt7Ug=";
+    sha256 = "sha256-cuFM+cbUmGfI1EZu7zOsQUj4rA4Uc4nUXcvIfttf9zE=";
   };
 
   postPatch = ''
diff --git a/pkgs/build-support/add-driver-runpath/default.nix b/pkgs/build-support/add-driver-runpath/default.nix
new file mode 100644
index 0000000000000..08547a4453c5f
--- /dev/null
+++ b/pkgs/build-support/add-driver-runpath/default.nix
@@ -0,0 +1,14 @@
+{ lib, stdenv }:
+
+stdenv.mkDerivation {
+  name = "add-driver-runpath";
+
+  # Named "opengl-driver" for legacy reasons, but it is the path to
+  # hardware drivers installed by NixOS
+  driverLink = "/run/opengl-driver" + lib.optionalString stdenv.isi686 "-32";
+
+  buildCommand = ''
+    mkdir -p $out/nix-support
+    substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook
+  '';
+}
diff --git a/pkgs/build-support/add-driver-runpath/setup-hook.sh b/pkgs/build-support/add-driver-runpath/setup-hook.sh
new file mode 100644
index 0000000000000..86a41a7e25192
--- /dev/null
+++ b/pkgs/build-support/add-driver-runpath/setup-hook.sh
@@ -0,0 +1,29 @@
+# Set RUNPATH so that driver libraries in /run/opengl-driver(-32)/lib can be found.
+# This is needed to not rely on LD_LIBRARY_PATH which does not work with setuid
+# executables. Fixes https://github.com/NixOS/nixpkgs/issues/22760. It must be run
+# in postFixup because RUNPATH stripping in fixup would undo it. Note that patchelf
+# actually sets RUNPATH not RPATH, which applies only to dependencies of the binary
+# it set on (including for dlopen), so the RUNPATH must indeed be set on these
+# libraries and would not work if set only on executables.
+addDriverRunpath() {
+    local forceRpath=
+
+    while [ $# -gt 0 ]; do
+        case "$1" in
+            --) shift; break;;
+            --force-rpath) shift; forceRpath=1;;
+            --*)
+                echo "addDriverRunpath: ERROR: Invalid command line" \
+                     "argument: $1" >&2
+                return 1;;
+            *) break;;
+        esac
+    done
+
+    for file in "$@"; do
+        if ! isELF "$file"; then continue; fi
+        local origRpath="$(patchelf --print-rpath "$file")"
+        patchelf --set-rpath "@driverLink@/lib:$origRpath" ${forceRpath:+--force-rpath} "$file"
+    done
+}
+
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index f19605e462597..525b44fe04800 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -301,12 +301,6 @@ stdenv.mkDerivation {
       hardening_unsupported_flags+=" relro bindnow"
     ''
 
-    + optionalString (libc != null && targetPlatform.isAvr) ''
-      for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
-        echo "-L${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-cflags
-      done
-    ''
-
     + optionalString stdenv.targetPlatform.isDarwin ''
       echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/libc-ldflags
     ''
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 8ac11436c5f7b..539c29a0a7743 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -649,12 +649,6 @@ stdenv.mkDerivation {
       hardening_unsupported_flags+=" stackprotector"
     ''
 
-    + optionalString (libc != null && targetPlatform.isAvr) ''
-      for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
-        echo "-B${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-crt1-cflags
-      done
-    ''
-
     + optionalString stdenv.targetPlatform.isDarwin ''
         echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/cc-cflags
     ''
diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix
index 744c7807f4634..0b9f696d1cb80 100644
--- a/pkgs/build-support/trivial-builders/default.nix
+++ b/pkgs/build-support/trivial-builders/default.nix
@@ -631,6 +631,19 @@ rec {
     let mkEntryFromDrv = drv: { name = drv.name; path = drv; };
     in linkFarm name (map mkEntryFromDrv drvs);
 
+  /*
+    Produce a derivation that links to the target derivation's `/bin`,
+    and *only* `/bin`.
+
+    This is useful when your favourite package doesn't have a separate
+    bin output and other contents of the package's output (e.g. setup
+    hooks) cause trouble when used in your environment.
+  */
+  onlyBin = drv: runCommand "${drv.name}-only-bin" {} ''
+    mkdir -p $out
+    ln -s ${lib.getBin drv}/bin $out/bin
+  '';
+
 
   # docs in doc/builders/special/makesetuphook.section.md
   makeSetupHook =
diff --git a/pkgs/by-name/ab/aba/package.nix b/pkgs/by-name/ab/aba/package.nix
index 14a32c61375d5..6cf7ec2544bc0 100644
--- a/pkgs/by-name/ab/aba/package.nix
+++ b/pkgs/by-name/ab/aba/package.nix
@@ -6,7 +6,7 @@
 , scdoc
 }:
 let
-  version = "0.7.1";
+  version = "0.8.0";
 in
 rustPlatform.buildRustPackage {
   pname = "aba";
@@ -16,11 +16,10 @@ rustPlatform.buildRustPackage {
     owner = "~onemoresuza";
     repo = "aba";
     rev = version;
-    hash = "sha256-Sz9I1Dw7wmoUPpTBNfbYbehfNO8FK6r/ubofx+FGb04=";
-    domain = "sr.ht";
+    hash = "sha256-2zVQNchL4DFh2v2/kwupJTBSmXiKqlxzUMrP9TbfCMs=";
   };
 
-  cargoSha256 = "sha256-Ihoh+yp12qN74JHvJbEDoYz+eoMwPOQar+yBEy+bqb0=";
+  cargoHash = "sha256-YhSzbfcEIJjKWlyYq1lK70qt4f/Z71n7hgaaZ/D/U80=";
 
   nativeBuildInputs = [
     just
@@ -28,9 +27,8 @@ rustPlatform.buildRustPackage {
   ];
 
   postPatch = ''
-    # Suppress messages of command not found. jq is not needed for the build, but just calls it anyway.
-    sed -i '/[[:space:]]*|[[:space:]]*jq -r/s/jq -r .*/: \\/' ./justfile
-    # Let only nix strip the binary by disabling cargo's `strip = true`, like buildRustPackage does.
+    # Let only nix strip the binary by disabling cargo's `strip = true`, like
+    # buildRustPackage does when not using just's setup hooks.
     sed -i '/strip[[:space:]]*=[[:space:]]*true/s/true/false/' ./Cargo.toml
   '';
 
@@ -38,7 +36,7 @@ rustPlatform.buildRustPackage {
     justFlagsArray+=(
       PREFIX=${builtins.placeholder "out"}
       MANIFEST_OPTS="--frozen --locked --profile=release"
-      INSTALL_OPTS=--no-track
+      INSTALL_OPTS="--no-track"
     )
   '';
 
diff --git a/pkgs/by-name/bn/bngblaster/package.nix b/pkgs/by-name/bn/bngblaster/package.nix
new file mode 100644
index 0000000000000..6149a049131f3
--- /dev/null
+++ b/pkgs/by-name/bn/bngblaster/package.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, cmocka
+, libdict
+, ncurses
+, jansson
+, openssl
+, libpcap
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "bngblaster";
+  version = "0.8.29";
+
+  src = fetchFromGitHub {
+    owner = "rtbrick";
+    repo = "bngblaster";
+    rev = finalAttrs.version;
+    hash = "sha256-yuWSGN7wLRksNjgr7c5GiC9JTN4T1PJV4Js1ZOGBKqA=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    libdict
+    ncurses
+    jansson
+    openssl
+    cmocka
+  ] ++ lib.optionals finalAttrs.doCheck [
+    libpcap
+  ];
+
+  cmakeFlags = [
+    "-DBNGBLASTER_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DBNGBLASTER_VERSION=${finalAttrs.version}"
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/rtbrick/bngblaster/";
+    changelog = "https://github.com/rtbrick/bngblaster/releases/tag/${finalAttrs.version}";
+    description = "network tester for access and routing protocols";
+    license = licenses.bsd3;
+    maintainers = teams.wdz.members;
+    badPlatforms = platforms.darwin;
+  };
+})
diff --git a/pkgs/by-name/fl/flarectl/package.nix b/pkgs/by-name/fl/flarectl/package.nix
index 4fbec1a01ab3b..c59976c694c37 100644
--- a/pkgs/by-name/fl/flarectl/package.nix
+++ b/pkgs/by-name/fl/flarectl/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "flarectl";
-  version = "0.80.0";
+  version = "0.82.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflare-go";
     rev = "v${version}";
-    hash = "sha256-Dks5tF+mHVmtj8Uh8eK50ZPZTW8p65Da08EHUnLfF7g=";
+    hash = "sha256-GWxtbPCo0t0HXCiLJEVtuJPiY8Ahlij8zaMwe67zjqU=";
   };
 
-  vendorHash = "sha256-gQxHJNPLVcnilMIv4drDCcQ8QJCyuZ6vejsuo0elIPw=";
+  vendorHash = "sha256-VGePv/RzX1t5+Ftp3iTKYxm3mN6rr+Kdav4jRIKim9E=";
 
   subPackages = [ "cmd/flarectl" ];
 
diff --git a/pkgs/by-name/fr/framework-system-tools/Cargo.lock b/pkgs/by-name/fr/framework-system-tools/Cargo.lock
new file mode 100644
index 0000000000000..f887187a7c75c
--- /dev/null
+++ b/pkgs/by-name/fr/framework-system-tools/Cargo.lock
@@ -0,0 +1,1312 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bit_field"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "built"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b9c056b9ed43aee5e064b683aa1ec783e19c6acec7559e3ae931b7490472fbe"
+dependencies = [
+ "cargo-lock",
+ "chrono",
+ "git2",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
+
+[[package]]
+name = "cargo-lock"
+version = "8.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "031718ddb8f78aa5def78a09e90defe30151d1f6c672f937af4dd916429ed996"
+dependencies = [
+ "semver",
+ "serde",
+ "toml",
+ "url",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+dependencies = [
+ "jobserver",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+dependencies = [
+ "iana-time-zone",
+ "num-integer",
+ "num-traits",
+ "winapi",
+]
+
+[[package]]
+name = "clap"
+version = "4.0.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39"
+dependencies = [
+ "bitflags",
+ "clap_derive",
+ "clap_lex",
+ "is-terminal",
+ "once_cell",
+ "strsim",
+ "termcolor",
+]
+
+[[package]]
+name = "clap-verbosity-flag"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1eef05769009513df2eb1c3b4613e7fad873a14c600ff025b08f250f59fee7de"
+dependencies = [
+ "clap",
+ "log",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "convert_case"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+
+[[package]]
+name = "core-foundation"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
+dependencies = [
+ "core-foundation-sys 0.6.2",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
+name = "cxx"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn 2.0.13",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.13",
+]
+
+[[package]]
+name = "derive_more"
+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.107",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "framework_lib"
+version = "0.1.0"
+dependencies = [
+ "built",
+ "clap",
+ "clap-verbosity-flag",
+ "env_logger",
+ "guid_macros",
+ "hidapi",
+ "lazy_static",
+ "libc",
+ "log",
+ "nix",
+ "no-std-compat",
+ "num",
+ "num-derive",
+ "num-traits",
+ "plain",
+ "redox_hwio",
+ "regex",
+ "rusb",
+ "smbios-lib",
+ "spin 0.9.4",
+ "uefi",
+ "uefi-services",
+ "windows 0.42.0",
+]
+
+[[package]]
+name = "framework_tool"
+version = "0.1.0"
+dependencies = [
+ "framework_lib",
+]
+
+[[package]]
+name = "framework_uefi"
+version = "0.1.0"
+dependencies = [
+ "framework_lib",
+ "log",
+ "uefi",
+ "uefi-services",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "git2"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2994bee4a3a6a51eb90c218523be382fd7ea09b16380b9312e9dbe955ff7c7d1"
+dependencies = [
+ "bitflags",
+ "libc",
+ "libgit2-sys",
+ "log",
+ "url",
+]
+
+[[package]]
+name = "guid_macros"
+version = "0.11.0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.13",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+
+[[package]]
+name = "hermit-abi"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hidapi"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a090a12b53564bcb2f6053b8be08d5f9e7b91f26953d6e8e08c9affd8aeb4ec9"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "winapi",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys 0.8.4",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows 0.48.0",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+dependencies = [
+ "cxx",
+ "cxx-build",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "io-kit-sys"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f21dcc74995dd4cd090b147e79789f8d65959cbfb5f0b118002db869ea3bd0a0"
+dependencies = [
+ "core-foundation-sys 0.6.2",
+ "mach 0.2.3",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189"
+dependencies = [
+ "hermit-abi",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+
+[[package]]
+name = "jobserver"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+dependencies = [
+ "spin 0.5.2",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+[[package]]
+name = "libgit2-sys"
+version = "0.14.2+1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4"
+dependencies = [
+ "cc",
+ "libc",
+ "libz-sys",
+ "pkg-config",
+]
+
+[[package]]
+name = "libusb1-sys"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d0e2afce4245f2c9a418511e5af8718bcaf2fa408aefb259504d1a9cb25f27"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "libz-sys"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "mach"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "mach"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "nix"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+dependencies = [
+ "autocfg",
+ "bitflags",
+ "cfg-if",
+ "libc",
+ "memoffset",
+ "pin-utils",
+]
+
+[[package]]
+name = "no-std-compat"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c"
+
+[[package]]
+name = "num"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+dependencies = [
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19"
+dependencies = [
+ "num-traits",
+]
+
+[[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.107",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+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"
+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.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
+[[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.107",
+ "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.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "ptr_meta"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcada80daa06c42ed5f48c9a043865edea5dc44cbf9ac009fda3b89526e28607"
+dependencies = [
+ "ptr_meta_derive",
+]
+
+[[package]]
+name = "ptr_meta_derive"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "redox_hwio"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8eb516ad341a84372b5b15a5a35cf136ba901a639c8536f521b108253d7fce74"
+
+[[package]]
+name = "regex"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+[[package]]
+name = "rusb"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "703aa035c21c589b34fb5136b12e68fc8dcf7ea46486861381361dd8ebf5cee0"
+dependencies = [
+ "libc",
+ "libusb1-sys",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.36.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "scratch"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
+
+[[package]]
+name = "semver"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "smbios-lib"
+version = "0.9.1"
+source = "git+https://github.com/FrameworkComputer/smbios-lib.git?branch=no-std#b3e2fff8a6f4b8c2d729467cbbf0c8c41974cd1c"
+dependencies = [
+ "core-foundation",
+ "core-foundation-sys 0.6.2",
+ "getopts",
+ "io-kit-sys",
+ "libc",
+ "mach 0.3.2",
+ "no-std-compat",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "spin"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "ucs2"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bad643914094137d475641b6bab89462505316ec2ce70907ad20102d28a79ab8"
+dependencies = [
+ "bit_field",
+]
+
+[[package]]
+name = "uefi"
+version = "0.20.0"
+source = "git+https://github.com/FrameworkComputer/uefi-rs?branch=merged#76130a0f1c1585012e598b8c514526bac09c68e0"
+dependencies = [
+ "bitflags",
+ "derive_more",
+ "log",
+ "ptr_meta",
+ "ucs2",
+ "uefi-macros",
+]
+
+[[package]]
+name = "uefi-macros"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0caeb0e7b31b9f1f347e541106be10aa8c66c76fa722a3298a4cd21433fabd4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "uefi-services"
+version = "0.17.0"
+source = "git+https://github.com/FrameworkComputer/uefi-rs?branch=merged#76130a0f1c1585012e598b8c514526bac09c68e0"
+dependencies = [
+ "cfg-if",
+ "log",
+ "uefi",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "url"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0286ba339aa753e70765d521bb0242cc48e1194562bfa2a2ad7ac8a6de28f5d5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.0",
+ "windows_aarch64_msvc 0.42.0",
+ "windows_i686_gnu 0.42.0",
+ "windows_i686_msvc 0.42.0",
+ "windows_x86_64_gnu 0.42.0",
+ "windows_x86_64_gnullvm 0.42.0",
+ "windows_x86_64_msvc 0.42.0",
+]
+
+[[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.0",
+ "windows_aarch64_msvc 0.42.0",
+ "windows_i686_gnu 0.42.0",
+ "windows_i686_msvc 0.42.0",
+ "windows_x86_64_gnu 0.42.0",
+ "windows_x86_64_gnullvm 0.42.0",
+ "windows_x86_64_msvc 0.42.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/pkgs/by-name/fr/framework-system-tools/package.nix b/pkgs/by-name/fr/framework-system-tools/package.nix
new file mode 100644
index 0000000000000..fa225f574a99d
--- /dev/null
+++ b/pkgs/by-name/fr/framework-system-tools/package.nix
@@ -0,0 +1,45 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, udev
+}:
+
+let
+  rev = "491a587342a5d79366a25d803b7065169314279c";
+in rustPlatform.buildRustPackage {
+  pname = "framework-system-tools";
+  version = "unstable-2023-11-14";
+
+  src = fetchFromGitHub {
+    owner = "FrameworkComputer";
+    repo = "framework-system";
+    inherit rev;
+    hash = "sha256-qDtW4DvY19enCfkOBRaako9ngAkmSreoNWlL4QE2FAk=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    udev
+  ];
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "smbios-lib-0.9.1" = "sha256-3L8JaA75j9Aaqg1z9lVs61m6CvXDeQprEFRq+UDCHQo=";
+      "uefi-0.20.0" = "sha256-/3WNHuc27N89M7s+WT64SHyFOp7YRyzz6B+neh1vejY=";
+    };
+  };
+
+  meta = with lib; {
+    description = "Rust libraries and tools to interact with the framework system.";
+    homepage = "https://github.com/FrameworkComputer/framework-system";
+    mainProgram = "framework_tool";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ kloenk leona ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/by-name/ge/get-google-fonts/package.nix b/pkgs/by-name/ge/get-google-fonts/package.nix
new file mode 100644
index 0000000000000..64c4197e87613
--- /dev/null
+++ b/pkgs/by-name/ge/get-google-fonts/package.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, fetchpatch
+}:
+
+buildNpmPackage {
+  pname = "get-google-fonts";
+  version = "1.2.2-unstable-2020-06-30";
+
+  src = fetchFromGitHub {
+    owner = "MrMaxie";
+    repo = "get-google-fonts";
+    rev = "2f8b15f6d7072533ca2ad5e0b74ccf28a313e8c8";
+    hash = "sha256-LD+ur0GB2uefggQsdQRkKMwWB39HGiYYiJIrTLudcLc=";
+  };
+
+  patches = [
+    # update lock file to contain all necessary information
+    # https://github.com/MrMaxie/get-google-fonts/pull/27
+    (fetchpatch {
+      url = "https://github.com/MrMaxie/get-google-fonts/commit/f2c818fc7c9ee228db020305f432fd08eda7dc5f.patch";
+      hash = "sha256-BszZdAZWpnkNETKYvSElg0lCjgcP7BNeXfMvePKAio4=";
+    })
+  ];
+
+  npmDepsHash = "sha256-VUphB0Qq94rlcGrrsO2Nat/bD2IZTtdevGKsXFu/YdQ=";
+
+  dontBuild = true;
+
+  meta = with lib; {
+    description = "Downloads and adapts Google fonts to working offline";
+    homepage = "https://github.com/MrMaxie/get-google-fonts";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/by-name/go/goredo/fix-tests.diff b/pkgs/by-name/go/goredo/fix-tests.diff
index 22b9c8f74385d..7bb4b45725e56 100644
--- a/pkgs/by-name/go/goredo/fix-tests.diff
+++ b/pkgs/by-name/go/goredo/fix-tests.diff
@@ -32,8 +32,8 @@ diff '--color=auto' -ru goredo-2.0.0/t/goredo-double-consideration.t goredo-2.0.
  redo-stamp <"\$3"
  EOF
 diff '--color=auto' -ru goredo-2.0.0/t/redo-sh.tests/clean.do goredo-2.0.0.new/t/redo-sh.tests/clean.do
---- goredo-2.0.0/t/redo-sh.tests/clean.do	2023-10-08 18:50:45.000000000 +0200
-+++ goredo-2.0.0.new/t/redo-sh.tests/clean.do	2023-10-08 20:19:29.213465244 +0200
+--- goredo-2.0.0/t/redo-sh.tests/clean	2023-10-08 18:50:45.000000000 +0200
++++ goredo-2.0.0.new/t/redo-sh.tests/clean	2023-10-08 20:19:29.213465244 +0200
 @@ -1,4 +1,4 @@
  for f in * ; do
      [ -d $f ] || continue
diff --git a/pkgs/by-name/go/goredo/package.nix b/pkgs/by-name/go/goredo/package.nix
index a81cb8ebd3071..a1c144508acd9 100644
--- a/pkgs/by-name/go/goredo/package.nix
+++ b/pkgs/by-name/go/goredo/package.nix
@@ -9,14 +9,17 @@
 
 buildGoModule rec {
   pname = "goredo";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchurl {
     url = "http://www.goredo.cypherpunks.ru/download/${pname}-${version}.tar.zst";
-    hash = "sha256-oUC/N6NLEVBrFC3tSEsWEXUBl5oyZNmqRTFWFbgL+zg=";
+    hash = "sha256-kVxCHXQ9PjaLYviB8sf8oHiFniyNrHMO6C/qSZhjK7k=";
   };
 
-  patches = [ ./fix-tests.diff ];
+  patches = [
+    # Adapt tests to Linux/nix-build requirements:
+    ./fix-tests.diff
+  ];
 
   nativeBuildInputs = [ zstd ];
 
diff --git a/pkgs/by-name/gu/guix/package.nix b/pkgs/by-name/gu/guix/package.nix
index e20a969f8347d..6549a9b8e2763 100644
--- a/pkgs/by-name/gu/guix/package.nix
+++ b/pkgs/by-name/gu/guix/package.nix
@@ -28,6 +28,10 @@
 , bzip2
 , libgcrypt
 , sqlite
+
+, stateDir ? "/var"
+, storeDir ? "/gnu/store"
+, confDir ? "/etc"
 }:
 
 stdenv.mkDerivation rec {
@@ -100,8 +104,9 @@ stdenv.mkDerivation rec {
   ];
 
   configureFlags = [
-    "--localstatedir=/var"
-    "--sysconfdir=/etc"
+    "--with-store-dir=${storeDir}"
+    "--localstatedir=${stateDir}"
+    "--sysconfdir=${confDir}"
     "--with-bash-completion-dir=$(out)/etc/bash_completion.d"
   ];
 
@@ -132,7 +137,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.gnu.org/software/guix";
     license = licenses.gpl3Plus;
     mainProgram = "guix";
-    maintainers = with maintainers; [ cafkafk ];
+    maintainers = with maintainers; [ cafkafk foo-dogsquared ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/handlr-regex/default.nix b/pkgs/by-name/ha/handlr-regex/package.nix
index 7b6b886524cff..253f821647a7e 100644
--- a/pkgs/tools/misc/handlr-regex/default.nix
+++ b/pkgs/by-name/ha/handlr-regex/package.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "handlr-regex";
-  version = "0.8.5";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "Anomalocaridid";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-X0j62Ntu/ouBVm09iKxU3pps8mbL5V5gA65Maa4b0AY=";
+    hash = "sha256-ndFe5GlSWVUPdGRRWuImcLtcuOMoMXMyGGIa+CXfCug=";
   };
 
-  cargoSha256 = "sha256-byR7CM876z5tAXmbcUfI0CnJrc/D6CxfjBJhuJMSFmg=";
+  cargoHash = "sha256-lCClE8U4188q5rWEEkUt0peLEmYvLoE7vJ6Q9uB5HWg=";
 
   nativeBuildInputs = [ installShellFiles shared-mime-info ];
   buildInputs = [ libiconv ];
diff --git a/pkgs/by-name/ha/hayabusa/package.nix b/pkgs/by-name/ha/hayabusa/package.nix
new file mode 100644
index 0000000000000..c8064e982c4c0
--- /dev/null
+++ b/pkgs/by-name/ha/hayabusa/package.nix
@@ -0,0 +1,50 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, vulkan-loader
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "hayabusa";
+  version = "unstable-2023-11-29";
+
+  src = fetchFromGitHub {
+    owner = "notarin";
+    repo = "hayabusa";
+    rev = "306167c632173f6633e51c5610fe32af7718ec25";
+    hash = "sha256-e2zoVIhxcE9cUypi8Uzz3YZe2JvIaEVuWOGpqHVtxn8=";
+  };
+
+  cargoHash = "sha256-aoticMTrKZkRtjVXgdiBfyXJN3YcwBpM3yt07BBd3do=";
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+    vulkan-loader
+  ];
+
+  postPatch = ''
+    substituteInPlace src/daemon/hayabusa.service \
+      --replace "/usr/local" "$out"
+  '';
+
+  postInstall = ''
+    install -Dm444 src/daemon/hayabusa.service -t $out/lib/systemd/system/
+  '';
+
+  meta = {
+    description = "A swift rust fetch program";
+    homepage = "https://github.com/notarin/hayabusa";
+    license = lib.licenses.cc-by-nc-nd-40;
+    maintainers = with lib.maintainers; [ eclairevoyant ];
+    mainProgram = "hayabusa";
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ia/ia-writer-quattro/package.nix b/pkgs/by-name/ia/ia-writer-quattro/package.nix
new file mode 100644
index 0000000000000..2f103f7cdbb7d
--- /dev/null
+++ b/pkgs/by-name/ia/ia-writer-quattro/package.nix
@@ -0,0 +1,31 @@
+{ lib, stdenvNoCC, fetchFromGitHub, }:
+
+stdenvNoCC.mkDerivation {
+  pname = "ia-writer-quattro";
+  version = "unstable-2023-06-16";
+
+  src = fetchFromGitHub {
+    owner = "iaolo";
+    rev = "f32c04c3058a75d7ce28919ce70fe8800817491b";
+    repo = "iA-fonts";
+    hash = "sha256-2T165nFfCzO65/PIHauJA//S+zug5nUwPcg8NUEydfc=";
+  };
+
+  dontConfigure = true;
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/fonts/truetype
+    cp -R $src/iA\ Writer\ Quattro/Static/*.ttf $out/share/fonts/truetype
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "iA Writer Quattro Typeface";
+    homepage = "https://github.com/iaolo/iA-Fonts";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [ maintainers.x0ba ];
+  };
+}
diff --git a/pkgs/by-name/ja/jazz2/package.nix b/pkgs/by-name/ja/jazz2/package.nix
index 5b95bb8c1875a..c90365bac287d 100644
--- a/pkgs/by-name/ja/jazz2/package.nix
+++ b/pkgs/by-name/ja/jazz2/package.nix
@@ -16,13 +16,13 @@
 assert lib.assertOneOf "graphicsLibrary" graphicsLibrary [ "SDL2" "GLFW" ];
 stdenv.mkDerivation (finalAttrs: {
   pname = "jazz2";
-  version = "2.2.2";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "deathkiller";
     repo = "jazz2-native";
     rev = finalAttrs.version;
-    hash = "sha256-1psMeuMV8GjS+uNlgtCvKpHgV9XW+vjviQTHBPjA4Lc=";
+    hash = "sha256-oBDBq2SToab94mK0kIB0H53jJMFZrHvsdPmfAd5ZjCY=";
   };
 
   patches = [ ./nocontent.patch ];
diff --git a/pkgs/by-name/ko/kor/package.nix b/pkgs/by-name/ko/kor/package.nix
new file mode 100644
index 0000000000000..69626d884297f
--- /dev/null
+++ b/pkgs/by-name/ko/kor/package.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kor";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "yonahd";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-emijYJL054UCOAUobspDqSc7LuQjUjT2E/rQKqJDvA8=";
+  };
+
+  vendorHash = "sha256-iAqptugku3qX6e45+YYf1bU9j2YntNQj82vR04bFMOQ=";
+
+  preCheck = ''
+    HOME=$(mktemp -d)
+    export HOME
+  '';
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  meta = with lib; {
+    description = "A Golang Tool to discover unused Kubernetes Resources";
+    homepage = "https://github.com/yonahd/kor";
+    changelog = "https://github.com/yonahd/kor/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = [ maintainers.ivankovnatsky ];
+    mainProgram = "kor";
+  };
+}
diff --git a/pkgs/by-name/la/lanraragi/loosen-dep-reqs.patch b/pkgs/by-name/la/lanraragi/loosen-dep-reqs.patch
deleted file mode 100644
index 1b2ec4c1fd814..0000000000000
--- a/pkgs/by-name/la/lanraragi/loosen-dep-reqs.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tools/cpanfile b/tools/cpanfile
-index 7385aea7..22f9b069 100755
---- a/tools/cpanfile
-+++ b/tools/cpanfile
-@@ -20,7 +20,7 @@ requires 'Sort::Naturally',     1.03;
- requires 'Authen::Passphrase',  0.008;
- requires 'File::ReadBackwards', 1.05;
- requires 'URI::Escape',         1.74;
--requires 'URI',                 5.09;
-+requires 'URI',                 5.05;
- 
- # Used by Installer
- requires 'IPC::Cmd', 1.02;
diff --git a/pkgs/by-name/la/lanraragi/package.nix b/pkgs/by-name/la/lanraragi/package.nix
index 8b2ee5ff8c06f..2a18474e2d2c4 100644
--- a/pkgs/by-name/la/lanraragi/package.nix
+++ b/pkgs/by-name/la/lanraragi/package.nix
@@ -32,7 +32,6 @@ buildNpmPackage rec {
       hash = "sha256-Cu9d/dDlO0yuFCTKOyg5A0gIuiA+FcWD9PjexB/BK0U=";
     })
     ./install.patch
-    ./loosen-dep-reqs.patch # Can be removed once perl.pkgs.URI is updated
     ./fix-paths.patch
     ./expose-password-hashing.patch # Used by the NixOS module
   ];
diff --git a/pkgs/by-name/li/libdict/package.nix b/pkgs/by-name/li/libdict/package.nix
new file mode 100644
index 0000000000000..1c6e770299ca0
--- /dev/null
+++ b/pkgs/by-name/li/libdict/package.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, cunit
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libdict";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "rtbrick";
+    repo = "libdict";
+    rev = finalAttrs.version;
+    hash = "sha256-JM67lpXGacA0w8luQLc/83mAdHgtXnYlw543gUqUpRM=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+  buildInputs = [
+    cunit
+  ];
+
+  cmakeFlags = [
+    "-DLIBDICT_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+    "-DLIBDICT_SHARED=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}"
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/rtbrick/libdict/";
+    changelog = "https://github.com/rtbrick/libdict/releases/tag/${version}";
+    description = "C library of key-value data structures";
+    license = licenses.bsd2;
+    maintainers = teams.wdz.members;
+  };
+})
diff --git a/pkgs/by-name/li/librda/package.nix b/pkgs/by-name/li/librda/package.nix
new file mode 100644
index 0000000000000..793783a2bae9e
--- /dev/null
+++ b/pkgs/by-name/li/librda/package.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, testers
+, autoreconfHook
+, glib
+, gobject-introspection
+, gtk3
+, intltool
+, pkg-config
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "librda";
+  version = "0.0.5-unstable-2023-09-15";
+
+  src = fetchFromGitHub {
+    owner = "ArcticaProject";
+    repo = "librda";
+    rev = "d7ed1368145e39b0c761947a32fa50493e70f554";
+    hash = "sha256-k6dmwIndLy9S7f0AU7FIm1S7MYfyvDuhMLMuNgHGsYo=";
+  };
+
+  outputs = [
+    "out"
+    "dev"
+    "bin"
+  ];
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    glib
+    gobject-introspection
+    intltool
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
+
+  enableParallelBuilding = true;
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+
+  meta = with lib; {
+    description = "Remote Desktop Awareness Shared Library";
+    homepage = "https://github.com/ArcticaProject/librda";
+    license = licenses.gpl2Plus;
+    mainProgram = "rdacheck";
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.linux;
+    pkgConfigModules = [
+      "rda"
+    ];
+  };
+})
diff --git a/pkgs/by-name/lo/loupe/package.nix b/pkgs/by-name/lo/loupe/package.nix
index 2d32c70788ece..a42fb0f87d59b 100644
--- a/pkgs/by-name/lo/loupe/package.nix
+++ b/pkgs/by-name/lo/loupe/package.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "loupe";
-  version = "45.1";
+  version = "45.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/loupe/${lib.versions.major version}/loupe-${version}.tar.xz";
-    hash = "sha256-nX+ieKEASHKUQZoopvCo1ZGL2XnRy0tGqF6Pfe0U0+w=";
+    hash = "sha256-uLP/rzZXAmsX4E8Z4EDLqNUetNDKtU5CKVsOWlJxwKs=";
   };
 
   patches = [
diff --git a/pkgs/by-name/ma/majima/package.nix b/pkgs/by-name/ma/majima/package.nix
new file mode 100644
index 0000000000000..d2ff843cd66af
--- /dev/null
+++ b/pkgs/by-name/ma/majima/package.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitLab, rustPlatform }:
+rustPlatform.buildRustPackage rec {
+  pname = "majima";
+  version = "0.4.0";
+
+  src = fetchFromGitLab {
+    owner = "gumball-overall";
+    repo = "majima";
+    rev = version;
+    hash = "sha256-S62DQfvZFg8C26YG+fIVJj5cJ6mz73JXSgdu5yoK0Yo=";
+  };
+
+  cargoHash = "sha256-zMQO6McnnGbp52A9n/h6yZTU9VH7vak2TSP0HLqDlKw=";
+
+  meta = {
+    description = "Generate random usernames quickly and in various formats";
+    homepage = "https://majima.matte.fyi/";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ufUNnxagpM ];
+    mainProgram = "majima";
+  };
+}
diff --git a/pkgs/by-name/mo/monophony/package.nix b/pkgs/by-name/mo/monophony/package.nix
index eecbbca3b3f20..50cddab18be70 100644
--- a/pkgs/by-name/mo/monophony/package.nix
+++ b/pkgs/by-name/mo/monophony/package.nix
@@ -11,7 +11,7 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "monophony";
-  version = "2.3.1";
+  version = "2.4.0";
   format = "other";
 
   sourceRoot = "source/source";
@@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec {
     owner = "zehkira";
     repo = "monophony";
     rev = "v${version}";
-    hash = "sha256-dpRTHsujaIwzgr+qY5LC9xtXz40g3akdpEiHuxiilZM=";
+    hash = "sha256-BIaBysqkNfRk7N4dzyjnN+ha2WkppkwFDSj4AAcp9UI=";
   };
 
   pythonPath = with python3Packages; [
@@ -34,18 +34,16 @@ python3Packages.buildPythonApplication rec {
     wrapGAppsHook4
   ];
 
-  buildInputs =
-    [
-      libadwaita
-      # needed for gstreamer https
-      libsoup_3
-      glib-networking
-    ]
-    ++ (with gst_all_1; [
-      gst-plugins-base
-      gst-plugins-good
-      gstreamer
-    ]);
+  buildInputs = [
+    libadwaita
+    # needed for gstreamer https
+    libsoup_3
+    glib-networking
+  ] ++ (with gst_all_1; [
+    gst-plugins-base
+    gst-plugins-good
+    gstreamer
+  ]);
 
   installFlags = [ "prefix=$(out)" ];
 
@@ -55,7 +53,7 @@ python3Packages.buildPythonApplication rec {
       --prefix PYTHONPATH : "$program_PYTHONPATH"
       --prefix PATH : "${lib.makeBinPath [yt-dlp]}"
       # needed for gstreamer https
-      --prefix LD_LIBRARY_PATH : "${libsoup_3.out}/lib"
+      --prefix LD_LIBRARY_PATH : "${lib.getLib libsoup_3}/lib"
     )
   '';
 
diff --git a/pkgs/by-name/ni/nimmm/lock.json b/pkgs/by-name/ni/nimmm/lock.json
index d55a02fefc61a..fb705b4f4fd14 100644
--- a/pkgs/by-name/ni/nimmm/lock.json
+++ b/pkgs/by-name/ni/nimmm/lock.json
@@ -27,14 +27,14 @@
     {
       "method": "fetchzip",
       "packages": [
-        "noise"
+        "wcwidth"
       ],
-      "path": "/nix/store/cqn9s90ivzsx7mq5k8m19565247sdsg6-source",
-      "ref": "v0.1.8",
-      "rev": "3cb3250ddcdaa74809aad931c066e7ef6e4af36d",
-      "sha256": "0qmak5n5nrf8nb8szhlz8sf05gmbs0x648p4vcd7ca600kaxfgj0",
-      "srcDir": "",
-      "url": "https://github.com/jangko/nim-noise/archive/3cb3250ddcdaa74809aad931c066e7ef6e4af36d.tar.gz"
+      "path": "/nix/store/inpq6nm27r7ixyjsdsm4sg6qna7d2vbc-source",
+      "ref": "v0.1.3",
+      "rev": "fd60d2dd10fd945a471450551ba471c3be80df52",
+      "sha256": "06b9ylqbjcxgm9mjfzljbi8gr9sbajykcqpcxgyqymynqyhxmqjn",
+      "srcDir": "src",
+      "url": "https://github.com/shoyu777/wcwidth-nim/archive/fd60d2dd10fd945a471450551ba471c3be80df52.tar.gz"
     }
   ]
 }
diff --git a/pkgs/by-name/ni/nimmm/package.nix b/pkgs/by-name/ni/nimmm/package.nix
index e085ed218609f..be3e01b7dcaeb 100644
--- a/pkgs/by-name/ni/nimmm/package.nix
+++ b/pkgs/by-name/ni/nimmm/package.nix
@@ -2,13 +2,13 @@
 
 buildNimPackage (finalAttrs: {
   pname = "nimmm";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "joachimschmidt557";
     repo = "nimmm";
     rev = "v${finalAttrs.version}";
-    sha256 = "168n61avphbxsxfq8qzcnlqx6wgvz5yrjvs14g25cg3k46hj4xqg";
+    hash = "sha256-gRQWReZP7bpGX9fvueQaQkX8yMmngT5DT3o4ly9Ux1g=";
   };
 
   lockFile = ./lock.json;
@@ -19,7 +19,7 @@ buildNimPackage (finalAttrs: {
     description = "Terminal file manager written in Nim";
     homepage = "https://github.com/joachimschmidt557/nimmm";
     license = lib.licenses.gpl3;
-    platforms = lib.platforms.unix;
+    platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.joachimschmidt557 ];
   };
 })
diff --git a/pkgs/by-name/op/opentype-sanitizer/package.nix b/pkgs/by-name/op/opentype-sanitizer/package.nix
new file mode 100644
index 0000000000000..2e7e7e62180ee
--- /dev/null
+++ b/pkgs/by-name/op/opentype-sanitizer/package.nix
@@ -0,0 +1,44 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, freetype
+, gtest
+, lz4
+, meson
+, ninja
+, pkg-config
+, woff2
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "opentype-sanitizer";
+  version = "9.1.0";
+
+  src = fetchFromGitHub {
+    owner = "khaledhosny";
+    repo = "ots";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-gsNMPNPcfHyOgjJnIrJ5tLYHbCfIfTowEhcaGOUPb2Q=";
+  };
+
+  buildInputs = [
+    freetype
+    gtest
+    lz4
+    woff2
+  ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Sanitizing parser for OpenType fonts";
+    homepage = "https://github.com/khaledhosny/ots";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+})
diff --git a/pkgs/by-name/pa/pam-honeycreds/package.nix b/pkgs/by-name/pa/pam-honeycreds/package.nix
new file mode 100644
index 0000000000000..9c96e1c317fdf
--- /dev/null
+++ b/pkgs/by-name/pa/pam-honeycreds/package.nix
@@ -0,0 +1,25 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pam
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "pam-honeycreds";
+  version = "1.9";
+  src = fetchFromGitHub {
+    owner = "ColumPaget";
+    repo = "pam_honeycreds";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-GRJnH431foNI10g95rrtgi31DM15FWhzNq9L0SwoZoM=";
+  };
+
+  buildInputs = [ pam ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ColumPaget/pam_honeycreds";
+    description = "PAM module that sends warnings when fake passwords are used";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ h7x4 ];
+  };
+})
diff --git a/pkgs/by-name/py/pywalfox-native/package.nix b/pkgs/by-name/py/pywalfox-native/package.nix
index e52feb2d297d8..7f7884de57ec9 100644
--- a/pkgs/by-name/py/pywalfox-native/package.nix
+++ b/pkgs/by-name/py/pywalfox-native/package.nix
@@ -1,22 +1,22 @@
 { lib, python3, fetchPypi }:
 
 python3.pkgs.buildPythonApplication rec {
-    pname = "pywalfox-native";
-    version = "2.7.4";
+  pname = "pywalfox-native";
+  version = "2.7.4";
 
-    src = fetchPypi {
-      inherit version;
-      pname = "pywalfox";
-      hash = "sha256-Wec9fic4lXT7gBY04D2EcfCb/gYoZcrYA/aMRWaA7WY=";
-    };
+  src = fetchPypi {
+    inherit version;
+    pname = "pywalfox";
+    hash = "sha256-Wec9fic4lXT7gBY04D2EcfCb/gYoZcrYA/aMRWaA7WY=";
+  };
 
-    pythonImportsCheck = [ "pywalfox" ];
+  pythonImportsCheck = [ "pywalfox" ];
 
-    meta = with lib; {
-      homepage = "https://github.com/Frewacom/pywalfox-native";
-      description = "Native app used alongside the Pywalfox addon";
-      mainProgram = "pywalfox";
-      license = licenses.mpl20;
-      maintainers = with maintainers; [ tsandrini ];
-    };
-  }
+  meta = with lib; {
+    homepage = "https://github.com/Frewacom/pywalfox-native";
+    description = "Native app used alongside the Pywalfox addon";
+    mainProgram = "pywalfox";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ tsandrini ];
+  };
+}
diff --git a/pkgs/by-name/re/revup/package.nix b/pkgs/by-name/re/revup/package.nix
new file mode 100644
index 0000000000000..2aacb3ce5670a
--- /dev/null
+++ b/pkgs/by-name/re/revup/package.nix
@@ -0,0 +1,66 @@
+{ lib
+, stdenv
+, python3
+, fetchPypi
+}:
+
+let
+  pname = "revup";
+  version = "0.2.1";
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-EaBI414m5kihuaOkaHYAzvVxeJCgMIh9lD0JnCeVdZM=";
+  };
+in
+python3.pkgs.buildPythonPackage {
+  inherit pname version src;
+
+  nativeBuildInputs = with python3.pkgs; [
+    pip
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    aiohttp
+    aiosignal
+    async-lru
+    async-timeout
+    charset-normalizer
+    multidict
+    requests
+    rich
+    yarl
+  ];
+
+  nativeCheckInputs = with python3.pkgs; [
+    pytest
+  ];
+
+  meta = {
+    homepage = "https://github.com/Skydio/revup";
+    description = " Revolutionary github tools";
+    longDescription = ''
+      Revup provides command-line tools that allow developers to iterate faster
+      on parallel changes and reduce the overhead of creating and maintaining
+      code reviews.
+
+      Features:
+
+      - Revup creates multiple independent chains of branches for you in the
+        background and without touching your working tree. It then creates and
+        manages github pull requests for all those branches.
+      - Pull requests target the actual base branch and can be merged manually
+        or by continuous integration
+      - Rebase detection saves time and continuous integration cost by not
+        re-pushing if the patch hasn't changed
+      - Adds reviewers, labels, and creates drafts all from the commit text
+      - Adds auto-updating "review graph" and "patchsets" elements to make pull
+        requests easier to navigate revup amend and revup restack save time by
+        replacing slow rebases
+    '';
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    mainProgram = "revup";
+  };
+}
diff --git a/pkgs/by-name/sg/sgfutils/package.nix b/pkgs/by-name/sg/sgfutils/package.nix
new file mode 100644
index 0000000000000..7548ab42107e1
--- /dev/null
+++ b/pkgs/by-name/sg/sgfutils/package.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, openssl
+, iconv
+, makeWrapper
+, imagemagick
+, makeFontsConf
+}:
+stdenv.mkDerivation
+{
+  pname = "sgfutils";
+  version = "0.25-unstable-2017-11-27";
+  src = fetchFromGitHub {
+    owner = "yangboz";
+    repo = "sgfutils";
+    rev = "11ab171c46cc16cc71ac6fc901d38ea88d6532a4";
+    hash = "sha256-KWYgTxz32WK3MKouj1WAJtZmleKt5giCpzQPwfWruZQ=";
+  };
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ iconv ];
+  buildPhase = ''
+    runHook preBuild
+    make all
+    runHook postBuild
+  '';
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp sgf sgfsplit sgfvarsplit sgfstrip sgfinfo sgfmerge sgftf \
+      sgfcheck sgfdb sgfdbinfo sgfcharset sgfcmp sgfx \
+      ngf2sgf nip2sgf nk2sgf gib2sgf sgftopng ugi2sgf \
+      $out/bin
+    runHook postInstall
+  '';
+  postFixup = ''
+    wrapProgram $out/bin/sgftopng \
+      --prefix PATH : ${lib.makeBinPath [ imagemagick ]} \
+      --set-default FONTCONFIG_FILE ${makeFontsConf { fontDirectories = []; }}
+  '';
+  meta = with lib; {
+    homepage = "https://homepages.cwi.nl/~aeb/go/sgfutils/html/sgfutils.html";
+    description = "Command line utilities that help working with SGF files";
+    longDescription = ''
+      The package sgfutils is a collection of command line utilities that help working with SGF files,
+      especially when they describe go (igo, weiqi, baduk) games.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ggpeti ];
+    platforms = platforms.all; # tested on x86_64-linux and aarch64-darwin
+  };
+}
diff --git a/pkgs/by-name/ss/sshx/package.nix b/pkgs/by-name/ss/sshx/package.nix
deleted file mode 100644
index ff3de67054534..0000000000000
--- a/pkgs/by-name/ss/sshx/package.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, pkg-config
-, protobuf
-, zstd
-, stdenv
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "sshx";
-  version = "unstable-2023-11-04";
-
-  src = fetchFromGitHub {
-    owner = "ekzhang";
-    repo = "sshx";
-    rev = "91c82d46cde4d1ffa0ae34e2a9a49911e2e53baa";
-    hash = "sha256-X9c7ZKIpWI5EsbkgB8FJWlwQQXHAcPjLKp2Bvo0fo/w=";
-  };
-
-  cargoHash = "sha256-mOK5gpPuUKzN5xnJs5nFyslxr9IIHtiCylMP53ObDqg=";
-
-  nativeBuildInputs = [
-    pkg-config
-    protobuf
-  ];
-
-  buildInputs = [
-    zstd
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  env = {
-    ZSTD_SYS_USE_PKG_CONFIG = true;
-  };
-
-  outputs = [ "out" "server" ];
-
-  postInstall = ''
-    moveToOutput 'bin/sshx' "$out"
-    moveToOutput 'bin/sshx-server' "$server"
-  '';
-
-  meta = with lib; {
-    description = "Fast, collaborative live terminal sharing over the web";
-    homepage = "https://github.com/ekzhang/sshx";
-    license = licenses.mit;
-    maintainers = with maintainers; [ pinpox ];
-    mainProgram = "sshx";
-  };
-}
diff --git a/pkgs/by-name/th/themix-gui/package.nix b/pkgs/by-name/th/themix-gui/package.nix
new file mode 100644
index 0000000000000..c73724a0ca272
--- /dev/null
+++ b/pkgs/by-name/th/themix-gui/package.nix
@@ -0,0 +1,78 @@
+{ lib
+, stdenv
+, sassc
+, gdk-pixbuf
+, glib
+, gobject-introspection
+, librsvg
+, gtk3
+, python3
+, fetchFromGitHub
+, wrapGAppsHook
+}:
+
+let
+  py = python3.withPackages (p: [
+    p.pygobject3
+  ]);
+  pname = "themix-gui";
+  version = "1.15.1";
+in
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "themix-project";
+    repo = "themix-gui";
+    rev = version;
+    hash = "sha256-xFtwNx1c7Atb+9yorZhs/uVkkoxbZiELJ0SZ88L7KMs=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    py
+    sassc
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gdk-pixbuf
+    glib
+    gtk3
+    librsvg
+    py
+  ];
+
+  postPatch = ''
+    substituteInPlace gui.sh packaging/bin/{oomox,themix}-gui --replace python3 ${lib.getExe py}
+  '';
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    make DESTDIR=/ APPDIR=$out/opt/oomox PREFIX=$out install_gui install_import_xresources install_export_xresources
+    python -O -m compileall $out/opt/oomox/oomox_gui -d /opt/oomox/oomox_gui
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Graphical application for designing themes and exporting them using plugins";
+    longDescription = ''
+      Graphical application for generating different color variations of
+      Oomox (Numix-based) and Materia (ex-Flat-Plat) themes (GTK2, GTK3,
+      Cinnamon, GNOME, Openbox, Xfwm), Archdroid, Gnome-Color, Numix, Papirus
+      and Suru++ icon themes. Have a hack for HiDPI in gtk2. Its Base16 plugin
+      also allowing a lot of app themes support like Alacritty, Emacs, GTK4,
+      KDE, VIM and many more.
+    '';
+    homepage = "https://github.com/themix-project/themix-gui";
+    license = lib.licenses.gpl3Only;
+    mainProgram = "themix-gui";
+    maintainers = with lib.maintainers; [ eclairevoyant ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix
index 3f2aa9fb7ecbb..5e91612f3613e 100644
--- a/pkgs/by-name/ui/uiua/package.nix
+++ b/pkgs/by-name/ui/uiua/package.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "uiua";
-  version = "0.4.1";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "uiua-lang";
     repo = "uiua";
     rev = version;
-    hash = "sha256-a5KSB2i7xg1b6aaNhdlU171wZ1REmFUtnsCWsKIHFGE=";
+    hash = "sha256-xDHr3U+Lc/C2L7jER2VqJvvw9mxCkDzO+K8tzC4Fw2A=";
   };
 
-  cargoHash = "sha256-5ogQI2J9JxoUKCqDrLCsop/3WSwtKqL+CG1ASN/BUSc=";
+  cargoHash = "sha256-9xjTXQJVGIvdx+SfJGPVa5Ax9wvS4Fms7blxAVrt6IY=";
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [
     rustPlatform.bindgenHook
diff --git a/pkgs/by-name/ve/vesktop/package.nix b/pkgs/by-name/ve/vesktop/package.nix
index fd0135a849167..320e942012d41 100644
--- a/pkgs/by-name/ve/vesktop/package.nix
+++ b/pkgs/by-name/ve/vesktop/package.nix
@@ -19,13 +19,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "vesktop";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "Vencord";
     repo = "Vesktop";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-wGOyDGY0FpAVS5+MTiKrOpDyd13ng0RLGAENW5tXuR4=";
+    hash = "sha256-Ot2O5J1wUZAWgdpJNaEUSwtbcNqDdGhzuCtx8Qg+4gg=";
   };
 
   # NOTE: This requires pnpm 8.10.0 or newer
@@ -72,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
       dontBuild = true;
       dontFixup = true;
       outputHashMode = "recursive";
-      outputHash = "sha256-nNXe0vSQiQTkiRqgScKlpkpG/BJc2eIY2ueAd9sk36c=";
+      outputHash = "sha256-v6ibAcfYgr1VjGK7NUF4DKd5da03mZndPUAnSl++RqE=";
     };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/vieb/default.nix b/pkgs/by-name/vi/vieb/package.nix
index fa5fad4934c10..8d3b3de6a124f 100644
--- a/pkgs/applications/networking/browsers/vieb/default.nix
+++ b/pkgs/by-name/vi/vieb/package.nix
@@ -2,20 +2,20 @@
 
 buildNpmPackage rec {
   pname = "vieb";
-  version = "10.4.0";
+  version = "10.6.0";
 
   src = fetchFromGitHub {
     owner = "Jelmerro";
     repo = pname;
     rev = version;
-    hash = "sha256-SQQDlOSP1MZeN6BHdahpxpZ0e60lgA4ph0r2jkmTdP8=";
+    hash = "sha256-WVG30wkyGiqd3uEhk2h2MHu4L0yE6DRP6NAKMExjuOs=";
   };
 
   postPatch = ''
     sed -i '/"electron"/d' package.json
   '';
 
-  npmDepsHash = "sha256-yCWSEuhiP6DfcFns6uyUrLBJeQbOK7yJ9QfGhHkTlHI=";
+  npmDepsHash = "sha256-kvC1+odojkSFWqcyNUg2SbeEn1EkA+EdfaVWY9QmPz4=";
   makeCacheWritable = true;
   dontNpmBuild = true;
 
@@ -52,8 +52,6 @@ buildNpmPackage rec {
 
   distPhase = ":"; # disable useless $out/tarballs directory
 
-  passthru.updateScript = nix-update-script {};
-
   meta = with lib; {
     homepage = "https://vieb.dev/";
     changelog = "https://github.com/Jelmerro/Vieb/releases/tag/${version}";
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index 14dc6514e8161..b7895b94be4c5 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "sarasa-gothic";
-  version = "0.42.2";
+  version = "0.42.6";
 
   src = fetchurl {
     # Use the 'ttc' files here for a smaller closure size.
     # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
     url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
-    hash = "sha256-RkPHlOPXQiAswtekrOCmYcPNlNSvcqyaM4juSHJxEeY=";
+    hash = "sha256-G6REQA3Eq5fqVQCQN967Yv1xaLQSG06meJ0KeD0I/TM=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/data/misc/dbip-country-lite/default.nix b/pkgs/data/misc/dbip-country-lite/default.nix
index eefd161632d81..4e3ec3b550497 100644
--- a/pkgs/data/misc/dbip-country-lite/default.nix
+++ b/pkgs/data/misc/dbip-country-lite/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "dbip-country-lite";
-  version = "2023-11";
+  version = "2023-12";
 
   src = fetchurl {
     url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz";
-    hash = "sha256-Nyje7hf5UdCMHbqZoLpHclDDa4pz+BAyqJcsmPBfSG8=";
+    hash = "sha256-02ujUkrMaINTwPUQbC/RKfAgGMySgalQnpALxdZQW/A=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 15eac7a7168a9..7ed0f4abfd4a8 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "f4111a737432472002a38495b14b930255705d6a",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/f4111a737432472002a38495b14b930255705d6a.tar.gz",
-  "sha256": "0q1nhk821fdwxmidsd9mnd77ml4c05f7rnmd80g4s876s65ldi5q",
-  "msg": "Update from Hackage at 2023-11-10T11:27:19Z"
+  "commit": "def4ad933fb86415a9802d7833369d12520e7744",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/def4ad933fb86415a9802d7833369d12520e7744.tar.gz",
+  "sha256": "0nfqz1mwzgvkkk22igq5jxfwfcc0l8i1ihlgxaixf2ip1qqlqzs6",
+  "msg": "Update from Hackage at 2023-11-20T05:37:18Z"
 }
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index f372f688eabc0..24a2e7d50e0d4 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -51,13 +51,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.50.1";
+  version = "3.50.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "kfT/w4objS/ok5g0RJrFQcC/9KObRE7cKpUpNEoo6Yo=";
+    sha256 = "XmYnA4jVDBTzsa4/oNISe5/tznUqzTk7VUUoGwH8SXA=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch
index 4857efc4c2302..f502e89a71bd3 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch
+++ b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch
@@ -202,7 +202,7 @@ index 2525856..7ecc1a8 100644
  				g_clear_object (&settings);
  			}
 diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
-index c01e8b2..59fb4c4 100644
+index ade0a73..d7c3e73 100644
 --- a/src/calendar/libecal/e-reminder-watcher.c
 +++ b/src/calendar/libecal/e-reminder-watcher.c
 @@ -2626,8 +2626,33 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
@@ -312,7 +312,7 @@ index bef9188..ce92f6c 100644
  	g_clear_object (&settings);
  
 diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
-index db5fc2e..162e00f 100644
+index 4deae76..ebe0a1b 100644
 --- a/src/camel/camel-gpg-context.c
 +++ b/src/camel/camel-gpg-context.c
 @@ -747,7 +747,18 @@ gpg_ctx_get_executable_name (void)
@@ -505,7 +505,7 @@ index 3bb1071..199e822 100644
  		g_object_unref (settings);
  
 diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
-index 2364f3e..e8f59f2 100644
+index af59b0b..0c7e75e 100644
 --- a/src/libedataserver/e-oauth2-service.c
 +++ b/src/libedataserver/e-oauth2-service.c
 @@ -94,7 +94,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
diff --git a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
index b0189cc1321da..a35e6921ff257 100644
--- a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
@@ -27,11 +27,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-disk-utility";
-  version = "45.0";
+  version = "45.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-disk-utility/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-PYYl+qmQR7xK79KZIa1yirTXAM/4bg8uxn6Nuod9DdM=";
+    sha256 = "sha256-VA/07JprljAAP/TNYNYk85/nDyWpVZ5TMziWA8hblSk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix
index 931a2d643dd2e..ac3e7c4981376 100644
--- a/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -45,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "45.1";
+  version = "45.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1ySF96bgkX9k7b7daP17VyRsbr8QxaRRCLY5RmNXeKI=";
+    sha256 = "C92PwMrs1usBPGAQ28qTB3OXEYpu9eryZOKoIKKS9bc=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index af08e170c2fbb..eae2f796108ea 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -121,7 +121,7 @@
     "42": {"version": "52", "sha256": "02190kcp0c1mzlxf4ax0shk7r6zh9adynidxnjdhbkwl9knxalra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDUyCn0="},
     "43": {"version": "52", "sha256": "02190kcp0c1mzlxf4ax0shk7r6zh9adynidxnjdhbkwl9knxalra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDUyCn0="},
     "44": {"version": "52", "sha256": "02190kcp0c1mzlxf4ax0shk7r6zh9adynidxnjdhbkwl9knxalra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDUyCn0="},
-    "45": {"version": "54", "sha256": "1gh8ahchyskv09631z0s286icxhm6vn9c6jn1hzw50w6m7hwni99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2trZXlzIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2Nra2V5cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYXp5c21hc3Rlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbG9ja2tleXMiLAogICJ1dWlkIjogImxvY2trZXlzQHZhaW5hLmx0IiwKICAidmVyc2lvbiI6IDU0Cn0="}
+    "45": {"version": "55", "sha256": "077kyy2h43xnj68zbq594dc7h995hg15a0f9gnnfv2wfag1ggksn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2trZXlzIiwKICAibmFtZSI6ICJMb2NrIEtleXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEsIFBpZXJyZSBPc3NtYW4sIGVyZ3VpbGxlLCBqb25uaXVzLCBQaGlsaXBwIFdvbGZlciwgTWFyaXVzeiBMaXNvd3NraSwgQ3Jpc3RpYW4gQmVyb2l6YSwgd2FybXN1bjAyMjAsIFJhc211cyBLYWosIFBhYmxvIE1hcnRpbi1Hb21leiBCb3Vza2EsIFJhcGhhXHUwMGVibCBSb2NoZXQsIEx1aXogTmlja2VsLCBKZXNzZSwgRHVcdTAxNjFhbiBLYXppayBhbmQgbWFueSBvdGhlcnMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9ja2tleXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA1NQp9"}
   }}
 , {"uuid": "putWindow@clemens.lab21.org", "name": "Put Windows", "pname": "put-windows", "description": "Fully customizable replacement for the old compiz put plugin. \n * Move windows to left/right side, bottom/top, center or corner (aka tile)\n * Move window to other screen \n * Select focused window using the keyboard \n * Application based window placement \n\n Please check github if your gnome-shell version is not supported", "link": "https://extensions.gnome.org/extension/39/put-windows/", "shell_version_map": {
     "38": {"version": "32", "sha256": "0gzi2xmqkjl6x3q1lcb5mrlvvxsni7bax8j5q7wy25hhpizbj2m7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IGN1c3RvbWl6YWJsZSByZXBsYWNlbWVudCBmb3IgdGhlIG9sZCBjb21waXogcHV0IHBsdWdpbi4gXG4gKiBNb3ZlIHdpbmRvd3MgdG8gbGVmdC9yaWdodCBzaWRlLCBib3R0b20vdG9wLCBjZW50ZXIgb3IgY29ybmVyIChha2EgdGlsZSlcbiAqIE1vdmUgd2luZG93IHRvIG90aGVyIHNjcmVlbiBcbiAqIFNlbGVjdCBmb2N1c2VkIHdpbmRvdyB1c2luZyB0aGUga2V5Ym9hcmQgXG4gKiBBcHBsaWNhdGlvbiBiYXNlZCB3aW5kb3cgcGxhY2VtZW50IFxuXG4gUGxlYXNlIGNoZWNrIGdpdGh1YiBpZiB5b3VyIGdub21lLXNoZWxsIHZlcnNpb24gaXMgbm90IHN1cHBvcnRlZCIsCiAgImdldHRleHQtZG9tYWluIjogInB1dFdpbmRvdyIsCiAgIm5hbWUiOiAiUHV0IFdpbmRvd3MiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMub3JnLWxhYjIxLXB1dHdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZ2VzdGkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1uZWdlc3RpIiwKICAidXVpZCI6ICJwdXRXaW5kb3dAY2xlbWVucy5sYWIyMS5vcmciLAogICJ2ZXJzaW9uIjogMzIKfQ=="},
@@ -386,12 +386,12 @@
   }}
 , {"uuid": "lunarcal@ailin.nemui", "name": "Lunar Calendar 农历", "pname": "lunar-calendar", "description": "Display Chinese Lunar Calendar in panel\n\n⚠⚠⚠ dependency: ChineseCalendar by ytliu0: https://gitlab.gnome.org/Nei/ChineseCalendar/-/archive/20231023/ChineseCalendar-20231023.tar.gz", "link": "https://extensions.gnome.org/extension/675/lunar-calendar/", "shell_version_map": {
     "38": {"version": "25", "sha256": "19y2xr06qivvff4kgxsi7qav55ks060aqs4nksfh52xgxg1a5y8i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsdW5hcmNhbEBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAyNQp9"},
-    "40": {"version": "30", "sha256": "0s9nv79a6z677kkp8inx8nc3bk8cy7rlxw7vp381jfs0glvr4883", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
-    "41": {"version": "30", "sha256": "0s9nv79a6z677kkp8inx8nc3bk8cy7rlxw7vp381jfs0glvr4883", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
-    "42": {"version": "30", "sha256": "0s9nv79a6z677kkp8inx8nc3bk8cy7rlxw7vp381jfs0glvr4883", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
-    "43": {"version": "30", "sha256": "0s9nv79a6z677kkp8inx8nc3bk8cy7rlxw7vp381jfs0glvr4883", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
-    "44": {"version": "33", "sha256": "0lb1wx8glx5dhx0xsmbvr7xc4iz7z1spfq7sz4rarhlgyr0xscd1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyZGF0ZS0zLjAiLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJhaWxpbiIKICB9LAogICJuYW1lIjogIkx1bmFyIENhbGVuZGFyIFx1NTE5Y1x1NTM4NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sdW5hci1jYWxlbmRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9OZWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWx1bmFyLWNhbGVuZGFyLy0vaXNzdWVzIiwKICAidXVpZCI6ICJsdW5hcmNhbEBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAzMwp9"},
-    "45": {"version": "38", "sha256": "14p3zls5alraqmz25w1vgkla65798whv6vnl2ih83sgsqs1radnz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1sdW5hci1jYWxlbmRhci8tL2lzc3VlcyIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMzgKfQ=="}
+    "40": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "41": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "42": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "43": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "44": {"version": "42", "sha256": "1qrn9s5jl37gf9har7nybznw4vlxspq17wzc9nk45dfi3y5vf9z9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL05laS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbHVuYXItY2FsZW5kYXIvLS9pc3N1ZXMiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDQyCn0="},
+    "45": {"version": "41", "sha256": "1r3mach6hm61kb044cnrw9g6wpxpjbw8zh6ccccn4l629l31sy4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiBDaGluZXNlQ2FsZW5kYXIgYnkgeXRsaXUwOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL0NoaW5lc2VDYWxlbmRhci8tL2FyY2hpdmUvMjAyMzEwMjMvQ2hpbmVzZUNhbGVuZGFyLTIwMjMxMDIzLnRhci5neiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImFpbGluIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvTmVpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1sdW5hci1jYWxlbmRhci8tL2lzc3VlcyIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogNDEKfQ=="}
   }}
 , {"uuid": "EasyScreenCast@iacopodeenosee.gmail.com", "name": "EasyScreenCast", "pname": "easyscreencast", "description": "This extension simplifies the use of the video recording function integrated in gnome shell, allows quickly to change the various settings of the desktop recording.\n\nSOURCE CODE ->  https://github.com/EasyScreenCast/EasyScreenCast\n\nVIDEO ->  https://youtu.be/81E9AruraKU\n\n**NOTICE**\nif an error occurs during the update is recommended to reload GNOME Shell (Alt + F2, 'r') and reload the extension's installation page.", "link": "https://extensions.gnome.org/extension/690/easyscreencast/", "shell_version_map": {
     "38": {"version": "47", "sha256": "0fkp5qg6xg4jh8zamba7gva5imp83pg4cy4v8q586dcli2r8yzmn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3QiLAogICJ1dWlkIjogIkVhc3lTY3JlZW5DYXN0QGlhY29wb2RlZW5vc2VlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Nwp9"},
@@ -557,7 +557,7 @@
     "42": {"version": "52", "sha256": "1i59pp1wzd49fvz56rk2fq3zi0zkh8y2jf17ssgjcj1cn68x6k7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVXNoYWtvdlZhc2lsaWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZyZW9uIiwKICAidXVpZCI6ICJmcmVvbkBVc2hha292VmFzaWxpaV9HaXRodWIueWFob28uY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
     "43": {"version": "52", "sha256": "1i59pp1wzd49fvz56rk2fq3zi0zkh8y2jf17ssgjcj1cn68x6k7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVXNoYWtvdlZhc2lsaWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZyZW9uIiwKICAidXVpZCI6ICJmcmVvbkBVc2hha292VmFzaWxpaV9HaXRodWIueWFob28uY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
     "44": {"version": "52", "sha256": "1i59pp1wzd49fvz56rk2fq3zi0zkh8y2jf17ssgjcj1cn68x6k7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVXNoYWtvdlZhc2lsaWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZyZW9uIiwKICAidXVpZCI6ICJmcmVvbkBVc2hha292VmFzaWxpaV9HaXRodWIueWFob28uY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
-    "45": {"version": "54", "sha256": "1hwf3r1czdrvwa7x29mppvd4wb5hv89gxlbz00g5ssssrp6g0y19", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Vc2hha292VmFzaWxpaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZnJlb24iLAogICJ1dWlkIjogImZyZW9uQFVzaGFrb3ZWYXNpbGlpX0dpdGh1Yi55YWhvby5jb20iLAogICJ2ZXJzaW9uIjogNTQKfQ=="}
+    "45": {"version": "55", "sha256": "070wwvl153swnqzx8qgw79zjsg1z6844pkc4a1lfjfrsfnvcfgw5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Vc2hha292VmFzaWxpaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZnJlb24iLAogICJ1dWlkIjogImZyZW9uQFVzaGFrb3ZWYXNpbGlpX0dpdGh1Yi55YWhvby5jb20iLAogICJ2ZXJzaW9uIjogNTUKfQ=="}
   }}
 , {"uuid": "shell-volume-mixer@derhofbauer.at", "name": "Volume Mixer", "pname": "volume-mixer", "description": "Applet allowing separate configuration of PulseAudio mixers.\n\nShell Volume Mixer is an extension for GNOME Shell allowing separate configuration of PulseAudio devices and output switches. It features a profile switcher to quickly switch between pinned profiles and devices.\n\nMiddle mouse click on a slider mutes the selected stream.\n\nPlease file bugs and feature requests on the GitHub page.", "link": "https://extensions.gnome.org/extension/858/volume-mixer/", "shell_version_map": {
     "38": {"version": "39", "sha256": "1cnyapjvqri5k5m4nbcmbcx97b4akwv32h7ddav2ipahqh1lqqzj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxldCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gbWl4ZXJzLlxuXG5TaGVsbCBWb2x1bWUgTWl4ZXIgaXMgYW4gZXh0ZW5zaW9uIGZvciBHTk9NRSBTaGVsbCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gZGV2aWNlcyBhbmQgb3V0cHV0IHN3aXRjaGVzLiBJdCBmZWF0dXJlcyBhIHByb2ZpbGUgc3dpdGNoZXIgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiBwaW5uZWQgcHJvZmlsZXMgYW5kIGRldmljZXMuXG5cbk1pZGRsZSBtb3VzZSBjbGljayBvbiBhIHNsaWRlciBtdXRlcyB0aGUgc2VsZWN0ZWQgc3RyZWFtLlxuXG5QbGVhc2UgZmlsZSBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJuYW1lIjogIlZvbHVtZSBNaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWhvL2dub21lLXNoZWxsLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAic2hlbGwtdm9sdW1lLW1peGVyQGRlcmhvZmJhdWVyLmF0IiwKICAidmVyc2lvbiI6IDM5Cn0="},
@@ -1008,7 +1008,8 @@
     "41": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="},
     "42": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="},
     "43": {"version": "36", "sha256": "0cgjsq1m508255pnr28l7a3170iz6nh92vzzzcb9a1w6lk7wws14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzYKfQ=="},
-    "44": {"version": "36", "sha256": "0cgjsq1m508255pnr28l7a3170iz6nh92vzzzcb9a1w6lk7wws14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzYKfQ=="}
+    "44": {"version": "36", "sha256": "0cgjsq1m508255pnr28l7a3170iz6nh92vzzzcb9a1w6lk7wws14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzYKfQ=="},
+    "45": {"version": "38", "sha256": "0ycjwzg7p6lsw06czbahiayfnw8s3am9mpxd2ninlirgmx95158d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hc2EtYXBvZCIsCiAgInV1aWQiOiAibmFzYV9hcG9kQGVsaW52ZW50aW9uLm92aCIsCiAgInZlcnNpb24iOiAzOAp9"}
   }}
 , {"uuid": "SystemMenu@jonnius.github.com", "name": "System Menu", "pname": "system-menu", "description": "System menu with usefull shortcuts", "link": "https://extensions.gnome.org/extension/1204/system-menu/", "shell_version_map": {
     "38": {"version": "5", "sha256": "10zfr3fhqvq0fxqjzqmnxmhmdw5xcw9m5k3jm1apcjqnm38r896w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBtZW51IHdpdGggdXNlZnVsbCBzaG9ydGN1dHMiLAogICJuYW1lIjogIlN5c3RlbSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLlN5c3RlbU1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2pvbm5pdXMvZ25vbWUtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogIlN5c3RlbU1lbnVAam9ubml1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}
@@ -1409,7 +1410,7 @@
     "42": {"version": "28", "sha256": "1iag2yy73ixz4al1ml8kfhf1hwy4lw3y0b5ngyy5w73hv5janivp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"},
     "43": {"version": "28", "sha256": "1iag2yy73ixz4al1ml8kfhf1hwy4lw3y0b5ngyy5w73hv5janivp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"},
     "44": {"version": "28", "sha256": "1iag2yy73ixz4al1ml8kfhf1hwy4lw3y0b5ngyy5w73hv5janivp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"},
-    "45": {"version": "31", "sha256": "0c7qzgplg856nn7dx9rc629brzmkm0ic5x8rh7bdhpl6s4bazda7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1bmxvY2tEaWFsb2ctQmFja2dyb3VuZCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkxvY2sgc2NyZWVuIGJhY2tncm91bmQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmxvY2tEaWFsb2dCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMQp9"}
+    "45": {"version": "34", "sha256": "0f0azv8scjhrj3pgpancgdmj3wz5b7p6aq562a1nz0b4bw6bwzv9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1bmxvY2tEaWFsb2ctQmFja2dyb3VuZCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkxvY2sgc2NyZWVuIGJhY2tncm91bmQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmxvY2tEaWFsb2dCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5sb2NrRGlhbG9nQmFja2dyb3VuZCIsCiAgInV1aWQiOiAidW5sb2NrRGlhbG9nQmFja2dyb3VuZEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNAp9"}
   }}
 , {"uuid": "wsmatrix@martin.zurowietz.de", "name": "Workspace Matrix", "pname": "workspace-matrix", "description": "Arrange workspaces in a two dimensional grid with workspace thumbnails.\n\nIf you appreciate this extension please consider to donate $1.", "link": "https://extensions.gnome.org/extension/1485/workspace-matrix/", "shell_version_map": {
     "38": {"version": "27", "sha256": "1ll51pnpx29vckdhz739i6gnfababi2xdbhfv1hm5xhd1jrqc1kz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuXG5cbklmIHlvdSBhcHByZWNpYXRlIHRoaXMgZXh0ZW5zaW9uIHBsZWFzZSBjb25zaWRlciB0byBkb25hdGUgJDEuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLXdzbWF0cml4IiwKICAidXVpZCI6ICJ3c21hdHJpeEBtYXJ0aW4uenVyb3dpZXR6LmRlIiwKICAidmVyc2lvbiI6IDI3Cn0="},
@@ -2228,7 +2229,7 @@
     "43": {"version": "13", "sha256": "0bxanhx2ylpw0rh69lfdhkixsfggkp7b119ah3rrslx7w71qki6m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTMKfQ=="},
     "44": {"version": "13", "sha256": "0bxanhx2ylpw0rh69lfdhkixsfggkp7b119ah3rrslx7w71qki6m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
   }}
-, {"uuid": "jetbrains-search-provider@swsnr.de", "name": "JetBrains Search Provider", "pname": "jetbrains-search-provider", "description": "Deprecated, see alternative search provider\n\nUse https://github.com/lunaryorn/gnome-search-providers-jetbrains instead", "link": "https://extensions.gnome.org/extension/3115/jetbrains-search-provider/", "shell_version_map": {
+, {"uuid": "jetbrains-search-provider@swsnr.de", "name": "JetBrains Search Provider", "pname": "jetbrains-search-provider", "description": "Deprecated, see alternative search provider\n\nUse https://github.com/swsnr/gnome-search-providers-jetbrains instead", "link": "https://extensions.gnome.org/extension/3115/jetbrains-search-provider/", "shell_version_map": {
     "38": {"version": "14", "sha256": "0hg9vv7vs419mjlc2smj25b4v5hnxi9yakwks19grlyd7gwhd70j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRlcHJlY2F0ZWQsIHNlZSBhbHRlcm5hdGl2ZSBzZWFyY2ggcHJvdmlkZXJcblxuVXNlIGh0dHBzOi8vZ2l0aHViLmNvbS9sdW5hcnlvcm4vZ25vbWUtc2VhcmNoLXByb3ZpZGVycy1qZXRicmFpbnMgaW5zdGVhZCIsCiAgIm5hbWUiOiAiSmV0QnJhaW5zIFNlYXJjaCBQcm92aWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1bmFyeW9ybi9nbm9tZS1zZWFyY2gtcHJvdmlkZXJzLWpldGJyYWlucyIsCiAgInV1aWQiOiAiamV0YnJhaW5zLXNlYXJjaC1wcm92aWRlckBzd3Nuci5kZSIsCiAgInZlcnNpb24iOiAxNAp9"}
   }}
 , {"uuid": "eye-extended@als.kz", "name": "Eye and Mouse Extended", "pname": "eye-extended", "description": "An eye on the top panel that follows your cursor.\nIt includes a mouse indicator to better keep track of your mouse location.", "link": "https://extensions.gnome.org/extension/3139/eye-extended/", "shell_version_map": {
@@ -2334,7 +2335,8 @@
     "44": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="}
   }}
 , {"uuid": "translate-indicator@athenstaedt.net", "name": "Translate Indicator", "pname": "translate-indicator", "description": "Translate extension for Gnome-Shell - based on translate-shell, inspired by Tudmotu's clipboard-indicator and gufoe's text-translator", "link": "https://extensions.gnome.org/extension/3318/translate-indicator/", "shell_version_map": {
-    "38": {"version": "3", "sha256": "04c3hjbcbn8y9d94swmc3qiv63sjynn71jnwp08sgqa79nrn4cyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}
+    "38": {"version": "3", "sha256": "04c3hjbcbn8y9d94swmc3qiv63sjynn71jnwp08sgqa79nrn4cyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDMKfQ=="},
+    "45": {"version": "5", "sha256": "05vsi19d754kywmq4lrgf5n5n96z88wqwynf3fi473yqjxs3w3gg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNsYXRlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDUKfQ=="}
   }}
 , {"uuid": "material-shell@papyelgringo", "name": "Material Shell", "pname": "material-shell", "description": "A modern desktop interface for Linux - packaged as an extension for GNOME Shell. Improve your user experience and get rid of the anarchy of traditional desktop workflows. Designed to simplify navigation and reduce the need to manipulate windows in order to improve productivity. It's meant to be 100% predictable and bring the benefits of tools coveted by professionals to everyone.", "link": "https://extensions.gnome.org/extension/3357/material-shell/", "shell_version_map": {
     "38": {"version": "12", "sha256": "1rjybqlgbjmflg21cm7js2gjzvdhw14lpzncpzwf18rh4mp2adnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInRoZW1lIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwudGhlbWUiLAogICJ0d2Vha3MiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50d2Vha3MiLAogICJ1cmwiOiAiaHR0cHM6Ly9tYXRlcmlhbC1zaGVsbC5jb20iLAogICJ1dWlkIjogIm1hdGVyaWFsLXNoZWxsQHBhcHllbGdyaW5nbyIsCiAgInZlcnNpb24iOiAxMgp9"},
@@ -3866,10 +3868,11 @@
     "45": {"version": "10", "sha256": "19mkkrvrxar6s3ggdziii7aq6r783qaisjff4dplmyg4qwx3d4mp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdOT01FIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4gTWlncmF0aW5nIGZyb20gV2luZG93cyBoYXMgbmV2ZXIgYmVlbiBlYXNpZXIhIiwKICAibmFtZSI6ICJBY3RpdmF0ZSBHTk9NRSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hY3RpdmF0ZV9nbm9tZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pc2plcnJ5eGlhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWN0aXZhdGUtZ25vbWUiLAogICJ1dWlkIjogImFjdGl2YXRlX2dub21lQGlzamVycnl4aWFvIiwKICAidmVyc2lvbiI6IDEwCn0="}
   }}
 , {"uuid": "huawei-wmi@apps.sdore.me", "name": "Huawei WMI controls", "pname": "huawei-wmi-controls", "description": "Control various Huawei and Honor laptops WMI functions, such as battery protection, Fn-lock, power unlock and keyboard backlight.", "link": "https://extensions.gnome.org/extension/4580/huawei-wmi-controls/", "shell_version_map": {
-    "40": {"version": "10", "sha256": "07h8vq0m18c7s91g3jc26ka159c827a17s1ypzddr38kcbijmw4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "41": {"version": "10", "sha256": "07h8vq0m18c7s91g3jc26ka159c827a17s1ypzddr38kcbijmw4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "42": {"version": "10", "sha256": "07h8vq0m18c7s91g3jc26ka159c827a17s1ypzddr38kcbijmw4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "43": {"version": "10", "sha256": "07h8vq0m18c7s91g3jc26ka159c827a17s1ypzddr38kcbijmw4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="}
+    "40": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "41": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "42": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "43": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"},
+    "44": {"version": "11", "sha256": "1id2glrzcb2ppk1kfjldpdcz0v88az6nqi6vkms3r4cgnjyy88b0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAxMQp9"}
   }}
 , {"uuid": "username-hotname@it-und-entwicklung-fg.de", "name": "Username and Hostname to panel", "pname": "username-and-hostname-to-panel", "description": "Adds your avatar icon, user displayname und username to the menu panel. Also it adds the hostname to the left of the panel.", "link": "https://extensions.gnome.org/extension/4583/username-and-hostname-to-panel/", "shell_version_map": {
     "38": {"version": "5", "sha256": "1g9jsfwxxz2as2nwkqdzr0km24ykkzhdfmya9mqxvr68fsanw27n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9pdC11bmQtZW50d2lja2x1bmctZmcvVXNlcm5hbWUtYW5kLUhvc3RuYW1lLyIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNQp9"},
@@ -4001,7 +4004,7 @@
     "43": {"version": "27", "sha256": "1sdq0wlnj6dib9lgjilk8xrxzh5lk63s8n5hcgky0jqbp9qvb5s7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYnJ1bm8uZW5nbGVydC9nbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWJyaWdodG5lc3NAYnJ1bm8uZW5nbGVydC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="},
     "44": {"version": "27", "sha256": "1sdq0wlnj6dib9lgjilk8xrxzh5lk63s8n5hcgky0jqbp9qvb5s7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYnJ1bm8uZW5nbGVydC9nbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWJyaWdodG5lc3NAYnJ1bm8uZW5nbGVydC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}
   }}
-, {"uuid": "date-menu-formatter@marcinjakubowski.github.com", "name": "Date Menu Formatter", "pname": "date-menu-formatter", "description": "Allows customization of the date display in the panel.\n\nMight be especially useful if you're using a horizontal panel which does not at all work well with the default date display.\n\nCHANGELOG\nVersion 5: added support for multiple Dash To Panel panels\nVersion 6: fixed issues on earlier Gnome Shell versions\nVersion 10: fixed clock hover style (by bomdia)\nVersion 11: Gnome 45 update by andyholmes@github", "link": "https://extensions.gnome.org/extension/4655/date-menu-formatter/", "shell_version_map": {
+, {"uuid": "date-menu-formatter@marcinjakubowski.github.com", "name": "Date Menu Formatter", "pname": "date-menu-formatter", "description": "Allows customization of the date display in the panel.\n\nMight be especially useful if you're using a horizontal panel which does not at all work well with the default date display.\n\nCHANGELOG\nVersion 5: added support for multiple Dash To Panel panels\nVersion 6: fixed issues on earlier Gnome Shell versions\nVersion 10: fixed clock hover style (by bomdia)\nVersion 11: Gnome 45 update by andyholmes@github\nVersion 12: added support for advanced formatters by bomdia@github", "link": "https://extensions.gnome.org/extension/4655/date-menu-formatter/", "shell_version_map": {
     "40": {"version": "10", "sha256": "0scppmfd13xdzd3bs1jsl4hbihvpp25p4gn30ji8fx40rd28w662", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9uc1xuVmVyc2lvbiAxMDogZml4ZWQgY2xvY2sgaG92ZXIgc3R5bGUgKGJ5IGJvbWRpYSkiLAogICJuYW1lIjogIkRhdGUgTWVudSBGb3JtYXR0ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGF0ZS1tZW51LWZvcm1hdHRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAidXVpZCI6ICJkYXRlLW1lbnUtZm9ybWF0dGVyQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"},
     "41": {"version": "10", "sha256": "0scppmfd13xdzd3bs1jsl4hbihvpp25p4gn30ji8fx40rd28w662", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9uc1xuVmVyc2lvbiAxMDogZml4ZWQgY2xvY2sgaG92ZXIgc3R5bGUgKGJ5IGJvbWRpYSkiLAogICJuYW1lIjogIkRhdGUgTWVudSBGb3JtYXR0ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGF0ZS1tZW51LWZvcm1hdHRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAidXVpZCI6ICJkYXRlLW1lbnUtZm9ybWF0dGVyQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"},
     "42": {"version": "10", "sha256": "0scppmfd13xdzd3bs1jsl4hbihvpp25p4gn30ji8fx40rd28w662", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9uc1xuVmVyc2lvbiAxMDogZml4ZWQgY2xvY2sgaG92ZXIgc3R5bGUgKGJ5IGJvbWRpYSkiLAogICJuYW1lIjogIkRhdGUgTWVudSBGb3JtYXR0ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGF0ZS1tZW51LWZvcm1hdHRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAidXVpZCI6ICJkYXRlLW1lbnUtZm9ybWF0dGVyQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"},
@@ -4055,7 +4058,7 @@
     "44": {"version": "40", "sha256": "18q7m8bh19dsacs5ziwgb70afvi2gppvymhq4l8m0ihppdzfa3xv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiZ2l0aHViIjogInNjaG5lZWdhbnMiLAogICAgImtvZmkiOiAic2NobmVlZ2FucyIsCiAgICAicGF5cGFsIjogInNpbW9uc2NobmVlZ2FucyIKICB9LAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvQnVybi1NeS1XaW5kb3dzIiwKICAidXVpZCI6ICJidXJuLW15LXdpbmRvd3NAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="},
     "45": {"version": "39", "sha256": "0agrb9h78i5q45np8940830abz6fr93la2j804rpfcqx6f5cdlqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiZ2l0aHViIjogInNjaG5lZWdhbnMiLAogICAgImtvZmkiOiAic2NobmVlZ2FucyIsCiAgICAicGF5cGFsIjogInNpbW9uc2NobmVlZ2FucyIKICB9LAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9CdXJuLU15LVdpbmRvd3MiLAogICJ1dWlkIjogImJ1cm4tbXktd2luZG93c0BzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}
   }}
-, {"uuid": "babar-lite@fthx", "name": "BaBar Lite", "pname": "babar-task-bar-lite-for-gnome-40", "description": "NOT MAINTAINED ANYMORE\n\nTask bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Change 'Places' label to an icon. No settings, use BaBar classic for that.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.", "link": "https://extensions.gnome.org/extension/4681/babar-task-bar-lite-for-gnome-40/", "shell_version_map": {
+, {"uuid": "babar-lite@fthx", "name": "BaBar Lite", "pname": "babar-task-bar-lite-for-gnome-40", "description": "NOT MAINTAINED ANYMORE\nPLEASE USE:\nhttps://extensions.gnome.org/extension/6556/task-up/ (Babar-like)\nOR\nhttps://extensions.gnome.org/extension/5143/dashbar/ (Dash-like)\n\nTask bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Change 'Places' label to an icon. No settings, use BaBar classic for that.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.", "link": "https://extensions.gnome.org/extension/4681/babar-task-bar-lite-for-gnome-40/", "shell_version_map": {
     "40": {"version": "2", "sha256": "163g6mabkcmf05ja4bpj7kkc0c7rs4hsf5xyfm2z4npiscjha8n7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBObyBzZXR0aW5ncywgdXNlIEJhQmFyIGNsYXNzaWMgZm9yIHRoYXQuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJCYUJhciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhci1saXRlIiwKICAidXVpZCI6ICJiYWJhci1saXRlQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"},
     "41": {"version": "2", "sha256": "163g6mabkcmf05ja4bpj7kkc0c7rs4hsf5xyfm2z4npiscjha8n7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBObyBzZXR0aW5ncywgdXNlIEJhQmFyIGNsYXNzaWMgZm9yIHRoYXQuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJCYUJhciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhci1saXRlIiwKICAidXVpZCI6ICJiYWJhci1saXRlQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"},
     "42": {"version": "2", "sha256": "163g6mabkcmf05ja4bpj7kkc0c7rs4hsf5xyfm2z4npiscjha8n7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVGFzayBiYXIuIEFwcCBncmlkLCBmYXZvcml0ZXMsIHdvcmtzcGFjZXMgYW5kIHRhc2tzIGluIHBhbmVsLiBMaWdodCBleHRlbnNpb24uXG5cbiBSZXBsYWNlICdBY3Rpdml0aWVzJyBidXR0b24gYnkgYWxsIGN1cnJlbnQgd29ya3NwYWNlcyBhbmQgYXBwcyBidXR0b25zLiBTd2l0Y2ggd29ya3NwYWNlL2FwcCBvciB0b2dnbGUgb3ZlcnZpZXcgYnkgY2xpY2tpbmcgb24gdGhlc2UgYnV0dG9ucy4gRHJhZyBhbmQgZHJvcCBmYXZvcml0ZSwgdGFzaywgZGFzaCBpdGVtIG9yIGFwcCBncmlkIGl0ZW0gdG8gYW55IHdvcmtzcGFjZSAoeW91IGNhbm5vdCByZW9yZGVyIHRhc2tzIGluc2lkZSBhIHdvcmtzcGFjZSkuIENoYW5nZSAnUGxhY2VzJyBsYWJlbCB0byBhbiBpY29uLiBObyBzZXR0aW5ncywgdXNlIEJhQmFyIGNsYXNzaWMgZm9yIHRoYXQuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJCYUJhciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9iYWJhci1saXRlIiwKICAidXVpZCI6ICJiYWJhci1saXRlQGZ0aHgiLAogICJ2ZXJzaW9uIjogMgp9"}
@@ -4323,7 +4326,7 @@
     "42": {"version": "13", "sha256": "07l1vgv9zhyh8q2h0gnn69x7h8gfn8x9q34p9lab7w08s4zn2rnb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21hcmNvc2RhbHZhcmV6L3RoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAidmVyc2lvbiI6IDEzCn0="},
     "43": {"version": "34", "sha256": "0ii1pxbnfjjli8jj0fq1g1rlhzpbn1j9088jp0sjrxvdlrmksdzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "44": {"version": "34", "sha256": "0ii1pxbnfjjli8jj0fq1g1rlhzpbn1j9088jp0sjrxvdlrmksdzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
-    "45": {"version": "38", "sha256": "0n4jgg9pfxgyp972ma0irss209jqb197spk83lm147jyifzgfh83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJjb3NkYWx2YXJlei90aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZC1leHRlbnNpb24iLAogICJ1dWlkIjogInRoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkQG1hcmNvc2RhbHZhcmV6Lm9yZyIsCiAgInZlcnNpb24iOiAzOAp9"}
+    "45": {"version": "39", "sha256": "1c960xdqfvq10inx6qhx4v1x63195hkbgns7mihgpqai0r4jk3qr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJjb3NkYWx2YXJlei90aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZC1leHRlbnNpb24iLAogICJ1dWlkIjogInRoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkQG1hcmNvc2RhbHZhcmV6Lm9yZyIsCiAgInZlcnNpb24iOiAzOQp9"}
   }}
 , {"uuid": "lock-screen-message@advendradeswanta.gitlab.com", "name": "Lock Screen Message", "pname": "lock-screen-message", "description": "Simple extension that let's you add your message to the lock screen (unlockDialog)", "link": "https://extensions.gnome.org/extension/4801/lock-screen-message/", "shell_version_map": {
     "40": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="},
@@ -4522,7 +4525,7 @@
     "42": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
     "43": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
     "44": {"version": "17", "sha256": "1m6103r9hlamd5nzxqvcavssnacjxrjypby52gpgngp3aj8698sz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
-    "45": {"version": "18", "sha256": "0l35f91sbwz210mksxacmg316zkcadjdqi9nhrbh6xlryzc0cc9d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxOAp9"}
+    "45": {"version": "19", "sha256": "00v8dk1n68f7mkybx378nsdh8y9bq8186552wg7hh204fn9jk7s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAiZ2V0dGV4dF9kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVlcHJlc2V0c2VsZWN0b3IiLAogICJuYW1lIjogIkVhc3lFZmZlY3RzIFByZXNldCBTZWxlY3RvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lZXByZXNldHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxOQp9"}
   }}
 , {"uuid": "gnomehub@gnome-hub.github.io", "name": "gnomehub", "pname": "gnomehub", "description": "An all in one extension which catagorizes notifications and displays system information", "link": "https://extensions.gnome.org/extension/4913/gnomehub/", "shell_version_map": {
     "38": {"version": "6", "sha256": "15dgj0jbfhsa0p87gi0ai6c55kj4nj9yz5ydpzamwy69k9jjjcd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="},
@@ -4586,20 +4589,14 @@
     "40": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"},
     "41": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}
   }}
-, {"uuid": "gradienttopbar@pshow.org", "name": "Gradient Top Bar", "pname": "gradient-top-bar", "description": "Makes GNOME's topbar's background gradient. You can edit the colour scheme from the extension's settings in Gnome 45.", "link": "https://extensions.gnome.org/extension/4955/gradient-top-bar/", "shell_version_map": {
+, {"uuid": "gradienttopbar@pshow.org", "name": "Gradient Top Bar", "pname": "gradient-top-bar", "description": "Makes GNOME's panel's background gradient. You can edit the colour scheme from the extension's settings in Gnome 45.", "link": "https://extensions.gnome.org/extension/4955/gradient-top-bar/", "shell_version_map": {
     "38": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "40": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "41": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "42": {"version": "4", "sha256": "004m77f5hkg9bq9lk2cf79x9va7np37q7yv474bwg165v7a0s8v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="},
     "43": {"version": "11", "sha256": "0nb4jcxhx994kgmsv0aksrjwxnw58bjw0hsijkg6bb8idm32s1pp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgImhhc1ByZWZzIjogdHJ1ZSwKICAiaWNvbiI6ICIuL2Fzc2V0cy9sb2dvLnBuZyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmcucHNob3cuZ3JhZGllbnR0b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BldGFyLXYvZ3JhZGllbnR0b3BiYXIiLAogICJ1dWlkIjogImdyYWRpZW50dG9wYmFyQHBzaG93Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"},
     "44": {"version": "11", "sha256": "0nb4jcxhx994kgmsv0aksrjwxnw58bjw0hsijkg6bb8idm32s1pp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgImhhc1ByZWZzIjogdHJ1ZSwKICAiaWNvbiI6ICIuL2Fzc2V0cy9sb2dvLnBuZyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmcucHNob3cuZ3JhZGllbnR0b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BldGFyLXYvZ3JhZGllbnR0b3BiYXIiLAogICJ1dWlkIjogImdyYWRpZW50dG9wYmFyQHBzaG93Lm9yZyIsCiAgInZlcnNpb24iOiAxMQp9"},
-    "45": {"version": "16", "sha256": "147fdwc7wc8ay82r49bxc65f48zhcazcq5wcx6xhnfi2s82jg2hl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gWW91IGNhbiBlZGl0IHRoZSBjb2xvdXIgc2NoZW1lIGZyb20gdGhlIGV4dGVuc2lvbidzIHNldHRpbmdzLiIsCiAgImdldHRleHQtZG9tYWluIjogIm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgImhhc1ByZWZzIjogdHJ1ZSwKICAiaWNvbiI6ICIuL2Fzc2V0cy9sb2dvLnBuZyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmcucHNob3cuZ3JhZGllbnR0b3BiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDE2Cn0="}
-  }}
-, {"uuid": "clipman@popov895.ukr.net", "name": "Clipman", "pname": "clipman", "description": "Simple but powerful clipboard manager.", "link": "https://extensions.gnome.org/extension/4958/clipman/", "shell_version_map": {
-    "42": {"version": "63", "sha256": "027jmbhk289dg0fzd8s8pjb1m8hb4jrm98jwlp9wckcxggcvd1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBidXQgcG93ZXJmdWwgY2xpcGJvYXJkIG1hbmFnZXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJDbGlwbWFuIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogNjMKfQ=="},
-    "43": {"version": "63", "sha256": "027jmbhk289dg0fzd8s8pjb1m8hb4jrm98jwlp9wckcxggcvd1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBidXQgcG93ZXJmdWwgY2xpcGJvYXJkIG1hbmFnZXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJDbGlwbWFuIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogNjMKfQ=="},
-    "44": {"version": "63", "sha256": "027jmbhk289dg0fzd8s8pjb1m8hb4jrm98jwlp9wckcxggcvd1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBidXQgcG93ZXJmdWwgY2xpcGJvYXJkIG1hbmFnZXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJDbGlwbWFuIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogNjMKfQ=="},
-    "45": {"version": "64", "sha256": "1xbf4yc7i3mwsp3z5caqp1ncqhfd0rlabarw8swp032h47r4ffpx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBidXQgcG93ZXJmdWwgY2xpcGJvYXJkIG1hbmFnZXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJDbGlwbWFuIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvQ2xpcG1hbiIsCiAgInV1aWQiOiAiY2xpcG1hbkBwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDY0Cn0="}
+    "45": {"version": "17", "sha256": "18i8h4gw8k1ssyfxyhk22ggmrxxw1wcn5q1bd6jxg6zli82xnvji", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgcGFuZWwncyBiYWNrZ3JvdW5kIGdyYWRpZW50LiBZb3UgY2FuIGVkaXQgdGhlIGNvbG91ciBzY2hlbWUgZnJvbSB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MgaW4gR25vbWUgNDUuIiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJwZXRhci12IiwKICAgICJwYXlwYWwiOiAicGV0YXJ2NzMiCiAgfSwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLnBzaG93LmdyYWRpZW50dG9wYmFyIiwKICAiaGFzUHJlZnMiOiB0cnVlLAogICJpY29uIjogIi4vYXNzZXRzL2xvZ28ucG5nIiwKICAibmFtZSI6ICJHcmFkaWVudCBUb3AgQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9yZy5wc2hvdy5ncmFkaWVudHRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wZXRhci12L2dyYWRpZW50dG9wYmFyIiwKICAidXVpZCI6ICJncmFkaWVudHRvcGJhckBwc2hvdy5vcmciLAogICJ2ZXJzaW9uIjogMTcKfQ=="}
   }}
 , {"uuid": "note@eexpss.gmail.com", "name": "note", "pname": "note", "description": "Add selected text to Note.\n- Notes automatic recognition and sort as 'Directory' 'Command' 'Clipboard'.\n- 'Directory': Mouse 1/2/3 act as 'Open in Files/Open in termianl/Paste dir'. It can be used as a temporary bookmark. And any click will change the working diretory in real time.\n- 'Command': Mouse 1/3 as 'Excute command in Terminal/Paste cmd'.\n- 'Clipboard': Mouse act as 'Paste to Clipboard(PRIMARY)'.\n- Terminal support kgx(new gnome-console) and gnome-terminal.", "link": "https://extensions.gnome.org/extension/4962/note/", "shell_version_map": {
     "42": {"version": "7", "sha256": "1niwlhls41l92g0bcllp4y4bdhn7k310514xkd36rn61pqz9b7q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzZWxlY3RlZCB0ZXh0IHRvIE5vdGUuXG4tIE5vdGVzIGF1dG9tYXRpYyByZWNvZ25pdGlvbiBhbmQgc29ydCBhcyAnRGlyZWN0b3J5JyAnQ29tbWFuZCcgJ0NsaXBib2FyZCcuXG4tICdEaXJlY3RvcnknOiBNb3VzZSAxLzIvMyBhY3QgYXMgJ09wZW4gaW4gRmlsZXMvT3BlbiBpbiB0ZXJtaWFubC9QYXN0ZSBkaXInLiBJdCBjYW4gYmUgdXNlZCBhcyBhIHRlbXBvcmFyeSBib29rbWFyay4gQW5kIGFueSBjbGljayB3aWxsIGNoYW5nZSB0aGUgd29ya2luZyBkaXJldG9yeSBpbiByZWFsIHRpbWUuXG4tICdDb21tYW5kJzogTW91c2UgMS8zIGFzICdFeGN1dGUgY29tbWFuZCBpbiBUZXJtaW5hbC9QYXN0ZSBjbWQnLlxuLSAnQ2xpcGJvYXJkJzogTW91c2UgYWN0IGFzICdQYXN0ZSB0byBDbGlwYm9hcmQoUFJJTUFSWSknLlxuLSBUZXJtaW5hbCBzdXBwb3J0IGtneChuZXcgZ25vbWUtY29uc29sZSkgYW5kIGdub21lLXRlcm1pbmFsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm5vdGUiLAogICJuYW1lIjogIm5vdGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1ub3RlIiwKICAidXVpZCI6ICJub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}
@@ -4930,13 +4927,13 @@
     "44": {"version": "10", "sha256": "0ca4nlss4j5rmq8xaqvjxxacdhb1vlmydqp4cal77mgzk79q63nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29kaWxpYS91cG93ZXItYmF0dGVyeSIsCiAgInV1aWQiOiAidXBvd2VyLWJhdHRlcnlAY29kaWxpYS5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="},
     "45": {"version": "12", "sha256": "0bzihv7nqljr8nv4lkl9av9qjjg6xr00hgv79f7gfqs8jbg2ckjf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvZGlsaWEvdXBvd2VyLWJhdHRlcnkiLAogICJ1dWlkIjogInVwb3dlci1iYXR0ZXJ5QGNvZGlsaWEuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}
   }}
-, {"uuid": "vertical-workspaces@G-dH.github.com", "name": "V-Shell (Vertical Workspaces)", "pname": "vertical-workspaces", "description": "Customize your GNOME Shell UI to suit your workflow, whether you like horizontally or vertically stacked workspaces.\n\nDear users, the reliability and stability of this extension is my priority, but V-Shell is an extension to default GNOME Shell and cannot be compatible with all available extensions. If you encounter any problem, first check for conflicts with other extensions and then open an issue on the Github page linked below.\n\nV-Shell includes many workarounds to survive conflicts and work with Dash to Dock / Ubuntu Dock / Dash to Panel extensions and other popular extensions, but issues may occur. In any case, V-Shell works better without Dash to Dock an Dash to Panel.\n\nAny feedback is greatly appreciated!\n\nV-Shell features:\n- vertical or horizontal orientation of workspaces\n- customize the overview layout, dimensions and contents\n- alternative overview modes with static workspace preview that reduces unnecessary movement on the screen\n- 4 predefined profiles with different layout and behavior that can be overwritten by your settings\n- wallpaper background with adjustable blur effect in the overview\n- dash icon size, content, icon click and scroll behavior\n- app grid dimensions, icons size, contents and behavior\n- active icons in the folder preview\n- close workspace button on workspace thumbnail\n- main panel position and visibility\n- hot corner/edge position and behavior\n- notifications, OSD and workspace switcher popup position\n- custom window attention handler behavior\n- improved app search provider with custom icon size\n- window search provider for quick navigation between windows\n- recent files search provider\n- static background in the workspace switcher animation outside of the overview\n- workspace switcher popup appears even when switching workspace with a gesture\n- fixes (works around) several upstream bugs (known and reported)\n- modular structure of the V-Shell allows you to disable modules that you don't need or conflict with other extension that you like better for the task", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {
+, {"uuid": "vertical-workspaces@G-dH.github.com", "name": "V-Shell (Vertical Workspaces)", "pname": "vertical-workspaces", "description": "Customize your GNOME Shell UI to suit your workflow, whether you like horizontally or vertically stacked workspaces.\n\nDear users, the reliability and stability of this extension is my priority, but V-Shell is an extension to default GNOME Shell and cannot be compatible with all available extensions. If you encounter any problem, first check for conflicts with other extensions and then open an issue on the Github page linked below.\n\nV-Shell includes many workarounds to survive conflicts and work with Dash to Dock / Ubuntu Dock extensions and other popular extensions, but issues may occur. In any case, V-Shell works better without Dash to Dock and Dash to Panel.\n\nAny feedback is greatly appreciated!\n\nV-Shell features:\n- vertical or horizontal orientation of workspaces\n- customize the overview layout, dimensions and contents\n- alternative overview modes with static workspace preview that reduces unnecessary movement on the screen\n- 4 predefined profiles with different layout and behavior that can be overwritten by your settings\n- wallpaper background with adjustable blur effect in the overview\n- dash icon size, content, icon click and scroll behavior\n- app grid dimensions, icons size, contents and behavior\n- active icons in the folder preview\n- close workspace button on workspace thumbnail\n- main panel position and visibility\n- hot corner/edge position and behavior\n- notifications, OSD and workspace switcher popup position\n- custom window attention handler behavior\n- improved app search provider with custom icon size\n- window search provider for quick navigation between windows\n- recent files search provider\n- static background in the workspace switcher animation outside of the overview\n- workspace switcher popup appears even when switching workspace with a gesture\n- fixes (works around) several upstream bugs (known and reported)\n- workspace isolated Dash\n- modular structure of the V-Shell allows you to disable modules that you don't need or conflict with other extension that you like better for the task", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {
     "40": {"version": "23", "sha256": "0dp7qbbcs46w1lc2v46cvhfx7r8h1jrp95mhd8wip8c7npmnr66q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuXG5cbkRlYXIgdXNlcnMsIHRoZSByZWxpYWJpbGl0eSBhbmQgc3RhYmlsaXR5IG9mIHRoaXMgZXh0ZW5zaW9uIGlzIG15IHByaW9yaXR5LCBpZiB5b3UgZW5jb3VudGVyIGFueSBwcm9ibGVtLCBmaXJzdCBjaGVjayBmb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9ucyBhbmQgdGhlbiBvcGVuIGFuIGlzc3VlIG9uIHRoZSBHaXRodWIgcGFnZSBsaW5rZWQgYmVsb3cuXG5cblYtU2hlbGwgaW5jbHVkZXMgbWFueSB3b3JrYXJvdW5kcyB0byBzdXJ2aXZlIGNvbmZsaWN0cyBhbmQgd29yayB3aXRoIERhc2ggdG8gRG9jayAvIFVidW50dSBEb2NrIGV4dGVuc2lvbnMsIGJ1dCBpc3N1ZXMgbWF5IG9jY3VyLiBJbiBhbnkgY2FzZSwgVi1TaGVsbCB3b3JrcyBiZXR0ZXIgd2l0aG91dCBEYXNoIHRvIERvY2suXG5cbkFueSBmZWVkYmFjayBpcyBncmVhdGx5IGFwcHJlY2lhdGVkLCBidXQgZG9uJ3QgZm9yZ2V0IC0gaWYgeW91IHdhbnQgbWUgdG8gd29yayBmb3IgeW91LCBiZSBuaWNlIDspXG5cblYtU2hlbGwgZmVhdHVyZXM6XG4tIHZlcnRpY2FsIG9yIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlc1xuLSBjdXN0b21pemUgdGhlIG92ZXJ2aWV3IGxheW91dCwgZGltZW5zaW9ucyBhbmQgY29udGVudHNcbi0gYWx0ZXJuYXRpdmUgb3ZlcnZpZXcgbW9kZXMgd2l0aCBzdGF0aWMgd29ya3NwYWNlIHByZXZpZXcgdGhhdCByZWR1Y2VzIHVubmVjZXNzYXJ5IG1vdmVtZW50IG9uIHRoZSBzY3JlZW5cbi0gd2FsbHBhcGVyIGJhY2tncm91bmQgd2l0aCBhZGp1c3RhYmxlIGJsdXIgZWZmZWN0IGluIHRoZSBvdmVydmlld1xuLSBkYXNoIGljb24gc2l6ZSwgY29udGVudCwgaWNvbiBjbGljayBhbmQgc2Nyb2xsIGJlaGF2aW9yXG4tIGFwcCBncmlkIGRpbWVuc2lvbnMsIGljb25zIHNpemUsIGNvbnRlbnRzIGFuZCBiZWhhdmlvclxuLSBhY3RpdmUgaWNvbnMgaW4gdGhlIGZvbGRlciBwcmV2aWV3XG4tIGNsb3NlIHdvcmtzcGFjZSBidXR0b24gb24gd29ya3NwYWNlIHRodW1ibmFpbFxuLSBtYWluIHBhbmVsIHBvc2l0aW9uIGFuZCB2aXNpYmlsaXR5XG4tIGhvdCBjb3JuZXIvZWRnZSBwb3NpdGlvbiBhbmQgYmVoYXZpb3Jcbi0gbm90aWZpY2F0aW9ucywgT1NEIGFuZCB3b3Jrc3BhY2Ugc3dpdGNoZXIgcG9wdXAgcG9zaXRpb25cbi0gY3VzdG9tIHdpbmRvdyBhdHRlbnRpb24gaGFuZGxlciBiZWhhdmlvclxuLSBpbXByb3ZlZCBhcHAgc2VhcmNoIHByb3ZpZGVyIHdpdGggY3VzdG9tIGljb24gc2l6ZVxuLSB3aW5kb3cgc2VhcmNoIHByb3ZpZGVyIGZvciBxdWljayBuYXZpZ2F0aW9uIGJldHdlZW4gd2luZG93c1xuLSByZWNlbnQgZmlsZXMgc2VhcmNoIHByb3ZpZGVyXG4tIHN0YXRpYyBiYWNrZ3JvdW5kIGluIHRoZSB3b3Jrc3BhY2Ugc3dpdGNoZXIgYW5pbWF0aW9uIG91dHNpZGUgb2YgdGhlIG92ZXJ2aWV3XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJzIGV2ZW4gd2hlbiBzd2l0Y2hpbmcgd29ya3NwYWNlIHdpdGggYSBnZXN0dXJlXG4tIDQgcHJlZGVmaW5lZCBwcm9maWxlcyB3aXRoIGRpZmZlcmVudCBsYXlvdXQgYW5kIGJlaGF2aW9yIHRoYXQgY2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHlvdXIgc2V0dGluZ3Ncbi0gZml4ZXMgKHdvcmtzIGFyb3VuZCkgc2V2ZXJhbCB1cHN0cmVhbSBidWdzIChrbm93biBhbmQgcmVwb3J0ZWQpXG4tIG1vZHVsYXIgc3RydWN0dXJlIG9mIHRoZSBWLVNoZWxsIGFsbG93cyB5b3UgdG8gZGlzYWJsZSBtb2R1bGVzIHRoYXQgeW91IGRvbid0IG5lZWQgb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9uIHRoYXQgeW91IGxpa2UgYmV0dGVyIGZvciB0aGUgdGFzayIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"},
     "41": {"version": "23", "sha256": "0dp7qbbcs46w1lc2v46cvhfx7r8h1jrp95mhd8wip8c7npmnr66q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuXG5cbkRlYXIgdXNlcnMsIHRoZSByZWxpYWJpbGl0eSBhbmQgc3RhYmlsaXR5IG9mIHRoaXMgZXh0ZW5zaW9uIGlzIG15IHByaW9yaXR5LCBpZiB5b3UgZW5jb3VudGVyIGFueSBwcm9ibGVtLCBmaXJzdCBjaGVjayBmb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9ucyBhbmQgdGhlbiBvcGVuIGFuIGlzc3VlIG9uIHRoZSBHaXRodWIgcGFnZSBsaW5rZWQgYmVsb3cuXG5cblYtU2hlbGwgaW5jbHVkZXMgbWFueSB3b3JrYXJvdW5kcyB0byBzdXJ2aXZlIGNvbmZsaWN0cyBhbmQgd29yayB3aXRoIERhc2ggdG8gRG9jayAvIFVidW50dSBEb2NrIGV4dGVuc2lvbnMsIGJ1dCBpc3N1ZXMgbWF5IG9jY3VyLiBJbiBhbnkgY2FzZSwgVi1TaGVsbCB3b3JrcyBiZXR0ZXIgd2l0aG91dCBEYXNoIHRvIERvY2suXG5cbkFueSBmZWVkYmFjayBpcyBncmVhdGx5IGFwcHJlY2lhdGVkLCBidXQgZG9uJ3QgZm9yZ2V0IC0gaWYgeW91IHdhbnQgbWUgdG8gd29yayBmb3IgeW91LCBiZSBuaWNlIDspXG5cblYtU2hlbGwgZmVhdHVyZXM6XG4tIHZlcnRpY2FsIG9yIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlc1xuLSBjdXN0b21pemUgdGhlIG92ZXJ2aWV3IGxheW91dCwgZGltZW5zaW9ucyBhbmQgY29udGVudHNcbi0gYWx0ZXJuYXRpdmUgb3ZlcnZpZXcgbW9kZXMgd2l0aCBzdGF0aWMgd29ya3NwYWNlIHByZXZpZXcgdGhhdCByZWR1Y2VzIHVubmVjZXNzYXJ5IG1vdmVtZW50IG9uIHRoZSBzY3JlZW5cbi0gd2FsbHBhcGVyIGJhY2tncm91bmQgd2l0aCBhZGp1c3RhYmxlIGJsdXIgZWZmZWN0IGluIHRoZSBvdmVydmlld1xuLSBkYXNoIGljb24gc2l6ZSwgY29udGVudCwgaWNvbiBjbGljayBhbmQgc2Nyb2xsIGJlaGF2aW9yXG4tIGFwcCBncmlkIGRpbWVuc2lvbnMsIGljb25zIHNpemUsIGNvbnRlbnRzIGFuZCBiZWhhdmlvclxuLSBhY3RpdmUgaWNvbnMgaW4gdGhlIGZvbGRlciBwcmV2aWV3XG4tIGNsb3NlIHdvcmtzcGFjZSBidXR0b24gb24gd29ya3NwYWNlIHRodW1ibmFpbFxuLSBtYWluIHBhbmVsIHBvc2l0aW9uIGFuZCB2aXNpYmlsaXR5XG4tIGhvdCBjb3JuZXIvZWRnZSBwb3NpdGlvbiBhbmQgYmVoYXZpb3Jcbi0gbm90aWZpY2F0aW9ucywgT1NEIGFuZCB3b3Jrc3BhY2Ugc3dpdGNoZXIgcG9wdXAgcG9zaXRpb25cbi0gY3VzdG9tIHdpbmRvdyBhdHRlbnRpb24gaGFuZGxlciBiZWhhdmlvclxuLSBpbXByb3ZlZCBhcHAgc2VhcmNoIHByb3ZpZGVyIHdpdGggY3VzdG9tIGljb24gc2l6ZVxuLSB3aW5kb3cgc2VhcmNoIHByb3ZpZGVyIGZvciBxdWljayBuYXZpZ2F0aW9uIGJldHdlZW4gd2luZG93c1xuLSByZWNlbnQgZmlsZXMgc2VhcmNoIHByb3ZpZGVyXG4tIHN0YXRpYyBiYWNrZ3JvdW5kIGluIHRoZSB3b3Jrc3BhY2Ugc3dpdGNoZXIgYW5pbWF0aW9uIG91dHNpZGUgb2YgdGhlIG92ZXJ2aWV3XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJzIGV2ZW4gd2hlbiBzd2l0Y2hpbmcgd29ya3NwYWNlIHdpdGggYSBnZXN0dXJlXG4tIDQgcHJlZGVmaW5lZCBwcm9maWxlcyB3aXRoIGRpZmZlcmVudCBsYXlvdXQgYW5kIGJlaGF2aW9yIHRoYXQgY2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHlvdXIgc2V0dGluZ3Ncbi0gZml4ZXMgKHdvcmtzIGFyb3VuZCkgc2V2ZXJhbCB1cHN0cmVhbSBidWdzIChrbm93biBhbmQgcmVwb3J0ZWQpXG4tIG1vZHVsYXIgc3RydWN0dXJlIG9mIHRoZSBWLVNoZWxsIGFsbG93cyB5b3UgdG8gZGlzYWJsZSBtb2R1bGVzIHRoYXQgeW91IGRvbid0IG5lZWQgb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9uIHRoYXQgeW91IGxpa2UgYmV0dGVyIGZvciB0aGUgdGFzayIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"},
-    "42": {"version": "37", "sha256": "13qp4wklz5qspcwyyq0a0bxi3j8fdfi0faw3yhzajya74arh6bk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"},
-    "43": {"version": "37", "sha256": "13qp4wklz5qspcwyyq0a0bxi3j8fdfi0faw3yhzajya74arh6bk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"},
-    "44": {"version": "37", "sha256": "13qp4wklz5qspcwyyq0a0bxi3j8fdfi0faw3yhzajya74arh6bk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"},
-    "45": {"version": "40", "sha256": "14mf4w36k57kzc4cmjapdwkf9l6nf1fq6yxf0xin6nrr8xlf93v1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvdmVydGljYWwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAidmVydGljYWwtd29ya3NwYWNlc0BHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDAsCiAgInZlcnNpb24tbmFtZSI6ICI0NS4xIgp9"}
+    "42": {"version": "42", "sha256": "1c62ha1p2c3m3z7xfmvqymwnkraxnka5v9kbva3nj2v754b7966d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0MiwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEwIgp9"},
+    "43": {"version": "42", "sha256": "1c62ha1p2c3m3z7xfmvqymwnkraxnka5v9kbva3nj2v754b7966d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0MiwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEwIgp9"},
+    "44": {"version": "42", "sha256": "1c62ha1p2c3m3z7xfmvqymwnkraxnka5v9kbva3nj2v754b7966d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0MiwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEwIgp9"},
+    "45": {"version": "43", "sha256": "11kpk19i81w5asbd0z8vsrrhvb83hjlplky673h6557g6hz44n4m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvdmVydGljYWwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAidmVydGljYWwtd29ya3NwYWNlc0BHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDMsCiAgInZlcnNpb24tbmFtZSI6ICI0NS4yIgp9"}
   }}
 , {"uuid": "rocketbar@chepkun.github.com", "name": "Rocketbar", "pname": "rocketbar", "description": "Taskbar and misc additions for the GNOME Shell.", "link": "https://extensions.gnome.org/extension/5180/rocketbar/", "shell_version_map": {
     "42": {"version": "8", "sha256": "0p8msiyqpic8d0cv65j97gqp03vgi935rqgs2gjrffq3cg7wy2iq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2tiYXIgYW5kIG1pc2MgYWRkaXRpb25zIGZvciB0aGUgR05PTUUgU2hlbGwuXG5cbkEgbmV3IG1ham9yIHJlbGVhc2Ugd2lsbCBiZSBvdXQgbGF0ZXIgdGhpcyB5ZWFyLi4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicm9ja2V0YmFyIiwKICAibmFtZSI6ICJSb2NrZXRiYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucm9ja2V0YmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtaXMtYXdlc29tZS9nbm9tZV9leHRlbnNpb25fcm9ja2V0YmFyIiwKICAidXVpZCI6ICJyb2NrZXRiYXJAY2hlcGt1bi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="},
@@ -5194,10 +5191,11 @@
     "43": {"version": "8", "sha256": "0q6wzq2m0pjfcgf0jrbf2ygagikdmmgrkx561fw1fb23332v1f8g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFB1c2hvdmVyIE5vdGlmaWNhdGlvbnMgd2l0aGluIEdOT01FIGFuZCB3aXRoaW4geW91ciB0cmF5LiBQcml2YWN5IHJlc3BlY3RpbmcgdW5vZmZpY2lhbCBjbGllbnQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtcHVzaG92ZXItbWVzc2FnZXMtdW5vZmZpY2lhbCIsCiAgIm5hbWUiOiAiUHVzaG92ZXIgTWVzc2FnZSBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2N3aXR0ZW5iZXJnL2dub21lLXB1c2hvdmVyLW1lc3NhZ2VzLXVub2ZmaWNpYWwiLAogICJ1dWlkIjogImdub21lLXB1c2hvdmVyLW1lc3NhZ2VzLXVub2ZmaWNpYWxAaXdvbnQuY3lvdSIsCiAgInZlcnNpb24iOiA4Cn0="}
   }}
 , {"uuid": "notification-filter@asynclink.org", "name": "Notification Filter", "pname": "notification-filter", "description": "Filter out notifications by their text content to block them from appearing.\nIf you've ever been annoyed by certain notifications distracting you, this extension gives you more fine tuned control of which notifications to prevent from showing up.\n\nGives you the ability to filter by both the title and body content, use regex matching, and add multiple different filters.\n\nNote: Only prevents new notifications from appearing, does not remove existing notifications.", "link": "https://extensions.gnome.org/extension/5380/notification-filter/", "shell_version_map": {
-    "40": {"version": "3", "sha256": "19jry9hg34i1i1f3r5v7pg9vplfhf27c1rvrnqqwld4qzpp5g0p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NweWJ1Zy9Ob3RpZnlGaWx0ZXItR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1maWx0ZXJAYXN5bmNsaW5rLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="},
-    "41": {"version": "3", "sha256": "19jry9hg34i1i1f3r5v7pg9vplfhf27c1rvrnqqwld4qzpp5g0p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NweWJ1Zy9Ob3RpZnlGaWx0ZXItR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1maWx0ZXJAYXN5bmNsaW5rLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="},
-    "42": {"version": "3", "sha256": "19jry9hg34i1i1f3r5v7pg9vplfhf27c1rvrnqqwld4qzpp5g0p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NweWJ1Zy9Ob3RpZnlGaWx0ZXItR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1maWx0ZXJAYXN5bmNsaW5rLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="},
-    "43": {"version": "3", "sha256": "19jry9hg34i1i1f3r5v7pg9vplfhf27c1rvrnqqwld4qzpp5g0p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NweWJ1Zy9Ob3RpZnlGaWx0ZXItR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1maWx0ZXJAYXN5bmNsaW5rLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="}
+    "40": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"},
+    "41": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"},
+    "42": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"},
+    "43": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"},
+    "44": {"version": "5", "sha256": "1khamwky9f5nqy8n2pfix1jjk589f5864hqgbpznrkzcvz4rbxmr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbHRlciBvdXQgbm90aWZpY2F0aW9ucyBieSB0aGVpciB0ZXh0IGNvbnRlbnQgdG8gYmxvY2sgdGhlbSBmcm9tIGFwcGVhcmluZy5cbklmIHlvdSd2ZSBldmVyIGJlZW4gYW5ub3llZCBieSBjZXJ0YWluIG5vdGlmaWNhdGlvbnMgZGlzdHJhY3RpbmcgeW91LCB0aGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgbW9yZSBmaW5lIHR1bmVkIGNvbnRyb2wgb2Ygd2hpY2ggbm90aWZpY2F0aW9ucyB0byBwcmV2ZW50IGZyb20gc2hvd2luZyB1cC5cblxuR2l2ZXMgeW91IHRoZSBhYmlsaXR5IHRvIGZpbHRlciBieSBib3RoIHRoZSB0aXRsZSBhbmQgYm9keSBjb250ZW50LCB1c2UgcmVnZXggbWF0Y2hpbmcsIGFuZCBhZGQgbXVsdGlwbGUgZGlmZmVyZW50IGZpbHRlcnMuXG5cbk5vdGU6IE9ubHkgcHJldmVudHMgbmV3IG5vdGlmaWNhdGlvbnMgZnJvbSBhcHBlYXJpbmcsIGRvZXMgbm90IHJlbW92ZSBleGlzdGluZyBub3RpZmljYXRpb25zLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEZpbHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24tZmlsdGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcHlidWcvTm90aWZ5RmlsdGVyLUdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZmlsdGVyQGFzeW5jbGluay5vcmciLAogICJ2ZXJzaW9uIjogNQp9"}
   }}
 , {"uuid": "evpn-assistant@xytrexl.com", "name": "ExpressVPN - EVPN Shell Assistant ( express vpn )", "pname": "evpn-shell-assistant", "description": "Allows ExpressVPN to be controlled through the GNOME shell.", "link": "https://extensions.gnome.org/extension/5385/evpn-shell-assistant/", "shell_version_map": {
     "42": {"version": "3", "sha256": "1lvdv1dv78v36j52n58hjrg2hwc3flrq9mryffdhvjb01rrxmigv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBFeHByZXNzVlBOIHRvIGJlIGNvbnRyb2xsZWQgdGhyb3VnaCB0aGUgR05PTUUgc2hlbGwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWV2cG4tYXNzaXN0YW50IiwKICAibmFtZSI6ICJFeHByZXNzVlBOIC0gRVZQTiBTaGVsbCBBc3Npc3RhbnQgKCBleHByZXNzIHZwbiApIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlN0dWFydCBHaWxtb3VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmV2cG4tYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N0dWFydGphbWVzZ2lsbW91ci9ldnBuLWFzc2lzdGFudCIsCiAgInV1aWQiOiAiZXZwbi1hc3Npc3RhbnRAeHl0cmV4bC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}
@@ -5692,10 +5690,10 @@
 , {"uuid": "overviewbackground@github.com.orbitcorrection", "name": "Overview Background", "pname": "overview-background", "description": "Add background in overview", "link": "https://extensions.gnome.org/extension/5856/overview-background/", "shell_version_map": {
     "40": {"version": "7", "sha256": "0asaxvjc17x5vg55di2pcd6vwczbgzvw91bi9s6957f45d04n1y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9vdmVydmlldy1iYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJvdmVydmlld2JhY2tncm91bmRAZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogNwp9"},
     "41": {"version": "7", "sha256": "0asaxvjc17x5vg55di2pcd6vwczbgzvw91bi9s6957f45d04n1y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9vdmVydmlldy1iYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJvdmVydmlld2JhY2tncm91bmRAZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogNwp9"},
-    "42": {"version": "12", "sha256": "16jx4h6fcp8wr30p0d4gif0n1md302ff8x88q4sk5ij9xgcpr19q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxMgp9"},
-    "43": {"version": "12", "sha256": "16jx4h6fcp8wr30p0d4gif0n1md302ff8x88q4sk5ij9xgcpr19q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxMgp9"},
-    "44": {"version": "12", "sha256": "16jx4h6fcp8wr30p0d4gif0n1md302ff8x88q4sk5ij9xgcpr19q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxMgp9"},
-    "45": {"version": "11", "sha256": "0d3lcakyf3d3s1v5nl5p4mmdn6mpygcq98hr70fxwnyr3f1r90gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvd2JlYS9vdmVydmlldy1iYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJvdmVydmlld2JhY2tncm91bmRAZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}
+    "42": {"version": "15", "sha256": "06zs5qhn63d481clvf7fjdwzwkz893h3hf257q3wikipa6mqqgk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxNQp9"},
+    "43": {"version": "15", "sha256": "06zs5qhn63d481clvf7fjdwzwkz893h3hf257q3wikipa6mqqgk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxNQp9"},
+    "44": {"version": "15", "sha256": "06zs5qhn63d481clvf7fjdwzwkz893h3hf257q3wikipa6mqqgk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG93YmVhL292ZXJ2aWV3LWJhY2tncm91bmQiLAogICJ1dWlkIjogIm92ZXJ2aWV3YmFja2dyb3VuZEBnaXRodWIuY29tLm9yYml0Y29ycmVjdGlvbiIsCiAgInZlcnNpb24iOiAxNQp9"},
+    "45": {"version": "13", "sha256": "1dlp01mpy4zs83qzq9x0s471cqj652h8718dswvz2pac9p5sa31p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJPdmVydmlldyBCYWNrZ3JvdW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9iIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvd2JlYS9vdmVydmlldy1iYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJvdmVydmlld2JhY2tncm91bmRAZ2l0aHViLmNvbS5vcmJpdGNvcnJlY3Rpb24iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
   }}
 , {"uuid": "logout-button@0ct0puce.com", "name": "Logout Button", "pname": "logout-button", "description": "Logout button easily accessible in the top panel. It could be useful as it restart gnome everytime you click it.", "link": "https://extensions.gnome.org/extension/5865/logout-button/", "shell_version_map": {
     "43": {"version": "1", "sha256": "15v4d6kxnlnbayqryliy67s35zbvr6j8g1w2x6wm0w909gcwi0px", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ291dCBidXR0b24gZWFzaWx5IGFjY2Vzc2libGUgaW4gdGhlIHRvcCBwYW5lbC4gSXQgY291bGQgYmUgdXNlZnVsIGFzIGl0IHJlc3RhcnQgZ25vbWUgZXZlcnl0aW1lIHlvdSBjbGljayBpdC4iLAogICJuYW1lIjogIkxvZ291dCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMENUMFBVQ0UtTE9HL2dub21lLXNoZWxsLWV4dGVuc2lvbi1sb2dvdXQtYnV0dG9uIiwKICAidXVpZCI6ICJsb2dvdXQtYnV0dG9uQDBjdDBwdWNlLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}
@@ -5760,16 +5758,13 @@
 , {"uuid": "osk-toggle@papierfliegr.github.com", "name": "[DROPPED] OSK Toggle", "pname": "osk-toggle", "description": "See \"GJS OSK\" for better alternative.\nAdds On-Screen-Keyboard Toggle to Quick-Settings/ Hides accessability icon", "link": "https://extensions.gnome.org/extension/5922/osk-toggle/", "shell_version_map": {
     "44": {"version": "4", "sha256": "05ll3pbfwlaxapbpi9i04s1sdlrb7m2q3xvc8fjcd636fqybivsw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSBcIkdKUyBPU0tcIiBmb3IgYmV0dGVyIGFsdGVybmF0aXZlLlxuQWRkcyBPbi1TY3JlZW4tS2V5Ym9hcmQgVG9nZ2xlIHRvIFF1aWNrLVNldHRpbmdzLyBIaWRlcyBhY2Nlc3NhYmlsaXR5IGljb24iLAogICJuYW1lIjogIltEUk9QUEVEXSBPU0sgVG9nZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BhcGllckZsaWVnci9PU0stVG9nZ2xlIiwKICAidXVpZCI6ICJvc2stdG9nZ2xlQHBhcGllcmZsaWVnci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}
   }}
-, {"uuid": "username_in_shell_panel@raviprak", "name": "Only username in top panel", "pname": "only-username-in-top-panel", "description": "Add only user name in top panel. This is a fork of https://extensions.gnome.org/extension/2633/user-id-in-top-panel/", "link": "https://extensions.gnome.org/extension/5925/only-username-in-top-panel/", "shell_version_map": {
-    "44": {"version": "1", "sha256": "0xwm4s9mkq81wk6cr63kydq92zh183dxafpykicjrf9vj1n6in8n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvbmx5IHVzZXIgbmFtZSBpbiB0b3AgcGFuZWwuIFRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzI2MzMvdXNlci1pZC1pbi10b3AtcGFuZWwvIiwKICAibmFtZSI6ICJPbmx5IHVzZXJuYW1lIGluIHRvcCBwYW5lbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZnRoeCIsCiAgICAicmF2aXByYWsiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ2l0aHViLmNvbS9yYXZpcHJhay91c2VybmFtZV9pbl9nbm9tZV9zaGVsbF9wYW5lbCIsCiAgInV1aWQiOiAidXNlcm5hbWVfaW5fc2hlbGxfcGFuZWxAcmF2aXByYWsiLAogICJ2ZXJzaW9uIjogMQp9"}
-  }}
 , {"uuid": "logoactivities@github.com.orbitcorrection", "name": "Logo Activities", "pname": "logo-activities", "description": "Show an icon instead of the label", "link": "https://extensions.gnome.org/extension/5928/logo-activities/", "shell_version_map": {
     "40": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
     "41": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
     "42": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
     "43": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
     "44": {"version": "7", "sha256": "1xd634cql2xakn62yqdml3s4r6x347138i7a20dn9r3qgmsi87s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vcmJpdGNvcnJlY3Rvbi9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDcKfQ=="},
-    "45": {"version": "8", "sha256": "1bjnnqb35rzfw2y1qyb9siniwn5ysxnbadxqzbf8w1m8f3qscc7y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvZ29hY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvd2JlYS9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDgKfQ=="}
+    "45": {"version": "9", "sha256": "1g8n013wz6x5xcywwvsv741f2xwv4ap6blx5n35dm119cvw12daf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW4gaWNvbiBpbnN0ZWFkIG9mIHRoZSBsYWJlbCIsCiAgIm5hbWUiOiAiTG9nbyBBY3Rpdml0aWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvZ29hY3Rpdml0aWVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvd2JlYS9sb2dvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImxvZ29hY3Rpdml0aWVzQGdpdGh1Yi5jb20ub3JiaXRjb3JyZWN0aW9uIiwKICAidmVyc2lvbiI6IDkKfQ=="}
   }}
 , {"uuid": "forbiden-multi-touch-gesture@touch-easy.com", "name": "forbiden-multi-touch", "pname": "forbiden-multi-touch", "description": "forbiden multi-touch-gesture", "link": "https://extensions.gnome.org/extension/5931/forbiden-multi-touch/", "shell_version_map": {
     "42": {"version": "1", "sha256": "0qpd5y4zjbrrjpnpsjzaa1fw1q25s04ysh2r82i5dr9afxbv2qz7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImZvcmJpZGVuIG11bHRpLXRvdWNoLWdlc3R1cmUiLAogICJuYW1lIjogImZvcmJpZGVuLW11bHRpLXRvdWNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJmb3JiaWRlbi1tdWx0aS10b3VjaC1nZXN0dXJlQHRvdWNoLWVhc3kuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}
@@ -5783,7 +5778,7 @@
 , {"uuid": "quick-settings-audio-panel@rayzeq.github.io", "name": "Quick Settings Audio Panel", "pname": "quick-settings-audio-panel", "description": "Create a new panel containing volumes and media control in the quick settings", "link": "https://extensions.gnome.org/extension/5940/quick-settings-audio-panel/", "shell_version_map": {
     "43": {"version": "32", "sha256": "1dfdjnbgr2b8wf43pphvhbjpwi0dwi7ildi9ynif9k5nylv35l7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAibmFtZSI6ICJRdWljayBTZXR0aW5ncyBBdWRpbyBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5xdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMyCn0="},
     "44": {"version": "32", "sha256": "1dfdjnbgr2b8wf43pphvhbjpwi0dwi7ildi9ynif9k5nylv35l7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAibmFtZSI6ICJRdWljayBTZXR0aW5ncyBBdWRpbyBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5xdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMyCn0="},
-    "45": {"version": "33", "sha256": "0vmbmw2h0r3dr6mc2cxlgh76q5y8c8pa03lm5mw6kprmg77djvy0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWxAcmF5emVxLmdpdGh1Yi5pbyIsCiAgIm5hbWUiOiAiUXVpY2sgU2V0dGluZ3MgQXVkaW8gUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMzCn0="}
+    "45": {"version": "34", "sha256": "18m314mcs8xnmwlc5d2fh14bx16ikdjxfzf5dhkq72hw62sdjl9n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWxAcmF5emVxLmdpdGh1Yi5pbyIsCiAgIm5hbWUiOiAiUXVpY2sgU2V0dGluZ3MgQXVkaW8gUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDM0Cn0="}
   }}
 , {"uuid": "soft-brightness-plus@joelkitching.com", "name": "Soft Brightness Plus", "pname": "soft-brightness-plus", "description": "Add or override the brightness slider to change the brightness via an alpha layer (and optionally stop using or cooperate with the exising backlight, if present).\nEither internal, external or all monitors can be dimmed.\nSee the GitHub page for details.\n\nNote that this extension will keep running on the lock screen, as you'd also want the brightness setting to apply to the lock screen as well. Please report on GitHub if this gives you any trouble.\n\nThis extension is a fork of the original 'Soft brightness' extension, and maintains support for new GNOME releases.", "link": "https://extensions.gnome.org/extension/5943/soft-brightness-plus/", "shell_version_map": {
     "38": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
@@ -5792,7 +5787,7 @@
     "42": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
     "43": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
     "44": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
-    "45": {"version": "13", "sha256": "18if0c45y81g4x9bdk9ivb5q2a9kjswzh2dhxm8ipb7ikfhz6j3m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBtYWludGFpbnMgc3VwcG9ydCBmb3IgbmV3IEdOT01FIHJlbGVhc2VzLiIsCiAgImdldHRleHQtZG9tYWluIjogInNvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAibmFtZSI6ICJTb2Z0IEJyaWdodG5lc3MgUGx1cyIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidW5sb2NrLWRpYWxvZyIsCiAgICAidXNlciIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogImIyNzRiOWQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
+    "45": {"version": "14", "sha256": "0jr1092ksdskfbzarwjjbq5ibqr26423msyz1n7d7bknqfb2a8p2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBtYWludGFpbnMgc3VwcG9ydCBmb3IgbmV3IEdOT01FIHJlbGVhc2VzLiIsCiAgImdldHRleHQtZG9tYWluIjogInNvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAibmFtZSI6ICJTb2Z0IEJyaWdodG5lc3MgUGx1cyIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidW5sb2NrLWRpYWxvZyIsCiAgICAidXNlciIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogImQ1NTQ0ZTgiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}
   }}
 , {"uuid": "swatch-clock@okatotf.github.io", "name": "Swatch Clock", "pname": "swatch-clock", "description": "An extension which displays the Swatch Internet Time on the panel.", "link": "https://extensions.gnome.org/extension/5946/swatch-clock/", "shell_version_map": {
     "44": {"version": "2", "sha256": "131rlf6q1w6jxz95j8yf3vpi40y80p1rjax5b2mapm6ppasdlkl2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGV4dGVuc2lvbiB3aGljaCBkaXNwbGF5cyB0aGUgU3dhdGNoIEludGVybmV0IFRpbWUgb24gdGhlIHBhbmVsLiIsCiAgIm5hbWUiOiAiU3dhdGNoIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29rYXRvdGYvc3dhdGNoLWNsb2NrIiwKICAidXVpZCI6ICJzd2F0Y2gtY2xvY2tAb2thdG90Zi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMgp9"}
@@ -5839,7 +5834,7 @@
     "42": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
     "43": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
     "44": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
-    "45": {"version": "109", "sha256": "0y209zqw7vwjqqfgl2nza0cp12z5baw93h6p4fwpz6j1m4nr1fpm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMDkKfQ=="}
+    "45": {"version": "111", "sha256": "1r8bzjjk6lwid3bmwv8bzsgr3w9a179z0qbrxf5wzyf71y72kad9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMTEKfQ=="}
   }}
 , {"uuid": "dim-completed-calendar-events@marcinjahn.com", "name": "Dim Completed Calendar Events", "pname": "dim-completed-calendar-events", "description": "Dim completed events in the top panel menu to easily distinguish between upcoming and past events. You can also highlight events that are ongoing.", "link": "https://extensions.gnome.org/extension/5979/dim-completed-calendar-events/", "shell_version_map": {
     "44": {"version": "3", "sha256": "0dpyrhdc70f77wv8hx7d6xnpxx13c2qfp7dbx716mqq90raij39f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpbSBjb21wbGV0ZWQgZXZlbnRzIGluIHRoZSB0b3AgcGFuZWwgbWVudSB0byBlYXNpbHkgZGlzdGluZ3Vpc2ggYmV0d2VlbiB1cGNvbWluZyBhbmQgcGFzdCBldmVudHMuIFlvdSBjYW4gYWxzbyBoaWdobGlnaHQgZXZlbnRzIHRoYXQgYXJlIG9uZ29pbmcuIiwKICAibmFtZSI6ICJEaW0gQ29tcGxldGVkIENhbGVuZGFyIEV2ZW50cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjaW5qYWhuL2dub21lLWRpbS1jb21wbGV0ZWQtY2FsZW5kYXItZXZlbnRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZGltLWNvbXBsZXRlZC1jYWxlbmRhci1ldmVudHNAbWFyY2luamFobi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"},
@@ -5878,7 +5873,8 @@
 , {"uuid": "switchlayoutaltshift@seriyyy95.com", "name": "SwitchLayoutAltShift", "pname": "switchlayoutaltshift", "description": "Allows to switch input source using Alt+Shift", "link": "https://extensions.gnome.org/extension/6006/switchlayoutaltshift/", "shell_version_map": {
     "42": {"version": "2", "sha256": "0c1v3kw5kg7gk81hr1xjpj9h4xk0yz02b35dfd906ap0x62sq4wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZXJpeXl5OTUvc3dpdGNobGF5b3V0YWx0c2hpZnQuZ2l0IiwKICAidXVpZCI6ICJzd2l0Y2hsYXlvdXRhbHRzaGlmdEBzZXJpeXl5OTUuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="},
     "43": {"version": "2", "sha256": "0c1v3kw5kg7gk81hr1xjpj9h4xk0yz02b35dfd906ap0x62sq4wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZXJpeXl5OTUvc3dpdGNobGF5b3V0YWx0c2hpZnQuZ2l0IiwKICAidXVpZCI6ICJzd2l0Y2hsYXlvdXRhbHRzaGlmdEBzZXJpeXl5OTUuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="},
-    "44": {"version": "2", "sha256": "0c1v3kw5kg7gk81hr1xjpj9h4xk0yz02b35dfd906ap0x62sq4wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZXJpeXl5OTUvc3dpdGNobGF5b3V0YWx0c2hpZnQuZ2l0IiwKICAidXVpZCI6ICJzd2l0Y2hsYXlvdXRhbHRzaGlmdEBzZXJpeXl5OTUuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}
+    "44": {"version": "2", "sha256": "0c1v3kw5kg7gk81hr1xjpj9h4xk0yz02b35dfd906ap0x62sq4wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZXJpeXl5OTUvc3dpdGNobGF5b3V0YWx0c2hpZnQuZ2l0IiwKICAidXVpZCI6ICJzd2l0Y2hsYXlvdXRhbHRzaGlmdEBzZXJpeXl5OTUuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="},
+    "45": {"version": "4", "sha256": "0rdbqz3cq013ysv4jpi05vljpvrk28j927l47m1rbryzrdvkbh62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzd2l0Y2ggaW5wdXQgc291cmNlIHVzaW5nIEFsdCtTaGlmdCIsCiAgIm5hbWUiOiAiU3dpdGNoTGF5b3V0QWx0U2hpZnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dpdGNobGF5b3V0YWx0c2hpZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2VyaXl5eTk1L3N3aXRjaGxheW91dGFsdHNoaWZ0LmdpdCIsCiAgInV1aWQiOiAic3dpdGNobGF5b3V0YWx0c2hpZnRAc2VyaXl5eTk1LmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}
   }}
 , {"uuid": "PanelHidesWindow@arisoda.com", "name": "PanelHidesWindow", "pname": "panelhideswindow", "description": "Allows you to quickly hide (minimize) the top-most maximized window just by middle-mouse clicking anywhere on the TOP PANEL (not the top bar of a window).\n\nAdvantages:\n1. You can hide windows more quickly (in a reflex, requiring less accuracy)\n2. You can hide ALL maximized windows, even those that don't have a top bar.\n3. You can hide a maximized window even if it's BEHIND multiple unmaximized windows)\n\nThis extension supports multi-monitors in the sense that it actively(!) does not hide any window that is not on the primary monitor.\n\nPLEASE LEAVE A REVIEW. Any critique / suggestion is welcome.\n\nIt would be great if someone can add the functionality to support multiple top panels (if someone were to have multiple top panels on different monitors).", "link": "https://extensions.gnome.org/extension/6015/panelhideswindow/", "shell_version_map": {
     "42": {"version": "3", "sha256": "17rxywvd6n7q69x5xn5ia0vyb1cdzh0azrkvz9j8rq5bqhhpyymq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB5b3UgdG8gcXVpY2tseSBoaWRlIChtaW5pbWl6ZSkgdGhlIHRvcC1tb3N0IG1heGltaXplZCB3aW5kb3cganVzdCBieSBtaWRkbGUtbW91c2UgY2xpY2tpbmcgYW55d2hlcmUgb24gdGhlIFRPUCBQQU5FTCAobm90IHRoZSB0b3AgYmFyIG9mIGEgd2luZG93KS5cblxuQWR2YW50YWdlczpcbjEuIFlvdSBjYW4gaGlkZSB3aW5kb3dzIG1vcmUgcXVpY2tseSAoaW4gYSByZWZsZXgsIHJlcXVpcmluZyBsZXNzIGFjY3VyYWN5KVxuMi4gWW91IGNhbiBoaWRlIEFMTCBtYXhpbWl6ZWQgd2luZG93cywgZXZlbiB0aG9zZSB0aGF0IGRvbid0IGhhdmUgYSB0b3AgYmFyLlxuMy4gWW91IGNhbiBoaWRlIGEgbWF4aW1pemVkIHdpbmRvdyBldmVuIGlmIGl0J3MgQkVISU5EIG11bHRpcGxlIHVubWF4aW1pemVkIHdpbmRvd3MpXG5cblRoaXMgZXh0ZW5zaW9uIHN1cHBvcnRzIG11bHRpLW1vbml0b3JzIGluIHRoZSBzZW5zZSB0aGF0IGl0IGFjdGl2ZWx5KCEpIGRvZXMgbm90IGhpZGUgYW55IHdpbmRvdyB0aGF0IGlzIG5vdCBvbiB0aGUgcHJpbWFyeSBtb25pdG9yLlxuXG5QTEVBU0UgTEVBVkUgQSBSRVZJRVcuIEFueSBjcml0aXF1ZSAvIHN1Z2dlc3Rpb24gaXMgd2VsY29tZS5cblxuSXQgd291bGQgYmUgZ3JlYXQgaWYgc29tZW9uZSBjYW4gYWRkIHRoZSBmdW5jdGlvbmFsaXR5IHRvIHN1cHBvcnQgbXVsdGlwbGUgdG9wIHBhbmVscyAoaWYgc29tZW9uZSB3ZXJlIHRvIGhhdmUgbXVsdGlwbGUgdG9wIHBhbmVscyBvbiBkaWZmZXJlbnQgbW9uaXRvcnMpLiIsCiAgIm5hbWUiOiAiUGFuZWxIaWRlc1dpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FyaXNvZGEvUGFuZWxIaWRlc1dpbmRvdyIsCiAgInV1aWQiOiAiUGFuZWxIaWRlc1dpbmRvd0Bhcmlzb2RhLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="},
@@ -5938,7 +5934,8 @@
     "41": {"version": "20", "sha256": "0xn4jlqg16xq61wx3nkr13k1sadm1fskixlp0qgh875pk043ly84", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb3NhbXVhb2tpL2lucHV0bWV0aG9kLXNob3J0Y3V0cyIsCiAgInV1aWQiOiAiaW5wdXRtZXRob2Qtc2hvcnRjdXRzQG9zYW11LmRlYmlhbi5vcmciLAogICJ2ZXJzaW9uIjogMjAKfQ=="},
     "42": {"version": "20", "sha256": "0xn4jlqg16xq61wx3nkr13k1sadm1fskixlp0qgh875pk043ly84", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb3NhbXVhb2tpL2lucHV0bWV0aG9kLXNob3J0Y3V0cyIsCiAgInV1aWQiOiAiaW5wdXRtZXRob2Qtc2hvcnRjdXRzQG9zYW11LmRlYmlhbi5vcmciLAogICJ2ZXJzaW9uIjogMjAKfQ=="},
     "43": {"version": "21", "sha256": "0p25gn4s9w33v82qpz00fg2hgafp65ckrq0q4in6j7qxs03qi2n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vc2FtdWFva2kvaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAidXVpZCI6ICJpbnB1dG1ldGhvZC1zaG9ydGN1dHNAb3NhbXUuZGViaWFuLm9yZyIsCiAgInZlcnNpb24iOiAyMQp9"},
-    "44": {"version": "21", "sha256": "0p25gn4s9w33v82qpz00fg2hgafp65ckrq0q4in6j7qxs03qi2n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vc2FtdWFva2kvaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAidXVpZCI6ICJpbnB1dG1ldGhvZC1zaG9ydGN1dHNAb3NhbXUuZGViaWFuLm9yZyIsCiAgInZlcnNpb24iOiAyMQp9"}
+    "44": {"version": "21", "sha256": "0p25gn4s9w33v82qpz00fg2hgafp65ckrq0q4in6j7qxs03qi2n8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vc2FtdWFva2kvaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAidXVpZCI6ICJpbnB1dG1ldGhvZC1zaG9ydGN1dHNAb3NhbXUuZGViaWFuLm9yZyIsCiAgInZlcnNpb24iOiAyMQp9"},
+    "45": {"version": "22", "sha256": "1v92fdmxvva7q5qarv6ic9s86ignrpp5aflyghcwqjv4jvygi25a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHN3aXRjaGluZyBvZiBpbnB1dCBtZXRob2QgYW5kIHRvdWNocGFkIHdpdGggdXNlciBjb25maWd1cmFibGUgc2hvcnRjdXQgYmluZGluZyIsCiAgIm5hbWUiOiAiSW5wdXQgbWV0aG9kIGFuZCB0b3VjaHBhZCBzaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5wdXRtZXRob2Qtc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29zYW11YW9raS9pbnB1dG1ldGhvZC1zaG9ydGN1dHMiLAogICJ1dWlkIjogImlucHV0bWV0aG9kLXNob3J0Y3V0c0Bvc2FtdS5kZWJpYW4ub3JnIiwKICAidmVyc2lvbiI6IDIyCn0="}
   }}
 , {"uuid": "kmonad-toggle@jurf.github.io", "name": "KMonad Toggle", "pname": "kmonad-toggle", "description": "Control KMonad directly from GNOME Shell!\n\nThis extension allows you to:\n • Autostart KMonad on login\n • Quickly check if KMonad is running from the top bar\n • Toggle KMonad on or off with a quick setting\n • Easily configure the KMonad launch command\n\nDo you miss any functionality in this extension? Feel free to open an issue on GitHub!\n\nNote: This extension does not manage the KMonad installation. See the installation guide and FAQ in the KMonad repo for instructions on how to set it up. https://github.com/kmonad/kmonad", "link": "https://extensions.gnome.org/extension/6069/kmonad-toggle/", "shell_version_map": {
     "44": {"version": "6", "sha256": "12d7zh3mrxjaippm0n1dwfwhai88iwdy3pb34m24km73g7nwln97", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgS01vbmFkIGRpcmVjdGx5IGZyb20gR05PTUUgU2hlbGwhXG5cblRoaXMgZXh0ZW5zaW9uIGFsbG93cyB5b3UgdG86XG4gXHUyMDIyIEF1dG9zdGFydCBLTW9uYWQgb24gbG9naW5cbiBcdTIwMjIgUXVpY2tseSBjaGVjayBpZiBLTW9uYWQgaXMgcnVubmluZyBmcm9tIHRoZSB0b3AgYmFyXG4gXHUyMDIyIFRvZ2dsZSBLTW9uYWQgb24gb3Igb2ZmIHdpdGggYSBxdWljayBzZXR0aW5nXG4gXHUyMDIyIEVhc2lseSBjb25maWd1cmUgdGhlIEtNb25hZCBsYXVuY2ggY29tbWFuZFxuXG5Ob3RlOiBUaGlzIGV4dGVuc2lvbiBkb2VzIG5vdCBtYW5hZ2UgdGhlIEtNb25hZCBpbnN0YWxsYXRpb24uIFNlZSB0aGUgaW5zdGFsbGF0aW9uIGd1aWRlIGFuZCBGQVEgaW4gdGhlIEtNb25hZCByZXBvIGZvciBpbnN0cnVjdGlvbnMgb24gaG93IHRvIHNldCBpdCB1cC4gaHR0cHM6Ly9naXRodWIuY29tL2ttb25hZC9rbW9uYWQiLAogICJkb25hdGlvbnMiOiB7CiAgICAia29maSI6ICJqdXJhamZpYWxhIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImttb25hZC10b2dnbGUiLAogICJuYW1lIjogIktNb25hZCBUb2dnbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua21vbmFkLXRvZ2dsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qdXJmL2dub21lLWttb25hZC10b2dnbGUiLAogICJ1dWlkIjogImttb25hZC10b2dnbGVAanVyZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"},
@@ -5974,11 +5971,11 @@
     "44": {"version": "4", "sha256": "1nzzsm6ai8b0l8c5xvx83cspm4gzx1n6wfdrbik3g7xam06hr861", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pam9ydXMvc21pbGUtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzbWlsZS1leHRlbnNpb25AbWlqb3J1cy5pdCIsCiAgInZlcnNpb24iOiA0Cn0="},
     "45": {"version": "7", "sha256": "1fjcwgifggnckk0p7mskpgaz3wm71nz4qgcc1f1jqynwdbidds7l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3NtaWxlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic21pbGUtZXh0ZW5zaW9uQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNwp9"}
   }}
-, {"uuid": "paperwm@paperwm.github.com", "name": "PaperWM", "pname": "paperwm", "description": "Tiling window manager with a twist!\n\n PaperWM is a Gnome Shell extension which provides scrollable tiling of windows and per monitor workspaces. It's inspired by paper notebooks and tiling window managers.\n\nPlease see our github page to report issues, understand features, and learn how to configure PaperWM to your liking.", "link": "https://extensions.gnome.org/extension/6099/paperwm/", "shell_version_map": {
-    "42": {"version": "67", "sha256": "041wv0l2sfix7kd9k3kv9ga8cdb16z4bvgiz2048fz2cmz0mp8qg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjcsCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNS4yIgp9"},
-    "43": {"version": "67", "sha256": "041wv0l2sfix7kd9k3kv9ga8cdb16z4bvgiz2048fz2cmz0mp8qg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjcsCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNS4yIgp9"},
-    "44": {"version": "67", "sha256": "041wv0l2sfix7kd9k3kv9ga8cdb16z4bvgiz2048fz2cmz0mp8qg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjcsCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNS4yIgp9"},
-    "45": {"version": "66", "sha256": "09yzmm62zf44g2y7ys99sx02hnspbxjsi7065ha4p5lvz5l6xc7w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXBlcndtL1BhcGVyV00iLAogICJ1dWlkIjogInBhcGVyd21AcGFwZXJ3bS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDY2LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDUuNS4wIgp9"}
+, {"uuid": "paperwm@paperwm.github.com", "name": "PaperWM", "pname": "paperwm", "description": "Tiling window manager with a twist", "link": "https://extensions.gnome.org/extension/6099/paperwm/", "shell_version_map": {
+    "42": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
+    "43": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
+    "44": {"version": "69", "sha256": "15wfc31wz04sil1ys75sw7awhydwh6ydcbrlnf3xwsjbhqym3s83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjksCiAgInZlcnNpb24tbmFtZSI6ICI0NC4xNi4wIgp9"},
+    "45": {"version": "68", "sha256": "1db04y0wkipc2i9sp7l1fqilalks5lc9nl39lfmg55l0jd734cmb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXBlcndtL1BhcGVyV00iLAogICJ1dWlkIjogInBhcGVyd21AcGFwZXJ3bS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDY4LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDUuNi4wIgp9"}
   }}
 , {"uuid": "lightshell@dikasp.gitlab", "name": "Light Shell", "pname": "light-shell", "description": "Apply full light theme into default GNOME Shell, including light overview", "link": "https://extensions.gnome.org/extension/6102/light-shell/", "shell_version_map": {
     "42": {"version": "11", "sha256": "0fqshl06w2amy8d3gw2car4rab6zqpi79dg5dr05d5swggq1vm8n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGx5IGZ1bGwgbGlnaHQgdGhlbWUgaW50byBkZWZhdWx0IGdub21lIHNoZWxsLCBpbmNsdWRpbmcgbGlnaHQgb3ZlcnZpZXcuIiwKICAibmFtZSI6ICJMaWdodCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9kaWthc2V0eWFwcmF5b2dpL2xpZ2h0LXNoZWxsIiwKICAidXVpZCI6ICJsaWdodHNoZWxsQGRpa2FzcC5naXRsYWIiLAogICJ2ZXJzaW9uIjogMTEKfQ=="},
@@ -6066,9 +6063,10 @@
     "43": {"version": "3", "sha256": "0xj7q0c41586crm855f939s3m9nvcbkdxk6jf9spiy5sjw2b5yca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR1BVIHByb2ZpbGUgc3dpdGNoZXIgZGVzaWduZWQgdG8gd29yayB3aXRoIFBSSU1FIChwcmltZS1zZWxlY3QpLiBGb3JrIG9mIFBSSU1FIEdQVSBQcm9maWxlIFNlbGVjdG9yIiwKICAibmFtZSI6ICJQUklNRSBIZWxwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWi1SYXktRW50ZXJ0YWlubWVudC9QUklNRS1IZWxwZXIiLAogICJ1dWlkIjogIlBSSU1FX0hlbHBlckB6LXJheS5kZSIsCiAgInZlcnNpb24iOiAzCn0="},
     "44": {"version": "3", "sha256": "0xj7q0c41586crm855f939s3m9nvcbkdxk6jf9spiy5sjw2b5yca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR1BVIHByb2ZpbGUgc3dpdGNoZXIgZGVzaWduZWQgdG8gd29yayB3aXRoIFBSSU1FIChwcmltZS1zZWxlY3QpLiBGb3JrIG9mIFBSSU1FIEdQVSBQcm9maWxlIFNlbGVjdG9yIiwKICAibmFtZSI6ICJQUklNRSBIZWxwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWi1SYXktRW50ZXJ0YWlubWVudC9QUklNRS1IZWxwZXIiLAogICJ1dWlkIjogIlBSSU1FX0hlbHBlckB6LXJheS5kZSIsCiAgInZlcnNpb24iOiAzCn0="}
   }}
-, {"uuid": "usd-try-gshell@arifesat.github.com", "name": "USD-TRY", "pname": "usd-try", "description": "USD (US Dollar) converted to TRY (Turkish Lira), show conversion on the center of the top panel. Updates are received every 30 seconds.\n\nIt is a fork of Dollar-PKR. This extension uses economia.awesomeapi.com.br", "link": "https://extensions.gnome.org/extension/6192/usd-try/", "shell_version_map": {
+, {"uuid": "usd-try-gshell@arifesat.github.com", "name": "USD-TRY", "pname": "usd-try", "description": "USD (US Dollar) converted to TRY (Turkish Lira). Updates are received every 30 seconds.\n\nIt is a fork of Dollar-PKR. This extension uses economia.awesomeapi.com.br", "link": "https://extensions.gnome.org/extension/6192/usd-try/", "shell_version_map": {
     "43": {"version": "4", "sha256": "03dajywpcvvhxcwz8jv1yq230iznh30i2lbxs01gpijl4gir7rhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJpZmVzYXQvVVNELVRSWS1HU2hlbGwiLAogICJ1dWlkIjogInVzZC10cnktZ3NoZWxsQGFyaWZlc2F0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"},
-    "44": {"version": "4", "sha256": "03dajywpcvvhxcwz8jv1yq230iznh30i2lbxs01gpijl4gir7rhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJpZmVzYXQvVVNELVRSWS1HU2hlbGwiLAogICJ1dWlkIjogInVzZC10cnktZ3NoZWxsQGFyaWZlc2F0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}
+    "44": {"version": "4", "sha256": "03dajywpcvvhxcwz8jv1yq230iznh30i2lbxs01gpijl4gir7rhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJpZmVzYXQvVVNELVRSWS1HU2hlbGwiLAogICJ1dWlkIjogInVzZC10cnktZ3NoZWxsQGFyaWZlc2F0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"},
+    "45": {"version": "7", "sha256": "0045lld30k30425scg2f686isnh2sqvwq41n62p9jc2lx4kvh5kg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmlmZXNhdC9VU0QtVFJZLUdTaGVsbCIsCiAgInV1aWQiOiAidXNkLXRyeS1nc2hlbGxAYXJpZmVzYXQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}
   }}
 , {"uuid": "hide-dock-in-overview@roslax", "name": "Hide the dock in overview", "pname": "hide-the-dock-in-overview", "description": "hides the dock in overview mode", "link": "https://extensions.gnome.org/extension/6195/hide-the-dock-in-overview/", "shell_version_map": {
     "44": {"version": "3", "sha256": "12f1qrc9hahjrqxvdviqz99pkgzs75f9k6qnnz4fh9v61bqwi31d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIHRoZSBkb2NrIGluIG92ZXJ2aWV3IG1vZGUiLAogICJuYW1lIjogIkhpZGUgdGhlIGRvY2sgaW4gb3ZlcnZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUm9zR3RIdWIvSGlkZS1kb2NrLWluLW92ZXJ2aWV3L3RyZWUvbWFpbiIsCiAgInV1aWQiOiAiaGlkZS1kb2NrLWluLW92ZXJ2aWV3QHJvc2xheCIsCiAgInZlcnNpb24iOiAzCn0="}
@@ -6118,7 +6116,7 @@
     "42": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
     "43": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
     "44": {"version": "9", "sha256": "1832867id0z8jbd98dxfywj7k3xr4jjrdi7cblb4dhi2sii6svn6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlbGlwZWZ0bi9lbW9qaS1jb3B5IiwKICAidXVpZCI6ICJlbW9qaS1jb3B5QGZlbGlwZWZ0biIsCiAgInZlcnNpb24iOiA5Cn0="},
-    "45": {"version": "12", "sha256": "1bmgkxsw7rfql8l1wlly51s6ik9d8lg8qc4kgssfy3vlrzsb95n3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVsaXBlZnRuL2Vtb2ppLWNvcHkiLAogICJ1dWlkIjogImVtb2ppLWNvcHlAZmVsaXBlZnRuIiwKICAidmVyc2lvbiI6IDEyCn0="}
+    "45": {"version": "13", "sha256": "1af6rwk9y6v5if1wck8vb5db4vrv9g84swmjg57rgwj0zgvabxbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVtb2ppIGNvcHkgaXMgYSB2ZXJzYXRpbGUgZXh0ZW5zaW9uIGRlc2lnbmVkIHRvIHNpbXBsaWZ5IGVtb2ppIHNlbGVjdGlvbiBhbmQgY2xpcGJvYXJkIG1hbmFnZW1lbnQuXG5cbkl0IGlzIGEgZm9yayBvZiBFbW9qaSBTZWxlY3Rvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1jb3B5IiwKICAibmFtZSI6ICJFbW9qaSBDb3B5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVtb2ppLWNvcHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVsaXBlZnRuL2Vtb2ppLWNvcHkiLAogICJ1dWlkIjogImVtb2ppLWNvcHlAZmVsaXBlZnRuIiwKICAidmVyc2lvbiI6IDEzCn0="}
   }}
 , {"uuid": "notification-icons@muhammad_ans.github", "name": "Top Panel Notification Icons Revived", "pname": "top-panel-notification-icons-revived", "description": "Displays notifications icon in top panel", "link": "https://extensions.gnome.org/extension/6248/top-panel-notification-icons-revived/", "shell_version_map": {
     "45": {"version": "4", "sha256": "0s5bk169l1c7xhvrc07g1y6wjdzsgb3bylc1b3r38kjazdbyr3zp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG5vdGlmaWNhdGlvbnMgaWNvbiBpbiB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBOb3RpZmljYXRpb24gSWNvbnMgUmV2aXZlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3RpZmljYXRpb24taWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVoYW1tYWQtYW5zL25vdGlmaWNhdGlvbi1pY29ucyIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWljb25zQG11aGFtbWFkX2Fucy5naXRodWIiLAogICJ2ZXJzaW9uIjogNAp9"}
@@ -6251,9 +6249,9 @@
 , {"uuid": "speedinator@liam.moe", "name": "Speedinator", "pname": "speedinator", "description": "Control the speed of gnome-shell animations", "link": "https://extensions.gnome.org/extension/6397/speedinator/", "shell_version_map": {
     "45": {"version": "4", "sha256": "1207ylsqwy47a9x47qg5wzycpbzljx71ps74dl7fjygsb2gik1ml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIHNwZWVkIG9mIGdub21lLXNoZWxsIGFuaW1hdGlvbnMiLAogICJuYW1lIjogIlNwZWVkaW5hdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1vZS5saWFtLnNwZWVkaW5hdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RlaHNxdWlkZ2Uvc3BlZWRpbmF0b3IiLAogICJ1dWlkIjogInNwZWVkaW5hdG9yQGxpYW0ubW9lIiwKICAidmVyc2lvbiI6IDQKfQ=="}
   }}
-, {"uuid": "phi@ziyagenc.github.com", "name": "Phi: Pi-hole Indicator", "pname": "phi-pi-hole-indicator", "description": "Quickly access your beloved Pi-hole from GNOME Shell.\n\nPhi provides the following features:\n- Monitor single or multiple Pi-hole instances,\n- Enable/disable blocking,\n- Display status and main statistics,\n- Show version information of Pi-hole, and notify when there is an update.\n\nYou can also configure Phi to look for Pi-hole only in a certain network. This might be useful if your computer connects to a different network (for example, a school, work or public Wi-Fi) rather than the one your Pi-hole lives in.\n\nIMPORTANT: The latest version of Phi requires to enter the full path of the URL of Pi-hole API, rather than only the domain part. Please check the information button in the Settings.", "link": "https://extensions.gnome.org/extension/6400/phi-pi-hole-indicator/", "shell_version_map": {
+, {"uuid": "phi@ziyagenc.github.com", "name": "Phi: Pi-hole Indicator", "pname": "phi-pi-hole-indicator", "description": "Quickly access your beloved Pi-hole from GNOME Shell.\n\nPhi provides the following features:\n- Monitor single or multiple Pi-hole instances,\n- Enable/disable blocking,\n- Display status and main statistics,\n- Show version information of Pi-hole, and notify when there is an update.\n\nYou can configure Phi to look for Pi-hole only in a certain network. This might be useful if your computer connects to a different network (for example, a school, work or public Wi-Fi) rather than the one your Pi-hole lives in.", "link": "https://extensions.gnome.org/extension/6400/phi-pi-hole-indicator/", "shell_version_map": {
     "44": {"version": "6", "sha256": "0mdqa357d2px0ssdwxngdvdvabvvd7hg3j8c03jwfgqp36s4mn0p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpLWhvbGUgaW5kaWNhdG9yIGZvciBHTk9NRSBTaGVsbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiUGhpOiBQaS1ob2xlIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5waGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veml5YWdlbmMvcGhpIiwKICAidXVpZCI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="},
-    "45": {"version": "8", "sha256": "1n75nvazswp8fskd1yb925q4gambm07s28gq65plwbmfvx6jd34y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpLWhvbGUgaW5kaWNhdG9yIGZvciBHTk9NRSBTaGVsbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiUGhpOiBQaS1ob2xlIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5waGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veml5YWdlbmMvcGhpIiwKICAidXVpZCI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}
+    "45": {"version": "10", "sha256": "1kgk6zgjbmm9s6065ygcxvp8mdsnirwb31q419kfnrhfbw1kd6vc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpLWhvbGUgaW5kaWNhdG9yIGZvciBHTk9NRSBTaGVsbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiUGhpOiBQaS1ob2xlIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5waGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veml5YWdlbmMvcGhpIiwKICAidXVpZCI6ICJwaGlAeml5YWdlbmMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMCwKICAidmVyc2lvbi1uYW1lIjogIjEuMyIKfQ=="}
   }}
 , {"uuid": "net-label@slimani.dev", "name": "NetLabel", "pname": "netlabel", "description": "Shows current download upload speed on panel \nThis extension is a Gnome 45 adaption of Net Speed by AlynxZhou", "link": "https://extensions.gnome.org/extension/6403/netlabel/", "shell_version_map": {
     "45": {"version": "1", "sha256": "0jc219z5jmx9p5gasp25fzbhnyyl1gchq0nyxn20zp70kmzg2f7f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGN1cnJlbnQgZG93bmxvYWQgdXBsb2FkIHNwZWVkIG9uIHBhbmVsIFxuVGhpcyBleHRlbnNpb24gaXMgYSBHbm9tZSA0NSBhZGFwdGlvbiBvZiBOZXQgU3BlZWQgYnkgQWx5bnhaaG91IiwKICAibmFtZSI6ICJOZXRMYWJlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tb2gtc2xpbWFuaS9uZXQtbGFiZWwiLAogICJ1dWlkIjogIm5ldC1sYWJlbEBzbGltYW5pLmRldiIsCiAgInZlcnNpb24iOiAxCn0="}
@@ -6293,7 +6291,7 @@
     "42": {"version": "1", "sha256": "0lw047iqjzmsnz19wajr73n1zprgh8r4mhh9srjkhm65k5h4gfs5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bHRpbW9uaXRvciBkaW1taW5nIG92ZXJsYXkgd2l0aCBSR0IgcmVndWxhdGlvbjogZXh0ZW5zaW9uIGFkZHMgYSBidXR0b24gd2l0aCBhIGxpZ2h0IGJ1bGIgaWNvbiB0byB5b3VyIHBhbmVsLiBDbGlja2luZyB0aGlzIGJ1dHRvbiByZXZlYWxzIGluZGl2aWR1YWwgc2xpZGVycyBmb3IgZWFjaCBjb25uZWN0ZWQgbW9uaXRvciwgYWxsb3dpbmcgeW91IHRvIGFkanVzdCB0aGUgZGltbWluZyBsZXZlbC4gQWRkaXRpb25hbGx5LCB5b3UgY2FuIHRvZ2dsZSB0aGUgY29sb3Igb2YgdGhlIGRpbW1pbmcgZWZmZWN0IGFuZCBjdXN0b21pemUgaXQgdXNpbmcgUkdCIHNsaWRlcnMgbG9jYXRlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBtZW51LiBcblxuVGVzdGVkIHdpdGggVWJ1bnR1IDIyLjA0LjMgTFRTIGFuZCBHTk9NRSBTaGVsbCA0Mi45LiBcblxuSXQgaXMgYSBmb3JrIG9mIERpbSBEZXNrdG9wIDcwLiIsCiAgIm5hbWUiOiAiVml2aWRTaGFkZTogTXVsdGktTW9uaXRvciBSR0IgRGltbWluZyBDb250cm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21vem82NC9WaXZpZFNoYWRlIiwKICAidXVpZCI6ICJWaXZpZFNoYWRlQG1vem82NC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}
   }}
 , {"uuid": "picture-of-the-day@swsnr.de", "name": "Picture of the Day", "pname": "picture-of-the-day", "description": "Get a picture of the day as desktop background.\n\nSupports the following sources:\n\n* NASA Astronomy Picture of the Day (APOD) from https://apod.nasa.gov/apod/astropix.html\n* NASA Earth Observatory Image of the Day from https://earthobservatory.nasa.gov/topic/image-of-the-day\n* Bing from https://www.bing.com\n* Wikimedia from https://commons.wikimedia.org/wiki/Main_Page\n", "link": "https://extensions.gnome.org/extension/6469/picture-of-the-day/", "shell_version_map": {
-    "45": {"version": "12", "sha256": "0bf1rag0c4gs0vzvjmpnbfn4mag0vrarhhmzs0psswzvsgzvqz5s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHBpY3R1cmUgb2YgdGhlIGRheSBhcyBkZXNrdG9wIGJhY2tncm91bmQuXG5cblN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc291cmNlczpcblxuKiBOQVNBIEFzdHJvbm9teSBQaWN0dXJlIG9mIHRoZSBEYXkgKEFQT0QpIGZyb20gaHR0cHM6Ly9hcG9kLm5hc2EuZ292L2Fwb2QvYXN0cm9waXguaHRtbFxuKiBOQVNBIEVhcnRoIE9ic2VydmF0b3J5IEltYWdlIG9mIHRoZSBEYXkgZnJvbSBodHRwczovL2VhcnRob2JzZXJ2YXRvcnkubmFzYS5nb3YvdG9waWMvaW1hZ2Utb2YtdGhlLWRheVxuKiBCaW5nIGZyb20gaHR0cHM6Ly93d3cuYmluZy5jb21cbiogV2lraW1lZGlhIGZyb20gaHR0cHM6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9NYWluX1BhZ2VcbiIsCiAgImdldHRleHQtZG9tYWluIjogInBpY3R1cmUtb2YtdGhlLWRheUBzd3Nuci5kZSIsCiAgIm5hbWUiOiAiUGljdHVyZSBvZiB0aGUgRGF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3c25yLXBpY3R1cmUtb2YtdGhlLWRheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd3Nuci9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGljdHVyZS1vZi10aGUtZGF5IiwKICAidXVpZCI6ICJwaWN0dXJlLW9mLXRoZS1kYXlAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogMTIsCiAgInZlcnNpb24tbmFtZSI6ICI0NS41Igp9"}
+    "45": {"version": "13", "sha256": "1j3l0605d2i9w96c2lppjp0s254qyld2mb5hffgpv2jibb78s7ca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHBpY3R1cmUgb2YgdGhlIGRheSBhcyBkZXNrdG9wIGJhY2tncm91bmQuXG5cblN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc291cmNlczpcblxuKiBOQVNBIEFzdHJvbm9teSBQaWN0dXJlIG9mIHRoZSBEYXkgKEFQT0QpIGZyb20gaHR0cHM6Ly9hcG9kLm5hc2EuZ292L2Fwb2QvYXN0cm9waXguaHRtbFxuKiBOQVNBIEVhcnRoIE9ic2VydmF0b3J5IEltYWdlIG9mIHRoZSBEYXkgZnJvbSBodHRwczovL2VhcnRob2JzZXJ2YXRvcnkubmFzYS5nb3YvdG9waWMvaW1hZ2Utb2YtdGhlLWRheVxuKiBCaW5nIGZyb20gaHR0cHM6Ly93d3cuYmluZy5jb21cbiogV2lraW1lZGlhIGZyb20gaHR0cHM6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9NYWluX1BhZ2VcbiIsCiAgImdldHRleHQtZG9tYWluIjogInBpY3R1cmUtb2YtdGhlLWRheUBzd3Nuci5kZSIsCiAgIm5hbWUiOiAiUGljdHVyZSBvZiB0aGUgRGF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3c25yLXBpY3R1cmUtb2YtdGhlLWRheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd3Nuci9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGljdHVyZS1vZi10aGUtZGF5IiwKICAidXVpZCI6ICJwaWN0dXJlLW9mLXRoZS1kYXlAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogMTMsCiAgInZlcnNpb24tbmFtZSI6ICI0NS42Igp9"}
   }}
 , {"uuid": "overviewnow@thesola.io", "name": "Overview Flick", "pname": "overview-flick", "description": "Flick from the right to get the Overview.\n\nThis extension was revived to GNOME 45 from the original, https://extensions.gnome.org/extension/1088/overview-now/\n\nOriginal description:\n\nThis is my first extension. Thanks, GNOME!. Based on \"Slide for Keyboard\", https://extensions.gnome.org/extension/993/slide-for-keyboard/\n\nWhy did I do this? Well, if you do a gesture with your thumb, on your touchscreen, from the right to the center, you'll get the Overview. If you do that, your thumb will be placed in the Desktop selector, so you will be able to move between desktops with your thumb. Perfect! This is also easier to trigger than the default GNOME gesture (three fingers closing).", "link": "https://extensions.gnome.org/extension/6478/overview-flick/", "shell_version_map": {
     "45": {"version": "2", "sha256": "14bbic6vx13vaj5xqws34mlwmvfq436al63lzvwa41hkckqyxk6s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsaWNrIGZyb20gdGhlIHJpZ2h0IHRvIGdldCB0aGUgT3ZlcnZpZXcuXG5cblRoaXMgZXh0ZW5zaW9uIHdhcyByZXZpdmVkIHRvIEdOT01FIDQ1IGZyb20gdGhlIG9yaWdpbmFsLCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMDg4L292ZXJ2aWV3LW5vdy9cblxuT3JpZ2luYWwgZGVzY3JpcHRpb246XG5cblRoaXMgaXMgbXkgZmlyc3QgZXh0ZW5zaW9uLiBUaGFua3MsIEdOT01FIS4gQmFzZWQgb24gXCJTbGlkZSBmb3IgS2V5Ym9hcmRcIiwgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vOTkzL3NsaWRlLWZvci1rZXlib2FyZC9cblxuV2h5IGRpZCBJIGRvIHRoaXM/IFdlbGwsIGlmIHlvdSBkbyBhIGdlc3R1cmUgd2l0aCB5b3VyIHRodW1iLCBvbiB5b3VyIHRvdWNoc2NyZWVuLCBmcm9tIHRoZSByaWdodCB0byB0aGUgY2VudGVyLCB5b3UnbGwgZ2V0IHRoZSBPdmVydmlldy4gSWYgeW91IGRvIHRoYXQsIHlvdXIgdGh1bWIgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIERlc2t0b3Agc2VsZWN0b3IsIHNvIHlvdSB3aWxsIGJlIGFibGUgdG8gbW92ZSBiZXR3ZWVuIGRlc2t0b3BzIHdpdGggeW91ciB0aHVtYi4gUGVyZmVjdCEgVGhpcyBpcyBhbHNvIGVhc2llciB0byB0cmlnZ2VyIHRoYW4gdGhlIGRlZmF1bHQgR05PTUUgZ2VzdHVyZSAodGhyZWUgZmluZ2VycyBjbG9zaW5nKS4iLAogICJuYW1lIjogIk92ZXJ2aWV3IEZsaWNrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZXNvbGExMC9nbm9tZS1zaGVsbC1vdmVydmlldy1mbGljayIsCiAgInV1aWQiOiAib3ZlcnZpZXdub3dAdGhlc29sYS5pbyIsCiAgInZlcnNpb24iOiAyCn0="}
@@ -6308,7 +6306,7 @@
     "45": {"version": "2", "sha256": "1afvwrhnihih06gvqaj6qdkngqzs36l3w7bwsnw8mzj7hvifs0fg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdmVyIG92ZXIgYSB3aW5kb3cgaW4gb3ZlcnZpZXcgbW9kZSB0byBtYWtlIGl0IGFjdGl2ZSIsCiAgIm5hbWUiOiAiT3ZlcnZpZXcgSG92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWF0dGRhdmlzOTAvb3ZlcnZpZXctaG92ZXIiLAogICJ1dWlkIjogIm92ZXJ2aWV3aG92ZXJAbWF0dGRhdmlzOTAiLAogICJ2ZXJzaW9uIjogMgp9"}
   }}
 , {"uuid": "onedrive@client.onedrive.com", "name": "Onedrive Client", "pname": "onedrive", "description": "Show and Control Onedrive Client", "link": "https://extensions.gnome.org/extension/6493/onedrive/", "shell_version_map": {
-    "45": {"version": "3", "sha256": "1745pwfh9xdwz3fm4ykay22ha2v6xj5fqxc891k48q5kz6izv5hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW5kIENvbnRyb2wgT25lZHJpdmUgQ2xpZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib25lZHJpdmVAY2xpZW50Lm9uZWRyaXZlLmNvbSIsCiAgIm5hbWUiOiAiT25lZHJpdmUgQ2xpZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R2bWFzdGVyZngvT25lZHJpdmUtR25vbWUtU2hlbGwtNDUiLAogICJ1dWlkIjogIm9uZWRyaXZlQGNsaWVudC5vbmVkcml2ZS5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}
+    "45": {"version": "5", "sha256": "1pjlj22hrr1aks3wy9sxm4lpd7lk38f0jhzdz5vxsb0gg8707925", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW5kIENvbnRyb2wgT25lZHJpdmUgQ2xpZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib25lZHJpdmVAY2xpZW50Lm9uZWRyaXZlLmNvbSIsCiAgIm5hbWUiOiAiT25lZHJpdmUgQ2xpZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R2bWFzdGVyZngvT25lZHJpdmUtR25vbWUtU2hlbGwtNDUiLAogICJ1dWlkIjogIm9uZWRyaXZlQGNsaWVudC5vbmVkcml2ZS5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}
   }}
 , {"uuid": "system-stats-plus@remulo.costa.gmail.com", "name": "SystemStatsPlus", "pname": "systemstatsplus", "description": "SystemStatsPlus is ease user-friendly GNOME extension that provides real-time visualization of key system resources.\nThis extension is an essential tool for anyone looking to keep a close eye on their system's performance.\n\nKey Features:\n\n- Per CPU core/processor utilization\n- RAM utilization\n- Swap memory utilization\n- Network utilization\n\nIn addition to utilization displayed in the tray, it offers drop down display of historical utilizations.\n\nTo display the usage history, just position the mouse cursor over the item.\n\nIt's a refined fork of the original, but now seemingly inactive, gnome-stats-pro https://github.com/tpenguin/gnome-stats-pro\n\nIf you get an error after updating, try restarting Gnome Shell with Alt-F2 then 'r' (or logout/login under Wayland).", "link": "https://extensions.gnome.org/extension/6502/systemstatsplus/", "shell_version_map": {
     "45": {"version": "2", "sha256": "1dfjz3spbbk18wr1jsp6xbky3mc7d64zbpxpxg4bgvv39j1gz337", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJSZW11bG8gQ29zdGEgPHJlbXVsby5jb3N0YUBnbWFpbC5jb20+IiwKICAiZGVzY3JpcHRpb24iOiAiU3lzdGVtU3RhdHNQbHVzIGEgcm9idXN0IGFuZCB1c2VyLWZyaWVuZGx5IEdOT01FIGV4dGVuc2lvbiB0aGF0IHByb3ZpZGVzIHJlYWwtdGltZSB2aXN1YWxpemF0aW9uIG9mIGtleSBzeXN0ZW0gcmVzb3VyY2VzLlxuXG5JdCdzIGEgcmVmaW5lZCBmb3JrIG9mIHRoZSBvcmlnaW5hbCwgYnV0IG5vdyBzZWVtaW5nbHkgaW5hY3RpdmUsIGdub21lLXN0YXRzLXBybyBodHRwczovL2dpdGh1Yi5jb20vdHBlbmd1aW4vZ25vbWUtc3RhdHMtcHJvXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGFuIGVzc2VudGlhbCB0b29sIGZvciBhbnlvbmUgbG9va2luZyB0byBrZWVwIGEgY2xvc2UgZXllIG9uIHRoZWlyIHN5c3RlbSdzIHBlcmZvcm1hbmNlLlxuXG5LZXkgRmVhdHVyZXM6XG5cbi0gUGVyIENQVSBjb3JlL3Byb2Nlc3NvciB1dGlsaXphdGlvblxuLSBSQU0gdXRpbGl6YXRpb25cbi0gU3dhcCBtZW1vcnkgdXRpbGl6YXRpb25cbi0gTmV0d29yayB1dGlsaXphdGlvblxuXG5JbiBhZGRpdGlvbiB0byB1dGlsaXphdGlvbiBkaXNwbGF5ZWQgaW4gdGhlIHRyYXksIGl0IG9mZmVycyBkcm9wIGRvd24gZGlzcGxheSBvZiBoaXN0b3JpY2FsIHV0aWxpemF0aW9ucy5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicgKG9yIGxvZ291dC9sb2dpbiB1bmRlciBXYXlsYW5kKS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzeXN0ZW0tc3RhdHMtcGx1cyIsCiAgIm5hbWUiOiAiU3lzdGVtU3RhdHNQbHVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImpvZUB0aHJhbGxpbmdwZW5ndWluLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZW11bG9jb3N0YS9zeXN0ZW0tc3RhdHMtcGx1cyIsCiAgInV1aWQiOiAic3lzdGVtLXN0YXRzLXBsdXNAcmVtdWxvLmNvc3RhLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyLAogICJ2ZXJzaW9uLW5hbWUiOiAiMC4xLjAiCn0="}
@@ -6329,13 +6327,39 @@
 , {"uuid": "todo-list@speedflyer689.github.com", "name": "Todo list", "pname": "todo-list", "description": "Adds a todo list to the notification panel", "link": "https://extensions.gnome.org/extension/6526/todo-list/", "shell_version_map": {
     "38": {"version": "3", "sha256": "06hqbrk894bi0acilq4vg5a3h3gjmkmi1jv7vmaws0bn7gzqafjx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSB0b2RvIGxpc3QgdG8gdGhlIG5vdGlmaWNhdGlvbiBwYW5lbCIsCiAgIm5hbWUiOiAiVG9kbyBsaXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU3BlZWRmbHllcjY4OS9Hbm9tZS1Ub2RvLUxpc3QiLAogICJ1dWlkIjogInRvZG8tbGlzdEBzcGVlZGZseWVyNjg5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}
   }}
-, {"uuid": "logowidget@github.com.howbea", "name": "Logo Widget", "pname": "logo-widget", "description": "Add a logo to the desktop.This is  a fork of Background Logo extension. \n https://extensions.gnome.org/extension/889/background-logo/ \n https://pagure.io/background-logo-extension", "link": "https://extensions.gnome.org/extension/6529/logo-widget/", "shell_version_map": {
-    "42": {"version": "6", "sha256": "1miy1wdx0aqj7rpami7hgdld9x9wxnapazfzqkf9ajf6i82cag01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNgp9"},
-    "43": {"version": "6", "sha256": "1miy1wdx0aqj7rpami7hgdld9x9wxnapazfzqkf9ajf6i82cag01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNgp9"},
-    "44": {"version": "6", "sha256": "1miy1wdx0aqj7rpami7hgdld9x9wxnapazfzqkf9ajf6i82cag01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNgp9"},
-    "45": {"version": "5", "sha256": "1kxqkv8z2ldcraf8if7djz1awqh8bfc23ib0cyxf0qzbdz39p1r8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmFja2dyb3VuZC1sb2dvIiwKICAibmFtZSI6ICJMb2dvIFdpZGdldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2dvLXdpZGdldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNQp9"}
+, {"uuid": "logowidget@github.com.howbea", "name": "Logo Widget", "pname": "logo-widget", "description": "Add a logo to the desktop. This is a fork of Background Logo extension \n https://extensions.gnome.org/extension/889/background-logo/ \n https://pagure.io/background-logo-extension", "link": "https://extensions.gnome.org/extension/6529/logo-widget/", "shell_version_map": {
+    "42": {"version": "8", "sha256": "0751blv9h3dj9i61y9ywjmn34sjq5b9lf2nci2anm3ngm5rzskzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogOAp9"},
+    "43": {"version": "8", "sha256": "0751blv9h3dj9i61y9ywjmn34sjq5b9lf2nci2anm3ngm5rzskzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogOAp9"},
+    "44": {"version": "8", "sha256": "0751blv9h3dj9i61y9ywjmn34sjq5b9lf2nci2anm3ngm5rzskzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9wYWd1cmUuaW8vYmFja2dyb3VuZC1sb2dvLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiTG9nbyBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9nby13aWRnZXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogOAp9"},
+    "45": {"version": "7", "sha256": "09fmvv0nimyfai39xr0hrcgp5979i8n80zi42y7lbanczcc71n6a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8gXG4gaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmFja2dyb3VuZC1sb2dvIiwKICAibmFtZSI6ICJMb2dvIFdpZGdldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2dvLXdpZGdldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogNwp9"}
+  }}
+, {"uuid": "azan@a7medkhalaf", "name": "xAzanTimes", "pname": "xazantimes", "description": "Azan is an Islamic prayer times extension for Gnome Shell.\nIt's a fork of \"Azan Islamic Prayer Times\" by faissaloo which is based on the extension by Fahrinh.\n\nFeatures\n- List compulsory prayer times\n- Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Iqamah option", "link": "https://extensions.gnome.org/extension/6538/xazantimes/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "18q8566d72js01qx1gq9i322hxghkg0bh6b1xfzcmq54cmfab47d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF6YW4gaXMgYW4gSXNsYW1pYyBwcmF5ZXIgdGltZXMgZXh0ZW5zaW9uIGZvciBHbm9tZSBTaGVsbCBiYXNlZCBvbiB0aGUgZXh0ZW5zaW9uIGJ5IGZhaXNzYWxvby5cblxuRmVhdHVyZXNcbi0gTGlzdCBjb21wdWxzb3J5IHByYXllciB0aW1lc1xuIE9wdGlvbmFsbHkgZGlzcGxheSBJbXNhaywgU3VucmlzZSwgU3Vuc2V0IGFuZCBNaWRuaWdodFxuLSBTaG93IHJlbWFpbmluZyB0aW1lIGZvciB0aGUgdXBjb21pbmcgcHJheWVyLlxuLSBTaG93IGN1cnJlbnQgZGF0ZSBpbiBIaWpyaSBjYWxlbmRhci5cbi0gRGlzcGxheSBhIG5vdGlmaWNhdGlvbiB3aGVuIGl0J3MgdGltZSBmb3IgcHJheWVyLlxuLSBBdXRvbWF0aWMgR2VvY2x1ZTIgbG9jYXRpb24gZGV0ZWN0aW9uXG4tIFNob3cgdGltZXMgaW4gMjQgaG91ciBhbmQgMTIgaG91ciBmb3JtYXRzXG4tIEhpanJpIGRhdGUgYWRqdXNtZW50XG4tIElxYW1haCBvcHRpb24iLAogICJuYW1lIjogInhBemFuVGltZXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXphbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hN21lZGtoYWxhZi9hemFuLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXphbkBhN21lZGtoYWxhZiIsCiAgInZlcnNpb24iOiAyCn0="}
+  }}
+, {"uuid": "clown@markocic", "name": "Clown", "pname": "clown", "description": "Displays clown emoji in the panel and plays clown theme song on click", "link": "https://extensions.gnome.org/extension/6544/clown/", "shell_version_map": {
+    "45": {"version": "3", "sha256": "13ybvk48whny007fxvspdpx7slg42l7fgrg0drcfrh9w6c6jvq0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGNsb3duIGVtb2ppIGluIHRoZSBwYW5lbCBhbmQgcGxheXMgY2xvd24gdGhlbWUgc29uZyBvbiBjbGljayIsCiAgIm5hbWUiOiAiQ2xvd24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFya29jaWMvY2xvd24tZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJjbG93bkBtYXJrb2NpYyIsCiAgInZlcnNpb24iOiAzCn0="}
   }}
 , {"uuid": "input-source-dbus-interface@raiden_fumo", "name": "Input source D-Bus interface", "pname": "input-source-d-bus-interface", "description": "Add D-Bus interface for changing input sources via command.\nWith this extension you can bind multiple keyboard layouts to different shortcuts.\nSee README.md in extension archive or repository for usage details.", "link": "https://extensions.gnome.org/extension/6547/input-source-d-bus-interface/", "shell_version_map": {
     "45": {"version": "1", "sha256": "16v5f7q798708srm1vqbcq37ykgsmybl6scl7bkk8sqksvangqsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBELUJ1cyBpbnRlcmZhY2UgZm9yIGNoYW5naW5nIGlucHV0IHNvdXJjZXMgdmlhIGNvbW1hbmQiLAogICJuYW1lIjogIklucHV0IHNvdXJjZSBELUJ1cyBpbnRlcmZhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVycnNjaGVyLW9mLXNsZWVwaW5nL2dub21lLWlucHV0LXNvdXJjZS1kYnVzLWludGVyZmFjZSIsCiAgInV1aWQiOiAiaW5wdXQtc291cmNlLWRidXMtaW50ZXJmYWNlQHJhaWRlbl9mdW1vIiwKICAidmVyc2lvbiI6IDEKfQ=="}
   }}
+, {"uuid": "rectangle@acristoffers.me", "name": "Rectangle", "pname": "rectangle", "description": "Magnet/Rectangle like manual tiling", "link": "https://extensions.gnome.org/extension/6553/rectangle/", "shell_version_map": {
+    "42": {"version": "4", "sha256": "1krp4001aphvjnp245262llv0xzwbga17skq94f2wkv87yqd1ggp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWNyaXN0b2ZmZXJzL2dub21lLXJlY3RhbmdsZSIsCiAgInV1aWQiOiAicmVjdGFuZ2xlQGFjcmlzdG9mZmVycy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "43": {"version": "4", "sha256": "1krp4001aphvjnp245262llv0xzwbga17skq94f2wkv87yqd1ggp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWNyaXN0b2ZmZXJzL2dub21lLXJlY3RhbmdsZSIsCiAgInV1aWQiOiAicmVjdGFuZ2xlQGFjcmlzdG9mZmVycy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "44": {"version": "4", "sha256": "1krp4001aphvjnp245262llv0xzwbga17skq94f2wkv87yqd1ggp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWNyaXN0b2ZmZXJzL2dub21lLXJlY3RhbmdsZSIsCiAgInV1aWQiOiAicmVjdGFuZ2xlQGFjcmlzdG9mZmVycy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "45": {"version": "3", "sha256": "15gv4y4rwqgz54y86ik09izp0fl4rsw2x7bra959ih60dy3vs00i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ25ldC9SZWN0YW5nbGUgbGlrZSBtYW51YWwgdGlsaW5nIiwKICAibmFtZSI6ICJSZWN0YW5nbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucmVjdGFuZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FjcmlzdG9mZmVycy9nbm9tZS1yZWN0YW5nbGUiLAogICJ1dWlkIjogInJlY3RhbmdsZUBhY3Jpc3RvZmZlcnMubWUiLAogICJ2ZXJzaW9uIjogMwp9"}
+  }}
+, {"uuid": "task-up@fthx", "name": "Task Up", "pname": "task-up", "description": "Task bar. Handles multiple workspaces. Very light extension.\n\n Complete rewrite of BaBar task bar extension, light code only has 300 lines.\n\n Some settings.", "link": "https://extensions.gnome.org/extension/6556/task-up/", "shell_version_map": {
+    "45": {"version": "13", "sha256": "06rnaagwpcj6qzb53cmi81kx71ssjy1qhm6abcrkyd8113gmag3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBIYW5kbGVzIG11bHRpcGxlIHdvcmtzcGFjZXMuIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gQ29tcGxldGUgcmV3cml0ZSBvZiBCYUJhciB0YXNrIGJhciBleHRlbnNpb24sIGxpZ2h0IGNvZGUgb25seSBoYXMgMzAwIGxpbmVzLlxuXG4gU29tZSBzZXR0aW5ncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJUYXNrIFVwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2stdXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC90YXNrLXVwIiwKICAidXVpZCI6ICJ0YXNrLXVwQGZ0aHgiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
+  }}
+, {"uuid": "workspace-switch-buttons@rajan-31", "name": "Workspace Switch Buttons", "pname": "workspace-switch-buttons", "description": "Adds buttons to switch to left and right workspace, and hides \"Activities\" button", "link": "https://extensions.gnome.org/extension/6562/workspace-switch-buttons/", "shell_version_map": {
+    "42": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="},
+    "43": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="},
+    "44": {"version": "2", "sha256": "03hzxb0b6ckqhjj7syv5bh5sl0k5jajnfrpy82ifw4aa89apin81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYnV0dG9ucyB0byBzd2l0Y2ggdG8gbGVmdCBhbmQgcmlnaHQgd29ya3NwYWNlLCBhbmQgaGlkZXMgXCJBY3Rpdml0aWVzXCIgYnV0dG9uIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoIEJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYWphbi0zMS9Xb3Jrc3BhY2UtU3dpdGNoLUJ1dHRvbnMiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2gtYnV0dG9uc0ByYWphbi0zMSIsCiAgInZlcnNpb24iOiAyCn0="}
+  }}
+, {"uuid": "langTray@a7medkhalaf", "name": "xLanguageTray", "pname": "xlanguagetray", "description": "Move Region/Language Tray To Quick Settings", "link": "https://extensions.gnome.org/extension/6565/xlanguagetray/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "056x6bg3z8vqrknyqgr8hfgd8x04nj626jxw30p3qszvazajr8bj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgUmVnaW9uL0xhbmd1YWdlIFRyYXkgVG8gUXVpY2sgU2V0dGluZ3MiLAogICJuYW1lIjogInhMYW5ndWFnZVRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYTdtZWRraGFsYWYvTGFuZ1RyYXkiLAogICJ1dWlkIjogImxhbmdUcmF5QGE3bWVka2hhbGFmIiwKICAidmVyc2lvbiI6IDIKfQ=="}
+  }}
+, {"uuid": "simplebreakreminder@castillodel.com", "name": "Simple Break Reminder", "pname": "simple-break-reminder", "description": "It's important to remember to take a break", "link": "https://extensions.gnome.org/extension/6568/simple-break-reminder/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "07014vqkcxhrndwywbprxkngvvyn0fvwpq7iaky04m8zb88jhk4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiU2ltcGxlIEJyZWFrIFJlbWluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2FzdGlsbG9EZWwvc2ltcGxlYnJlYWtyZW1pbmRlciIsCiAgInV1aWQiOiAic2ltcGxlYnJlYWtyZW1pbmRlckBjYXN0aWxsb2RlbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}
+  }}
 ]
diff --git a/pkgs/desktops/gnome/games/gnome-sudoku/default.nix b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
index 513ae6ed9e03b..ffd5573d01548 100644
--- a/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-sudoku";
-  version = "45.2";
+  version = "45.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Ves0R5euw9ifer/L57djAn9cDipaIuaPvzLH6UOdlfI=";
+    sha256 = "27xURAbO54QRBBeOpKk742EH2dfsplVf0wGJzRQ41ko=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix
index bcaa19ab27df5..2de3a7c9d409b 100644
--- a/pkgs/desktops/lomiri/default.nix
+++ b/pkgs/desktops/lomiri/default.nix
@@ -20,6 +20,7 @@ let
 
     #### Services
     biometryd = callPackage ./services/biometryd { };
+    hfd-service = callPackage ./services/hfd-service { };
   };
 in
   lib.makeScope libsForQt5.newScope packages
diff --git a/pkgs/desktops/lomiri/services/hfd-service/default.nix b/pkgs/desktops/lomiri/services/hfd-service/default.nix
new file mode 100644
index 0000000000000..cffedb0af6235
--- /dev/null
+++ b/pkgs/desktops/lomiri/services/hfd-service/default.nix
@@ -0,0 +1,75 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, gitUpdater
+, accountsservice
+, cmake
+, cmake-extras
+, deviceinfo
+, libgbinder
+, libglibutil
+, pkg-config
+, qtbase
+, qtdeclarative
+, qtfeedback
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "hfd-service";
+  version = "0.2.1";
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/hfd-service";
+    rev = finalAttrs.version;
+    hash = "sha256-KcHwLTSdo86YCteUsPndoxmLf23SOEhROc5cJQ8GS1Q=";
+  };
+
+  postPatch = ''
+    substituteInPlace qt/feedback-plugin/CMakeLists.txt \
+      --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/plugins" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtPluginPrefix}"
+
+    # Queries pkg-config via pkg_get_variable, can't override prefix
+    substituteInPlace init/CMakeLists.txt \
+      --replace "\''${SYSTEMD_SYSTEM_DIR}" "$out/lib/systemd/system"
+    substituteInPlace CMakeLists.txt \
+      --replace 'pkg_get_variable(AS_INTERFACES_DIR accountsservice interfacesdir)' 'set(AS_INTERFACES_DIR "''${CMAKE_INSTALL_DATADIR}/accountsservice/interfaces")' \
+      --replace 'DESTINATION ''${DBUS_INTERFACES_DIR}' 'DESTINATION ${placeholder "out"}/''${DBUS_INTERFACES_DIR}'
+    substituteInPlace src/CMakeLists.txt \
+      --replace "\''${DBUS_INTERFACES_DIR}/org.freedesktop.Accounts.xml" '${accountsservice}/share/dbus-1/interfaces/org.freedesktop.Accounts.xml'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    accountsservice
+    cmake-extras
+    deviceinfo
+    libgbinder
+    libglibutil
+    qtbase
+    qtdeclarative
+    qtfeedback
+  ];
+
+  cmakeFlags = [
+    "-DENABLE_LIBHYBRIS=OFF"
+  ];
+
+  dontWrapQtApps = true;
+
+  passthru.updateScript = gitUpdater { };
+
+  meta = with lib; {
+    description = "DBus-activated service that manages human feedback devices such as LEDs and vibrators on mobile devices";
+    homepage = "https://gitlab.com/ubports/development/core/hfd-service";
+    license = licenses.lgpl3Only;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index 1c99a04f65101..214e1767f25b2 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-panel";
-  version = "1.26.3";
+  version = "1.26.4";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "8z8Q1SdFC6fpjMcKslWsSBMwqp5m28x8URtrqhcd4Ck=";
+    sha256 = "IHD51RVlfl3c2g2H73KXE9upy3sq0GIjvWdKIcxrPa8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix
index 57141ba23e2ec..628b259acbd9c 100644
--- a/pkgs/development/compilers/gcc/default.nix
+++ b/pkgs/development/compilers/gcc/default.nix
@@ -392,7 +392,11 @@ lib.pipe ((callFile ./common/builder.nix {}) ({
       EXTRA_LDFLAGS_FOR_TARGET
       ;
   } // optionalAttrs is7 {
-    NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
+    NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument"
+      # Downgrade register storage class specifier errors to warnings when building a cross compiler from a clang stdenv.
+      + lib.optionalString (stdenv.cc.isClang && targetPlatform != hostPlatform) " -Wno-register";
+  } // optionalAttrs (!is7 && !atLeast12 && stdenv.cc.isClang && targetPlatform != hostPlatform) {
+    NIX_CFLAGS_COMPILE = "-Wno-register";
   } // optionalAttrs (!atLeast7) {
     inherit langJava;
   } // optionalAttrs atLeast6 {
@@ -420,8 +424,10 @@ lib.pipe ((callFile ./common/builder.nix {}) ({
     ;
   } // lib.optionalAttrs (!atLeast11) {
     badPlatforms = if !(is48 || is49) then [ "aarch64-darwin" ] else lib.platforms.darwin;
+  } // lib.optionalAttrs is11 {
+    badPlatforms = if targetPlatform != hostPlatform then [ "aarch64-darwin" ] else [ ];
   };
-} // lib.optionalAttrs (!atLeast10 && stdenv.hostPlatform.isDarwin) {
+} // lib.optionalAttrs (!atLeast10 && stdenv.targetPlatform.isDarwin) {
   # GCC <10 requires default cctools `strip` instead of `llvm-strip` used by Darwin bintools.
   preBuild = ''
     makeFlagsArray+=('STRIP=${lib.getBin darwin.cctools-port}/bin/${stdenv.cc.targetPrefix}strip')
diff --git a/pkgs/development/compilers/gcc/patches/11/avr-gcc-11.3-darwin.patch b/pkgs/development/compilers/gcc/patches/11/avr-gcc-11.3-darwin.patch
deleted file mode 100644
index 787862fbcffaa..0000000000000
--- a/pkgs/development/compilers/gcc/patches/11/avr-gcc-11.3-darwin.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/gcc/config/avr/avr.c	2022-10-08 19:18:33.000000000 +0200
-+++ b/gcc/config/avr/avr.patched.c	2022-10-08 19:19:34.000000000 +0200
-@@ -10196,7 +10196,7 @@
-    to track need of __do_copy_data.  */
- 
- static void
--avr_output_data_section_asm_op (const void *data)
-+avr_output_data_section_asm_op (const char *data)
- {
-   avr_need_copy_data_p = true;
- 
-@@ -10209,7 +10209,7 @@
-    to track need of __do_clear_bss.  */
- 
- static void
--avr_output_bss_section_asm_op (const void *data)
-+avr_output_bss_section_asm_op (const char *data)
- {
-   avr_need_clear_bss_p = true;
- 
diff --git a/pkgs/development/compilers/gcc/patches/default.nix b/pkgs/development/compilers/gcc/patches/default.nix
index 9eda241f6d3ac..32938be376d9b 100644
--- a/pkgs/development/compilers/gcc/patches/default.nix
+++ b/pkgs/development/compilers/gcc/patches/default.nix
@@ -175,9 +175,6 @@ in
 
 ## gcc 11.0 and older ##############################################################################
 
-# https://github.com/osx-cross/homebrew-avr/issues/280#issuecomment-1272381808
-++ optional (is11 && stdenv.isDarwin && targetPlatform.isAvr) ./avr-gcc-11.3-darwin.patch
-
 # libgcc’s `configure` script misdetects aarch64-darwin, resulting in an invalid deployment target.
 ++ optional (is11 && stdenv.isDarwin && stdenv.isAarch64) ./11/libgcc-aarch64-darwin-detection.patch
 
diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix
index 83b986be2b328..8bc9a58351773 100644
--- a/pkgs/development/compilers/ghc/common-hadrian.nix
+++ b/pkgs/development/compilers/ghc/common-hadrian.nix
@@ -477,6 +477,14 @@ stdenv.mkDerivation ({
   preInstall = ''
     pushd _build/bindist/*
 
+  ''
+  # the bindist configure script uses different env variables than the GHC configure script
+  # see https://github.com/NixOS/nixpkgs/issues/267250 and https://gitlab.haskell.org/ghc/ghc/-/issues/24211
+  + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
+    export InstallNameToolCmd=$INSTALL_NAME_TOOL
+    export OtoolCmd=$OTOOL
+  ''
+  + ''
     $configureScript $configureFlags "''${configureFlagsArray[@]}"
   '';
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 6b8d657f34ec7..a6fff5feb6b01 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,5 +1,5 @@
 import ./common-hadrian.nix {
-  version = "9.9.20231014";
-  rev = "13d3c613c3c1e4942c698449bdf58a6a13b76695";
-  sha256 = "13xp4ijnym2qbw2qbxkvfb79l7034vrcm9j2j9kirbhjxzdshvx9";
+  version = "9.9.20231121";
+  rev = "955520c6c4f07187b6d5e4770ecf681cc78374f2";
+  sha256 = "0pv77khciv513aw64pfac5p60xn5z90rxl84dcalj6knmbhm8dqy";
 }
diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix
index b2a5561dcf4dc..db03d2d85ca25 100644
--- a/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -30,16 +30,16 @@ in
 
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "1.0.14828.8";
+  version = "1.0.15136.4";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     rev = "igc-${version}";
-    hash = "sha256-BGmZVBEw7XlgbQcWgRK+qbJS9U4Sm9G8g9m0GRUhmCI=";
+    hash = "sha256-Qh3FNck1z+rr7eSqxVnNs7YKvgXpKGY5dd3yx1Ft9Mg=";
   };
 
-  nativeBuildInputs = [ bison cmake flex python3 ];
+  nativeBuildInputs = [ bison cmake flex (python3.withPackages (ps : with ps; [ mako ])) ];
 
   buildInputs = [ lld llvm spirv-headers spirv-llvm-translator' spirv-tools ];
 
diff --git a/pkgs/development/compilers/llvm/6/lldb/default.nix b/pkgs/development/compilers/llvm/6/lldb/default.nix
index e64584edf29d1..c8d3c4c1a771d 100644
--- a/pkgs/development/compilers/llvm/6/lldb/default.nix
+++ b/pkgs/development/compilers/llvm/6/lldb/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.libobjc
     darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.DebugSymbols darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
   ];
 
   CXXFLAGS = "-fno-rtti";
diff --git a/pkgs/development/compilers/llvm/7/llvm/default.nix b/pkgs/development/compilers/llvm/7/llvm/default.nix
index 97ac428a7f550..71beb79a1cda0 100644
--- a/pkgs/development/compilers/llvm/7/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/7/llvm/default.nix
@@ -110,7 +110,17 @@ in stdenv.mkDerivation (rec {
     })
 
     ../../llvm-7-musl.patch
-  ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
+  ] ++ lib.optionals enablePolly [
+    ./gnu-install-dirs-polly.patch
+    # Add missing isl header includess required to build LLVM 7 + Polly with clang 16.
+    (fetchpatch {
+      name = "polly-ppcg-isl-headers.patch";
+      url = "https://repo.or.cz/ppcg.git/patch/098ba285306114dc71497f7b51c357f69c9b4472";
+      hash = "sha256-c9L30rDROYAMbUSuaK9U/ixyFMlH/Sa1n+VgLODzSCQ=";
+      extraPrefix = "tools/polly/lib/External/ppcg/";
+      stripLen = 1;
+    })
+  ];
 
   postPatch = optionalString stdenv.isDarwin ''
     substituteInPlace cmake/modules/AddLLVM.cmake \
diff --git a/pkgs/development/compilers/llvm/8/llvm/default.nix b/pkgs/development/compilers/llvm/8/llvm/default.nix
index 8a0fea85e260d..7cef04347429c 100644
--- a/pkgs/development/compilers/llvm/8/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/8/llvm/default.nix
@@ -117,7 +117,17 @@ in stdenv.mkDerivation (rec {
       relative = "llvm";
       hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA=";
     })
-  ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
+  ] ++ lib.optionals enablePolly [
+    ./gnu-install-dirs-polly.patch
+    # Add missing isl header includess required to build LLVM 8 + Polly with clang 16.
+    (fetchpatch {
+      name = "polly-ppcg-isl-headers.patch";
+      url = "https://repo.or.cz/ppcg.git/patch/098ba285306114dc71497f7b51c357f69c9b4472";
+      hash = "sha256-c9L30rDROYAMbUSuaK9U/ixyFMlH/Sa1n+VgLODzSCQ=";
+      extraPrefix = "tools/polly/lib/External/ppcg/";
+      stripLen = 1;
+    })
+  ];
 
   postPatch = optionalString stdenv.isDarwin ''
     substituteInPlace cmake/modules/AddLLVM.cmake \
diff --git a/pkgs/development/compilers/llvm/9/llvm/default.nix b/pkgs/development/compilers/llvm/9/llvm/default.nix
index 526030d6b34d8..75c7868559734 100644
--- a/pkgs/development/compilers/llvm/9/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/9/llvm/default.nix
@@ -115,7 +115,17 @@ in stdenv.mkDerivation (rec {
       relative = "llvm";
       hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA=";
     })
-  ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
+  ] ++ lib.optionals enablePolly [
+    ./gnu-install-dirs-polly.patch
+    # Add missing isl header includess required to build LLVM 9 + Polly with clang 16.
+    (fetchpatch {
+      name = "polly-ppcg-isl-headers.patch";
+      url = "https://repo.or.cz/ppcg.git/patch/098ba285306114dc71497f7b51c357f69c9b4472";
+      hash = "sha256-c9L30rDROYAMbUSuaK9U/ixyFMlH/Sa1n+VgLODzSCQ=";
+      extraPrefix = "tools/polly/lib/External/ppcg/";
+      stripLen = 1;
+    })
+  ];
 
   postPatch = optionalString stdenv.isDarwin ''
     substituteInPlace cmake/modules/AddLLVM.cmake \
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index 951678847076b..c82a88bb2793e 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -10,6 +10,13 @@ stdenv.mkDerivation rec {
   pname = "polyml";
   version = "5.9.1";
 
+  src = fetchFromGitHub {
+    owner = "polyml";
+    repo = "polyml";
+    rev = "v${version}";
+    sha256 = "sha256-72wm8dt+Id59A5058mVE5P9TkXW5/LZRthZoxUustVA=";
+  };
+
   prePatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure.ac --replace stdc++ c++
   '';
@@ -24,12 +31,13 @@ stdenv.mkDerivation rec {
     "--with-gmp"
   ];
 
-  src = fetchFromGitHub {
-    owner = "polyml";
-    repo = "polyml";
-    rev = "v${version}";
-    sha256 = "sha256-72wm8dt+Id59A5058mVE5P9TkXW5/LZRthZoxUustVA=";
-  };
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+    make check
+    runHook postCheck
+  '';
 
   meta = with lib; {
     description = "Standard ML compiler and interpreter";
diff --git a/pkgs/development/compilers/tvm/default.nix b/pkgs/development/compilers/tvm/default.nix
index e72cc3cdb93a2..da6b2dc16700d 100644
--- a/pkgs/development/compilers/tvm/default.nix
+++ b/pkgs/development/compilers/tvm/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tvm";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "apache";
     repo = "incubator-tvm";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-WG0vU3lxX5FNs0l37mTE1T7rSEEtfTEisE3cMphzeAk=";
+    sha256 = "sha256-ePBEiT7Yl54KQou/VP/aZEJ6BueH8ocB+/TUhZJkgH8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/embedded/elf2uf2-rs/default.nix b/pkgs/development/embedded/elf2uf2-rs/default.nix
index 493381842109c..c64380bec23d4 100644
--- a/pkgs/development/embedded/elf2uf2-rs/default.nix
+++ b/pkgs/development/embedded/elf2uf2-rs/default.nix
@@ -2,11 +2,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "elf2uf2-rs";
-  version = "1.3.7";
+  version = "1.3.8";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-2ZilZIYXCNrKJlkHBsz/2/pMtF+UDfjDlt53ylcwgus=";
+    sha256 = "sha256-wR2rxovUYBW9kKMFJG5lsRhtpI12L+HZe73kQyckEdI=";
   };
 
   nativeBuildInputs = [
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
       Foundation
     ];
 
-  cargoSha256 = "sha256-+3Rqlzkrw9XfM3PelGNbnRGaWQLbzVJ7iJgvGgVt5FE=";
+  cargoHash = "sha256-gSEmNmVpREvD3lDJmcmPnN9keu7SaAIcO7fDhOBhu/E=";
 
   meta = with lib; {
     description = "Convert ELF files to UF2 for USB Flashing Bootloaders";
diff --git a/pkgs/development/hare-packages/hare-json/default.nix b/pkgs/development/hare-packages/hare-json/default.nix
new file mode 100644
index 0000000000000..d9afdeadf7f01
--- /dev/null
+++ b/pkgs/development/hare-packages/hare-json/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, hare, harec, fetchFromSourcehut }:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "hare-json";
+  version = "unstable-2023-09-21";
+
+  src = fetchFromSourcehut {
+    owner = "~sircmpwn";
+    repo = "hare-json";
+    rev = "e24e5dceb8628ff569338e6c4fdba35a5017c5e2";
+    hash = "sha256-7QRieokqXarKwLfZynS8Rum9JV9hcxod00BWAUwwliM=";
+  };
+
+  nativeBuildInputs = [ hare ];
+
+  configurePhase = ''
+    runHook preConfigure
+
+    export HARECACHE="$NIX_BUILD_TOP/.harecache"
+    export BINOUT="$NIX_BUILD_TOP/.bin"
+
+    makeFlagsArray+=(
+      PREFIX="${builtins.placeholder "out"}"
+    )
+
+    runHook postConfigure
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://git.sr.ht/~sircmpwn/hare-json/";
+    description = "This package provides JSON support for Hare";
+    license = with licenses; [ mpl20 ];
+    maintainers = with maintainers; [ starzation ];
+
+    inherit (harec.meta) platforms badPlatforms;
+  };
+})
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 7fe56b3f13d01..c0f0f0526cbf2 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -121,22 +121,24 @@ self: super: {
   # For -f-auto see cabal.project in haskell-language-server.
   ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser (disableCabalFlag "auto" super.ghc-lib-parser-ex);
 
-  hiedb =
-    lib.pipe
-      super.hiedb
-      [
-        # hiedb-0.4.3.0 does not yet support algebraic-graphs-0.7.  This patch works
-        # around the issue.
-        # https://github.com/wz1000/HieDb/pull/44
-        (appendPatch
-          (pkgs.fetchpatch {
-            name = "hiedb-algebraic-graphs-0.7.patch";
-            url = "https://github.com/wz1000/HieDB/commit/4ac8e6735321872b9d5d15a9cac492add5555234.patch";
-            hash = "sha256-Iu+M8r+DrpoxUCG6yekgbW+GffoNjjRksnwUJ6jojhE=";
-          }))
-        # Patch does not actually bump the bound in the .cabal file.
-        doJailbreak
-      ];
+  # 2023-12-03: https://github.com/haskell/haskell-language-server/pull/3867
+  hls-plugin-api = appendPatch (fetchpatch {
+    url = "https://github.com/haskell/haskell-language-server/commit/1c884ea856cceeaa3254a2ef68c8ab3a3c353153.patch";
+    relative = "hls-plugin-api";
+    hash = "sha256-vlXPdEvmuIl+cM+u/GdHi8r72r4+Tqtsvx0CGbWEFCQ=";
+  }) (doJailbreak super.hls-plugin-api);
+  ghcide = appendPatch (fetchpatch {
+    url = "https://github.com/haskell/haskell-language-server/commit/1c884ea856cceeaa3254a2ef68c8ab3a3c353153.patch";
+    relative = "ghcide";
+    hash = "sha256-1URXyQf88v3hjFGvNmcIjHxJ5vExH3iI92XktDrQs0U=";
+  }) (doJailbreak super.ghcide);
+  hls-test-utils = doJailbreak super.hls-test-utils;
+  hls-alternate-number-format-plugin = doJailbreak super.hls-alternate-number-format-plugin;
+  hls-cabal-plugin = doJailbreak super.hls-cabal-plugin;
+  hls-call-hierarchy-plugin = doJailbreak super.hls-call-hierarchy-plugin;
+  hls-explicit-fixity-plugin = doJailbreak super.hls-explicit-fixity-plugin;
+  hls-floskell-plugin = doJailbreak super.hls-floskell-plugin;
+  hls-gadt-plugin = doJailbreak super.hls-gadt-plugin;
 
   ###########################################
   ### END HASKELL-LANGUAGE-SERVER SECTION ###
@@ -484,7 +486,6 @@ self: super: {
   # Too strict bounds on algebraic-graphs and bytestring
   # https://github.com/haskell-nix/hnix-store/issues/180
   hnix-store-core = doJailbreak super.hnix-store-core;
-  hnix-store-core_0_6_1_0 = doDistribute (doJailbreak super.hnix-store-core_0_6_1_0);
 
   # Fails for non-obvious reasons while attempting to use doctest.
   focuslist = dontCheck super.focuslist;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index acde3041b1fa1..893d5f398ab79 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -76,7 +76,13 @@ self: super: {
   ChasingBottoms = doJailbreak super.ChasingBottoms;
   chell = doJailbreak super.chell;
   Diff = dontCheck super.Diff;
-  doctest = doJailbreak super.doctest;
+  doctest = overrideCabal (drv: {
+    jailbreak = true;
+    # The test case relies on the Printf module which did not exist in base 4.13
+    testFlags = drv.testFlags or [ ] ++ [
+      "--skip=/Main/doctest (regression tests)/template-haskell-bugfix/"
+    ];
+  }) super.doctest;
   hashable-time = doJailbreak super.hashable-time;
   hledger-lib = doJailbreak super.hledger-lib;  # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
   integer-logarithms = doJailbreak super.integer-logarithms;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 839b3c1bee5bf..290b3f6bc736d 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -1672,6 +1672,7 @@ broken-packages:
   - fortran-vars # failure in job https://hydra.nixos.org/build/233257719 at 2023-09-02
   - fortytwo # failure in job https://hydra.nixos.org/build/233209552 at 2023-09-02
   - foscam-filename # failure in job https://hydra.nixos.org/build/233237326 at 2023-09-02
+  - fp-ieee # failure in job https://hydra.nixos.org/build/241516602 at 2023-12-03
   - FPretty # failure in job https://hydra.nixos.org/build/233196648 at 2023-09-02
   - fptest # failure in job https://hydra.nixos.org/build/233233288 at 2023-09-02
   - fquery # failure in job https://hydra.nixos.org/build/233196287 at 2023-09-02
@@ -3393,6 +3394,7 @@ broken-packages:
   - MapWith # failure in job https://hydra.nixos.org/build/233237146 at 2023-09-02
   - markdown-kate # failure in job https://hydra.nixos.org/build/233227051 at 2023-09-02
   - marked-pretty # failure in job https://hydra.nixos.org/build/233193892 at 2023-09-02
+  - markov-chain-usage-model # failure in job https://hydra.nixos.org/build/241522329 at 2023-12-03
   - markov-realization # failure in job https://hydra.nixos.org/build/233234901 at 2023-09-02
   - mars # failure in job https://hydra.nixos.org/build/234449730 at 2023-09-13
   - marshal-contt # failure in job https://hydra.nixos.org/build/233231755 at 2023-09-02
@@ -4858,6 +4860,7 @@ broken-packages:
   - semilattices # failure in job https://hydra.nixos.org/build/233223765 at 2023-09-02
   - sendgrid-haskell # failure in job https://hydra.nixos.org/build/233228693 at 2023-09-02
   - sendgrid-v3 # failure in job https://hydra.nixos.org/build/233224134 at 2023-09-02
+  - sensei # failure in job https://hydra.nixos.org/build/241518007 at 2023-12-03
   - sensu-run # failure in job https://hydra.nixos.org/build/233251719 at 2023-09-02
   - sentry # failure in job https://hydra.nixos.org/build/233246813 at 2023-09-02
   - seonbi # failure in job https://hydra.nixos.org/build/233196115 at 2023-09-02
@@ -4924,6 +4927,7 @@ broken-packages:
   - SessionLogger # failure in job https://hydra.nixos.org/build/233235790 at 2023-09-02
   - sessions # failure in job https://hydra.nixos.org/build/233214614 at 2023-09-02
   - sessiontypes # failure in job https://hydra.nixos.org/build/233224975 at 2023-09-02
+  - setdown # failure in job https://hydra.nixos.org/build/241521053 at 2023-12-03
   - setgame # failure in job https://hydra.nixos.org/build/233218664 at 2023-09-02
   - set-of # failure in job https://hydra.nixos.org/build/233202960 at 2023-09-02
   - setoid # failure in job https://hydra.nixos.org/build/233213744 at 2023-09-02
@@ -5529,6 +5533,7 @@ broken-packages:
   - th-traced # failure in job https://hydra.nixos.org/build/233247762 at 2023-09-02
   - thumbnail # failure in job https://hydra.nixos.org/build/233257110 at 2023-09-02
   - thumbnail-plus # failure in job https://hydra.nixos.org/build/233255464 at 2023-09-02
+  - thyme # failure in job https://hydra.nixos.org/build/241518029 at 2023-12-03
   - tianbar # failure in job https://hydra.nixos.org/build/233195811 at 2023-09-02
   - ticket-management # failure in job https://hydra.nixos.org/build/233247134 at 2023-09-02
   - tictactoe3d # failure in job https://hydra.nixos.org/build/233193080 at 2023-09-02
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index c93590d0980c5..c22e2f2c31ca1 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 21.19
+# Stackage LTS 21.21
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -57,7 +57,7 @@ default-package-overrides:
   - annotated-exception ==0.2.0.5
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.11.5
-  - ansi-terminal-game ==1.9.1.3
+  - ansi-terminal-game ==1.9.2.0
   - ansi-terminal-types ==0.11.5
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
@@ -121,7 +121,7 @@ default-package-overrides:
   - autodocodec-openapi3 ==0.2.1.1
   - autodocodec-schema ==0.1.0.3
   - autodocodec-yaml ==0.2.0.3
-  - autoexporter ==2.0.0.8
+  - autoexporter ==2.0.0.9
   - auto-update ==0.1.6
   - avro ==0.6.1.2
   - aws ==0.24.1
@@ -249,7 +249,7 @@ default-package-overrides:
   - bugsnag-wai ==1.0.0.1
   - bugsnag-yesod ==1.0.0.1
   - bugzilla-redhat ==1.0.1.1
-  - burrito ==2.0.1.6
+  - burrito ==2.0.1.7
   - bv ==0.5
   - byteable ==0.1.1
   - bytebuild ==0.3.14.0
@@ -263,7 +263,7 @@ default-package-overrides:
   - byteslice ==0.2.11.1
   - bytesmith ==0.3.10.0
   - bytestring-builder ==0.10.8.2.0
-  - bytestring-lexing ==0.5.0.10
+  - bytestring-lexing ==0.5.0.11
   - bytestring-mmap ==0.2.2
   - bytestring-strict-builder ==0.4.5.7
   - bytestring-to-vector ==0.3.0.1
@@ -279,7 +279,7 @@ default-package-overrides:
   - cabal-doctest ==1.0.9
   - cabal-file ==0.1.1
   - cabal-install-solver ==3.8.1.0
-  - cabal-rpm ==2.1.3
+  - cabal-rpm ==2.1.4
   - cache ==0.1.3.0
   - cached-json-file ==0.1.1
   - cacophony ==0.10.1
@@ -304,8 +304,8 @@ default-package-overrides:
   - cassava-conduit ==0.6.5
   - cassava-megaparsec ==2.0.4
   - cast ==0.1.0.2
-  - cborg ==0.2.9.0
-  - cborg-json ==0.2.5.0
+  - cborg ==0.2.10.0
+  - cborg-json ==0.2.6.0
   - cdar-mBound ==0.1.0.4
   - c-enum ==0.1.1.3
   - cereal ==0.5.8.3
@@ -352,7 +352,7 @@ default-package-overrides:
   - codec-beam ==0.2.0
   - code-conjure ==0.5.2
   - code-page ==0.2.1
-  - coinor-clp ==0.0
+  - coinor-clp ==0.0.0.1
   - cointracking-imports ==0.1.0.2
   - collect-errors ==0.1.5.0
   - co-log-concurrent ==0.5.1.0
@@ -407,7 +407,7 @@ default-package-overrides:
   - conferer-aeson ==1.1.0.2
   - conferer-warp ==1.1.0.1
   - ConfigFile ==1.1.4
-  - config-ini ==0.2.6.0
+  - config-ini ==0.2.7.0
   - configuration-tools ==0.6.1
   - configurator ==0.3.0.0
   - configurator-export ==0.1.0.1
@@ -552,7 +552,7 @@ default-package-overrides:
   - dependent-map ==0.4.0.0
   - dependent-sum ==0.7.2.0
   - depq ==0.4.2
-  - deque ==0.4.4
+  - deque ==0.4.4.1
   - deriveJsonNoPrefix ==0.1.0.1
   - derive-storable ==0.3.1.0
   - derive-topdown ==0.0.3.0
@@ -570,7 +570,7 @@ default-package-overrides:
   - diagrams-cairo ==1.4.2.1
   - diagrams-canvas ==1.4.1.2
   - diagrams-contrib ==1.4.5.1
-  - diagrams-core ==1.5.1
+  - diagrams-core ==1.5.1.1
   - diagrams-html5 ==1.4.2
   - diagrams-lib ==1.4.6
   - diagrams-postscript ==1.5.1.1
@@ -682,7 +682,7 @@ default-package-overrides:
   - enclosed-exceptions ==1.0.3
   - ENIG ==0.0.1.0
   - entropy ==0.4.1.10
-  - enummapset ==0.7.1.0
+  - enummapset ==0.7.2.0
   - enumset ==0.1
   - enum-subset-generate ==0.1.0.1
   - enum-text ==0.5.3.0
@@ -775,7 +775,7 @@ default-package-overrides:
   - fitspec ==0.4.10
   - fixed ==0.3
   - fixed-length ==0.2.3.1
-  - fixed-vector ==1.2.2.1
+  - fixed-vector ==1.2.3.0
   - fixed-vector-hetero ==0.6.1.1
   - fix-whitespace ==0.0.11
   - flac ==0.2.1
@@ -786,7 +786,7 @@ default-package-overrides:
   - flay ==0.4
   - FloatingHex ==0.5
   - floatshow ==0.2.4
-  - flow ==2.0.0.3
+  - flow ==2.0.0.4
   - flush-queue ==1.0.0
   - fmlist ==0.9.4
   - fmt ==0.6.3.0
@@ -826,7 +826,7 @@ default-package-overrides:
   - functor-classes-compat ==2.0.0.2
   - functor-combinators ==0.4.1.2
   - fused-effects ==1.1.2.2
-  - fusion-plugin ==0.2.6
+  - fusion-plugin ==0.2.7
   - fusion-plugin-types ==0.1.0
   - fuzzcheck ==0.1.1
   - fuzzy ==0.1.0.1
@@ -895,8 +895,8 @@ default-package-overrides:
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
   - ghcjs-perch ==0.3.3.3
-  - ghc-lib ==9.4.7.20230826
-  - ghc-lib-parser ==9.4.7.20230826
+  - ghc-lib ==9.4.8.20231111
+  - ghc-lib-parser ==9.4.8.20231111
   - ghc-lib-parser-ex ==9.4.0.0
   - ghc-paths ==0.1.0.12
   - ghc-prof ==1.4.1.12
@@ -904,7 +904,7 @@ default-package-overrides:
   - ghc-tcplugins-extra ==0.4.5
   - ghc-trace-events ==0.1.2.7
   - ghc-typelits-extra ==0.4.6
-  - ghc-typelits-knownnat ==0.7.9
+  - ghc-typelits-knownnat ==0.7.10
   - ghc-typelits-natnormalise ==0.7.9
   - ghc-typelits-presburger ==0.7.2.0
   - ghost-buster ==0.1.1.0
@@ -932,7 +932,7 @@ default-package-overrides:
   - gi-soup ==2.4.28
   - githash ==0.1.7.0
   - github ==0.28.0.1
-  - github-release ==2.0.0.8
+  - github-release ==2.0.0.9
   - github-rest ==1.1.4
   - github-types ==0.2.1
   - github-webhooks ==0.17.0
@@ -1016,12 +1016,12 @@ default-package-overrides:
   - haskell-src-exts ==1.23.1
   - haskell-src-exts-simple ==1.23.0.0
   - haskell-src-exts-util ==0.2.5
-  - haskell-src-meta ==0.8.12
+  - haskell-src-meta ==0.8.13
   - haskoin-core ==0.21.2
   - haskoin-node ==0.18.1
   - haskoin-store-data ==0.65.5
   - hasktags ==0.72.0
-  - hasql ==1.6.3.3
+  - hasql ==1.6.3.4
   - hasql-dynamic-statements ==0.3.1.2
   - hasql-implicits ==0.1.1
   - hasql-interpolate ==0.1.0.4
@@ -1070,7 +1070,7 @@ default-package-overrides:
   - hfsevents ==0.1.6
   - hgal ==2.0.0.3
   - hidapi ==0.1.8
-  - hi-file-parser ==0.1.5.0
+  - hi-file-parser ==0.1.6.0
   - highlighting-kate ==0.6.4
   - hindent ==6.0.0
   - hinfo ==0.0.3.0
@@ -1114,11 +1114,11 @@ default-package-overrides:
   - hpc-lcov ==1.1.1
   - HPDF ==1.6.2
   - hpp ==0.6.5
-  - hpqtypes ==1.11.1.1
+  - hpqtypes ==1.11.1.2
   - hpqtypes-extras ==1.16.4.4
   - hreader ==1.1.1
   - hreader-lens ==0.1.3.0
-  - hruby ==0.5.0.0
+  - hruby ==0.5.1.0
   - hsass ==0.8.0
   - hs-bibutils ==6.10.0.0
   - hsc2hs ==0.68.10
@@ -1159,7 +1159,7 @@ default-package-overrides:
   - hspec-core ==2.10.10
   - hspec-discover ==2.10.10
   - hspec-expectations ==0.8.2
-  - hspec-expectations-json ==1.0.2.0
+  - hspec-expectations-json ==1.0.2.1
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.6
   - hspec-golden ==0.2.1.0
@@ -1311,7 +1311,7 @@ default-package-overrides:
   - intset-imperative ==0.1.0.0
   - invariant ==0.6.2
   - invert ==1.0.0.4
-  - invertible-grammar ==0.1.3.4
+  - invertible-grammar ==0.1.3.5
   - io-machine ==0.2.0.0
   - io-manager ==0.1.0.4
   - io-memoize ==1.1.1.0
@@ -1350,7 +1350,7 @@ default-package-overrides:
   - js-flot ==0.8.3
   - js-jquery ==3.3.1
   - json ==0.10
-  - json-feed ==2.0.0.9
+  - json-feed ==2.0.0.10
   - jsonifier ==0.2.1.2
   - jsonpath ==0.3.0.0
   - json-rpc ==1.0.4
@@ -1387,7 +1387,7 @@ default-package-overrides:
   - koji ==0.0.2
   - krank ==0.3.0
   - labels ==0.3.3
-  - lackey ==2.0.0.6
+  - lackey ==2.0.0.7
   - LambdaHack ==0.11.0.1
   - lame ==0.2.2
   - language-avro ==0.1.4.0
@@ -1440,7 +1440,7 @@ default-package-overrides:
   - libgit ==0.3.1
   - liboath-hs ==0.0.1.2
   - libyaml ==0.1.2
-  - lifted-async ==0.10.2.4
+  - lifted-async ==0.10.2.5
   - lifted-base ==0.2.3.12
   - lift-generics ==0.2.1
   - lift-type ==0.1.1.1
@@ -1519,7 +1519,7 @@ default-package-overrides:
   - mathlist ==0.2.0.0
   - matplotlib ==0.7.7
   - matrices ==0.5.0
-  - matrix ==0.3.6.1
+  - matrix ==0.3.6.3
   - matrix-as-xyz ==0.1.2.2
   - matrix-market-attoparsec ==0.1.1.3
   - matrix-static ==0.3
@@ -1721,7 +1721,7 @@ default-package-overrides:
   - non-negative ==0.1.2
   - normaldistribution ==1.1.0.3
   - not-gloss ==0.7.7.0
-  - nothunks ==0.1.4
+  - nothunks ==0.1.5
   - no-value ==1.0.0.0
   - nowdoc ==0.1.1.0
   - nqe ==0.6.4
@@ -1835,7 +1835,7 @@ default-package-overrides:
   - pathtype ==0.8.1.2
   - path-utils ==0.1.1.0
   - pathwalk ==0.3.1.2
-  - patrol ==1.0.0.5
+  - patrol ==1.0.0.6
   - pattern-arrows ==0.0.2
   - pava ==0.1.1.4
   - pcf-font ==0.2.2.1
@@ -1892,7 +1892,7 @@ default-package-overrides:
   - pipes-ordered-zip ==1.2.1
   - pipes-parse ==3.0.9
   - pipes-random ==1.0.0.5
-  - pipes-safe ==2.3.4
+  - pipes-safe ==2.3.5
   - pipes-text ==1.0.1
   - pipes-wai ==3.2.0
   - pkgtreediff ==0.6.0
@@ -1942,7 +1942,7 @@ default-package-overrides:
   - pretty-hex ==1.1
   - prettyprinter ==1.7.1
   - prettyprinter-ansi-terminal ==1.1.3
-  - prettyprinter-combinators ==0.1.1.1
+  - prettyprinter-combinators ==0.1.2
   - prettyprinter-compat-annotated-wl-pprint ==1.1
   - prettyprinter-compat-ansi-wl-pprint ==1.0.2
   - prettyprinter-compat-wl-pprint ==1.0.1
@@ -1987,7 +1987,7 @@ default-package-overrides:
   - PSQueue ==1.2.0
   - psqueues ==0.2.8.0
   - pthread ==0.2.1
-  - ptr ==0.16.8.4
+  - ptr ==0.16.8.5
   - ptr-poker ==0.1.2.13
   - pulse-simple ==0.1.14
   - pureMD5 ==2.1.4
@@ -2026,7 +2026,7 @@ default-package-overrides:
   - rainbow ==0.34.2.2
   - rainbox ==0.26.0.0
   - ral ==0.2.1
-  - rampart ==2.0.0.6
+  - rampart ==2.0.0.7
   - ramus ==0.1.2
   - rando ==0.0.0.4
   - random ==1.2.1.1
@@ -2042,9 +2042,9 @@ default-package-overrides:
   - rank1dynamic ==0.4.1
   - Rasterific ==0.7.5.4
   - rasterific-svg ==0.3.3.2
-  - ratel ==2.0.0.9
+  - ratel ==2.0.0.10
   - rate-limit ==1.4.3
-  - ratel-wai ==2.0.0.4
+  - ratel-wai ==2.0.0.5
   - ratio-int ==0.1.2
   - rattle ==0.2
   - rattletrap ==12.0.3
@@ -2163,7 +2163,7 @@ default-package-overrides:
   - safe-money ==0.9.1
   - SafeSemaphore ==0.10.1
   - saltine ==0.2.1.0
-  - salve ==2.0.0.3
+  - salve ==2.0.0.4
   - sample-frame ==0.0.4
   - sample-frame-np ==0.0.5
   - sampling ==0.3.5
@@ -2210,7 +2210,7 @@ default-package-overrides:
   - seqid-streams ==0.7.2
   - sequence-formats ==1.7.1
   - sequenceTools ==1.5.3.1
-  - serialise ==0.2.6.0
+  - serialise ==0.2.6.1
   - servant ==0.19.1
   - servant-auth ==0.4.1.0
   - servant-auth-client ==0.4.1.1
@@ -2257,7 +2257,7 @@ default-package-overrides:
   - setlocale ==1.0.0.10
   - set-monad ==0.3.0.0
   - sets ==0.0.6.2
-  - sexp-grammar ==2.3.4.1
+  - sexp-grammar ==2.3.4.2
   - SHA ==1.6.4.4
   - shake ==0.19.7
   - shake-plus ==0.3.4.0
@@ -2396,7 +2396,7 @@ default-package-overrides:
   - Stream ==0.4.7.2
   - streaming ==0.2.4.0
   - streaming-attoparsec ==1.0.0.1
-  - streaming-bytestring ==0.3.1
+  - streaming-bytestring ==0.3.2
   - streaming-commons ==0.2.2.6
   - streaming-wai ==0.1.1
   - streamly ==0.9.0
@@ -2409,7 +2409,7 @@ default-package-overrides:
   - strict-base-types ==0.8
   - strict-concurrency ==0.2.4.3
   - strict-lens ==0.4.0.3
-  - strict-list ==0.1.7.2
+  - strict-list ==0.1.7.4
   - strict-tuple ==0.1.5.3
   - strict-wrapper ==0.0.0.0
   - stringable ==0.1.3
@@ -2428,7 +2428,7 @@ default-package-overrides:
   - stripe-scotty ==1.1.0.4
   - stripe-signature ==1.0.0.16
   - stripe-wreq ==1.0.1.16
-  - strive ==6.0.0.9
+  - strive ==6.0.0.10
   - structs ==0.1.9
   - structured ==0.1.1
   - structured-cli ==2.7.0.1
@@ -2531,8 +2531,8 @@ default-package-overrides:
   - tensors ==0.1.5
   - termbox ==1.1.0.2
   - termbox-banana ==1.0.0
-  - termbox-bindings-c ==0.1.0
-  - termbox-bindings-hs ==0.1.0
+  - termbox-bindings-c ==0.1.0.1
+  - termbox-bindings-hs ==0.1.1
   - termbox-tea ==0.1.0.1
   - terminal-progress-bar ==0.4.2
   - terminal-size ==0.3.4
@@ -2550,7 +2550,7 @@ default-package-overrides:
   - text-binary ==0.2.1.1
   - text-builder ==0.6.7
   - text-builder-dev ==0.3.3.2
-  - text-builder-linear ==0.1.1.1
+  - text-builder-linear ==0.1.2
   - text-conversions ==0.3.1.1
   - text-format ==0.3.2.1
   - text-icu ==0.8.0.4
@@ -2778,7 +2778,7 @@ default-package-overrides:
   - vector-buffer ==0.4.1
   - vector-builder ==0.3.8.4
   - vector-bytes-instances ==0.1.1
-  - vector-extras ==0.2.8
+  - vector-extras ==0.2.8.1
   - vector-hashtables ==0.1.1.3
   - vector-instances ==3.4.2
   - vector-mmap ==0.0.3
@@ -2855,7 +2855,7 @@ default-package-overrides:
   - wide-word ==0.1.6.0
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
-  - witch ==1.2.0.2
+  - witch ==1.2.0.3
   - withdependencies ==0.3.0
   - witherable ==0.4.2
   - within ==0.2.0.1
@@ -2925,7 +2925,7 @@ default-package-overrides:
   - yesod-auth ==1.6.11.2
   - yesod-auth-basic ==0.1.0.3
   - yesod-auth-hashdb ==1.7.1.7
-  - yesod-auth-oauth2 ==0.7.1.2
+  - yesod-auth-oauth2 ==0.7.1.3
   - yesod-auth-oidc ==0.1.4
   - yesod-bin ==1.6.2.2
   - yesod-core ==1.6.25.0
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index e3525ba907601..87df614acb81c 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -116,6 +116,7 @@ dont-distribute-packages:
  - FiniteCategoriesGraphViz
  - FiniteMap
  - FirstOrderTheory
+ - Flint2-Examples
  - Flippi
  - ForSyDe
  - Forestry
@@ -1309,6 +1310,7 @@ dont-distribute-packages:
  - fast-bech32
  - fastcdc
  - fastirc
+ - fastparser
  - fault-tree
  - fay-base
  - fay-builder
@@ -3457,6 +3459,7 @@ dont-distribute-packages:
  - samtools-conduit
  - samtools-enumerator
  - samtools-iteratee
+ - sandwich_0_2_0_0
  - sarsi
  - sasha
  - sasl
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index fcd37d55f1cd8..3f7672fb8e180 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -1095,7 +1095,7 @@ self: super: builtins.intersectAttrs super {
     '';
   }) (lib.pipe
         (super.cachix.override {
-          hnix-store-core = self.hnix-store-core_0_6_1_0;
+          hnix-store-core = self.hnix-store-core_0_7_0_0;
           nix = self.hercules-ci-cnix-store.nixPackage;
         })
         [
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index e608ebeec372a..d67256774b407 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -6390,21 +6390,44 @@ self: {
      }) {};
 
   "Flint2" = callPackage
-    ({ mkDerivation, base, flint, gmp, groups, QuickCheck }:
+    ({ mkDerivation, base, containers, flint, gmp, groups, QuickCheck
+     }:
      mkDerivation {
        pname = "Flint2";
-       version = "0.1.0.1";
-       sha256 = "1jw0x82mgqy4pxwxpyv0crz7n72kv255iq4pxr8c5xkvsw6w2w5i";
-       libraryHaskellDepends = [ base groups QuickCheck ];
-       librarySystemDepends = [ flint gmp ];
+       version = "0.1.0.5";
+       sha256 = "0hldi7kknhb4kl228b658skn2irakmshb84dqmdgpy76v5b7klxx";
+       libraryHaskellDepends = [ base containers groups QuickCheck ];
+       librarySystemDepends = [ flint ];
        libraryPkgconfigDepends = [ flint gmp ];
        testHaskellDepends = [ base ];
        description = "Haskell bindings for the flint library for number theory";
-       license = lib.licenses.bsd3;
+       license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {inherit (pkgs) flint; inherit (pkgs) gmp;};
 
+  "Flint2-Examples" = callPackage
+    ({ mkDerivation, base, containers, filepath, Flint2, gloss
+     , gloss-juicy, JuicyPixels, mtl, optparse-applicative, time, timeit
+     }:
+     mkDerivation {
+       pname = "Flint2-Examples";
+       version = "0.1.0.2";
+       sha256 = "1dyy1wfllxrx56aws4s55bpyiw89ad2jm033pa7zhv9628g8ymar";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base containers filepath Flint2 gloss gloss-juicy JuicyPixels mtl
+         optparse-applicative time timeit
+       ];
+       testHaskellDepends = [
+         base containers Flint2 mtl optparse-applicative timeit
+       ];
+       description = "Examples for the Flint2 library";
+       license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "Flippi" = callPackage
     ({ mkDerivation, base, cgi, containers, directory, haskell98
      , old-time, parsec, xhtml
@@ -10446,6 +10469,28 @@ self: {
        broken = true;
      }) {CacBDD = null;};
 
+  "HasChor" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, http-client
+     , random, servant, servant-client, servant-server, split
+     , template-haskell, time, transformers, unordered-containers, warp
+     }:
+     mkDerivation {
+       pname = "HasChor";
+       version = "0.1.0.1";
+       sha256 = "062gn52146vhlfc71zlbx3sbfkid5if22yhba9ngnc0wb0115k81";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring http-client servant servant-client servant-server
+         template-haskell unordered-containers warp
+       ];
+       executableHaskellDepends = [
+         async base containers random split time transformers
+       ];
+       description = "Functional choreographic programming in Haskell";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "HasGP" = callPackage
     ({ mkDerivation, base, haskell98, hmatrix, hmatrix-special, mtl
      , parsec, random
@@ -20081,8 +20126,8 @@ self: {
        pname = "Spock-core";
        version = "0.14.0.1";
        sha256 = "0a93v9pxbvd9qqpx9rnv6gqpc5y8xh5dkfi0lkc566pj9cv8bpad";
-       revision = "1";
-       editedCabalFile = "1kxi4bigll1gn9rcp8x3h4waycihycvh6bhvfjzxdyzhm3ifq48a";
+       revision = "2";
+       editedCabalFile = "09x9xvhdw0k0f9qswbd8g32kjsa34i4rdy117hl7zk0s5scin02a";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          cookie hashable http-api-data http-types hvect mmorph monad-control
@@ -35880,35 +35925,6 @@ self: {
 
   "ansi-terminal-game" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
-     , clock, colour, containers, exceptions, hspec, hspec-discover
-     , linebreak, mintty, mtl, QuickCheck, random, split, terminal-size
-     , timers-tick, unidecode
-     }:
-     mkDerivation {
-       pname = "ansi-terminal-game";
-       version = "1.9.1.3";
-       sha256 = "0ln6cx98g7nv6yv600m7p721pscln1c10wkmmykwlfvsrrvnvk7w";
-       revision = "2";
-       editedCabalFile = "01kfj2qz0s5jygd49ixj2cgzcmikbqb3rhwxs4n8cx3acqzx6cpx";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal array base bytestring cereal clock colour containers
-         exceptions linebreak mintty mtl QuickCheck random split
-         terminal-size timers-tick unidecode
-       ];
-       testHaskellDepends = [
-         ansi-terminal array base bytestring cereal clock colour containers
-         exceptions hspec linebreak mintty mtl QuickCheck random split
-         terminal-size timers-tick unidecode
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "cross-platform library for terminal games";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "ansi-terminal-game_1_9_2_0" = callPackage
-    ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
      , clock, colour, containers, exceptions, file-embed, hspec
      , hspec-discover, linebreak, mintty, mtl, QuickCheck, random, split
      , terminal-size, timers-tick, unidecode
@@ -35932,7 +35948,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "cross-platform library for terminal games";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ansi-terminal-types" = callPackage
@@ -38158,8 +38173,8 @@ self: {
        pname = "arch-hs";
        version = "0.11.1.0";
        sha256 = "1f50id3xplp8zwi379n6xi4in01gms97qbqnfxnsqzrv47xszwj4";
-       revision = "3";
-       editedCabalFile = "1924crg373xid7pxcpi178njmiiaq1m8cf59y96zjhaw4z07054q";
+       revision = "4";
+       editedCabalFile = "1qizarnjfzlml2v0bpdswhxdapakyhqil4avvmflzg4s3fm31m7l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42067,21 +42082,6 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "autoexporter";
-       version = "2.0.0.8";
-       sha256 = "1a4647kh0jzpl8lkm5vl4yg9307dnfxlvlk2pppnahxdy47r6vnk";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base Cabal directory filepath ];
-       executableHaskellDepends = [ base Cabal directory filepath ];
-       description = "Automatically re-export modules";
-       license = lib.licenses.mit;
-       mainProgram = "autoexporter";
-     }) {};
-
-  "autoexporter_2_0_0_9" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath }:
-     mkDerivation {
-       pname = "autoexporter";
        version = "2.0.0.9";
        sha256 = "1rkql1v29gsgq3y9gmsrfxgm43rgwhk32g32gjxbfgr4ky79696g";
        isLibrary = true;
@@ -42090,7 +42090,6 @@ self: {
        executableHaskellDepends = [ base Cabal directory filepath ];
        description = "Automatically re-export modules";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "autoexporter";
      }) {};
 
@@ -47849,6 +47848,8 @@ self: {
        pname = "binary-serialise-cbor";
        version = "0.2.2.0";
        sha256 = "16yhimka17dza5nda62927k5x66c0yrsxzz92kya3gicd6vaga2g";
+       revision = "1";
+       editedCabalFile = "1kampfsd9mm2qv726v4dyq0ssx8ismj4hjm61h0jjx9644c8cr18";
        libraryHaskellDepends = [ base bytestring cborg serialise ];
        description = "Yet Another Binary Serialisation Library (compatibility shim)";
        license = lib.licenses.bsd3;
@@ -52108,16 +52109,16 @@ self: {
      }) {};
 
   "bookhound" = callPackage
-    ({ mkDerivation, base, containers, hspec, hspec-discover
+    ({ mkDerivation, base, containers, hspec, hspec-discover, mtl
      , QuickCheck, quickcheck-instances, text, time
      }:
      mkDerivation {
        pname = "bookhound";
-       version = "0.1.25.0";
-       sha256 = "0kdsr01iwnf9jzb4sfh7mcsnffzxmvfiziz5h2214py8ya3rbi5c";
-       libraryHaskellDepends = [ base containers text time ];
+       version = "0.2.0";
+       sha256 = "0gv9n2nfgcfj1sv68c9llkf4f60vcb5qmcyjw4ijg2dd344yl6z1";
+       libraryHaskellDepends = [ base containers mtl text time ];
        testHaskellDepends = [
-         base containers hspec QuickCheck quickcheck-instances text time
+         base containers hspec mtl QuickCheck quickcheck-instances text time
        ];
        testToolDepends = [ hspec-discover ];
        description = "Simple Parser Combinators";
@@ -53073,8 +53074,8 @@ self: {
     ({ mkDerivation, array, base, mtl, unix }:
      mkDerivation {
        pname = "brainfuck";
-       version = "0.1.0.3";
-       sha256 = "1xlbcvcx6dvrj4x5vqjyvyhazq0hzl1fa17xfcb3m2pc241kgd8d";
+       version = "0.1.0.4";
+       sha256 = "01sgz28jbrjb61rx173ar0kwmh00j2zk4lnjgfc8apwrjigsbr6k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ array base mtl ];
@@ -53389,8 +53390,8 @@ self: {
     ({ mkDerivation, base, brick, containers, microlens, vector }:
      mkDerivation {
        pname = "brick-list-skip";
-       version = "0.1.1.8";
-       sha256 = "0zaqyhvzw5mw5xj3n71578nslg5h3i5k354xck3f2si2sp73kzxm";
+       version = "0.1.1.9";
+       sha256 = "1dmvpnv904vqyv0z5lf36kdsxvdb9r2k637lrsbis1jvmg9719cm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base brick containers microlens vector ];
@@ -53462,8 +53463,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick-tabular-list";
-       version = "2.2.0.6";
-       sha256 = "1ba3g0qx0hgybj9yiy7afrxfj6nyfqqhj8pwf7lcb5jpm5sqn91d";
+       version = "2.2.0.7";
+       sha256 = "12qn87lzvic12d7g84a23vddiwsk8qi5r5by9569pra3zi7790kc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -54841,26 +54842,6 @@ self: {
      }:
      mkDerivation {
        pname = "burrito";
-       version = "2.0.1.6";
-       sha256 = "1q8ahf5czy2lc8jvlx648ns6ir7q6wmb3zrgzksvznrrb8r163hv";
-       libraryHaskellDepends = [
-         base bytestring containers parsec template-haskell text
-         transformers
-       ];
-       testHaskellDepends = [
-         base bytestring containers hspec parsec QuickCheck template-haskell
-         text transformers
-       ];
-       description = "Parse and render URI templates";
-       license = lib.licenses.mit;
-     }) {};
-
-  "burrito_2_0_1_7" = callPackage
-    ({ mkDerivation, base, bytestring, containers, hspec, parsec
-     , QuickCheck, template-haskell, text, transformers
-     }:
-     mkDerivation {
-       pname = "burrito";
        version = "2.0.1.7";
        sha256 = "1b7xijr8ry4q1k3ix2nzbrvaiwrk4gdzbl79kxl3d7s2zxgnngww";
        libraryHaskellDepends = [
@@ -54873,7 +54854,6 @@ self: {
        ];
        description = "Parse and render URI templates";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "burst-detection" = callPackage
@@ -55768,8 +55748,8 @@ self: {
      }:
      mkDerivation {
        pname = "bytestring-lexing";
-       version = "0.5.0.10";
-       sha256 = "0mvqiss323vwvgqx2pv8cww1mkx29hpi094ff54hx545mmvhwb16";
+       version = "0.5.0.11";
+       sha256 = "16qvykzai61dyc403cplxar8frd0p4x3681zrl874ck3c19qj0jw";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring tasty tasty-quickcheck tasty-smallcheck
@@ -57501,29 +57481,6 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "2.1.3";
-       sha256 = "0wkb1h08ns93gkwycbsi7ap49px05kaybw5badjg1633n0i2bmww";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson base bytestring Cabal cached-json-file directory extra
-         filepath http-client http-client-tls http-conduit http-query
-         optparse-applicative process simple-cabal simple-cmd
-         simple-cmd-args text time unix
-       ];
-       description = "RPM packaging tool for Haskell Cabal-based packages";
-       license = lib.licenses.gpl3Only;
-       mainProgram = "cabal-rpm";
-     }) {};
-
-  "cabal-rpm_2_1_4" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, Cabal, cached-json-file
-     , directory, extra, filepath, http-client, http-client-tls
-     , http-conduit, http-query, optparse-applicative, process
-     , simple-cabal, simple-cmd, simple-cmd-args, text, time, unix
-     }:
-     mkDerivation {
-       pname = "cabal-rpm";
        version = "2.1.4";
        sha256 = "059vqbh97cydybvbwbn5cgrpw3bx7rkizy8j0nsqfyaxjvvj8lvg";
        isLibrary = false;
@@ -57536,7 +57493,6 @@ self: {
        ];
        description = "RPM packaging tool for Haskell Cabal-based packages";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "cabal-rpm";
      }) {};
 
@@ -59102,6 +59058,8 @@ self: {
        pname = "canonical-json";
        version = "0.6.0.1";
        sha256 = "0znfbazzcx33xi2gi44vqhhdl9ja308zkxydarwkacwd0pckkprk";
+       revision = "1";
+       editedCabalFile = "180c35znblvf3j59si48n4a9qpwwprq8d7xh86fpmjj2sn2g1sj8";
        libraryHaskellDepends = [
          base bytestring containers deepseq parsec pretty
        ];
@@ -60435,6 +60393,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "cassava-megaparsec_2_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, hspec, hspec-megaparsec
+     , megaparsec, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "cassava-megaparsec";
+       version = "2.1.0";
+       sha256 = "02nw6rxb8yvn09qrbl7msdjl7vk759vyzz8dighgi2b94vzwdanv";
+       libraryHaskellDepends = [
+         base bytestring cassava megaparsec unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring cassava hspec hspec-megaparsec vector
+       ];
+       description = "Megaparsec parser of CSV files that plays nicely with Cassava";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "cassava-records" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, cassava, containers
      , foldl, HUnit, QuickCheck, tasty, tasty-hunit, tasty-quickcheck
@@ -60944,8 +60921,8 @@ self: {
        pname = "cbor-tool";
        version = "0.2.2.0";
        sha256 = "0rsnnz1zh9jyjif94lrdppzaa41hypqs1r5dlyzbwlw1m75g286p";
-       revision = "4";
-       editedCabalFile = "1wr6dlijy5j1b88bfmyvzj5pdipw6rcb40gfik678apr2q7gw0i6";
+       revision = "5";
+       editedCabalFile = "0lwxyz8c9mrhq4lqdwwv0y82islakbhwv1jlmjw20ha47g1mg69n";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -60968,8 +60945,8 @@ self: {
      }:
      mkDerivation {
        pname = "cborg";
-       version = "0.2.9.0";
-       sha256 = "1apwdb0y08l3mbxb6pb006355nnn1lag035dvm006v7h4cbqvd6w";
+       version = "0.2.10.0";
+       sha256 = "15y7p5rsv76fpklh4rgrxlxxaivpbchxdfdw96mqqjgw7060gzhp";
        libraryHaskellDepends = [
          array base bytestring containers deepseq ghc-bignum ghc-prim half
          primitive text
@@ -60984,19 +60961,22 @@ self: {
      }) {};
 
   "cborg-json" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cborg
-     , criterion, deepseq, directory, process, scientific, text
-     , unordered-containers, vector, zlib
+    ({ mkDerivation, aeson, aeson-pretty, base, base-orphans
+     , base16-bytestring, base64-bytestring, bytestring, cborg
+     , criterion, deepseq, directory, process, QuickCheck, scientific
+     , tasty, tasty-hunit, text, unordered-containers, vector, zlib
      }:
      mkDerivation {
        pname = "cborg-json";
-       version = "0.2.5.0";
-       sha256 = "1m3w0yyp6xb07fx04g5c52pb0b46vpkgpi32w1c8bz867x2p7hsq";
-       revision = "2";
-       editedCabalFile = "1bd2s7dr9jl88pd2wwllb8badhshafnnkq6lmds93sxavv4i92r8";
+       version = "0.2.6.0";
+       sha256 = "1p6xdimwypmlsc0zdyw1vyyapnhwn2g8b9n0a83ca6h4r90722yv";
        libraryHaskellDepends = [
-         aeson aeson-pretty base cborg scientific text unordered-containers
-         vector
+         aeson aeson-pretty base base64-bytestring cborg scientific text
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base base-orphans base16-bytestring bytestring cborg
+         QuickCheck tasty tasty-hunit text
        ];
        benchmarkHaskellDepends = [
          aeson base bytestring cborg criterion deepseq directory process
@@ -64415,8 +64395,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "1.8.0";
-       sha256 = "1cjqm23d2977aiya81i9q1npyd4zxmbv81k4agqggdkl8h9rcn8w";
+       version = "1.8.1";
+       sha256 = "1xjf3z043sn7r35pkbpyxl4agyl2hz3mj7iikridxsddjqrmr5y4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -64451,8 +64431,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "1.8.0";
-       sha256 = "1f2kmgasgbpnw0gd308mhzc7qb4ng36js7l9gvk0xgm425lxavq0";
+       version = "1.8.1";
+       sha256 = "1s31d0pdzm5zk62gz4g1xp2yalyal2gk3n46y2rwpxl440mchyy5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -64493,8 +64473,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib-hedgehog";
-       version = "1.8.0";
-       sha256 = "0bmlrwwm5hp67fm8a9d089fwmrcnknvd2gijriwzk1kxbvfyhynk";
+       version = "1.8.1";
+       sha256 = "1cnw5i6k376l293f1vlihc22ilapms8brl7726rxr2whrq5sb7r8";
        libraryHaskellDepends = [
          base clash-lib containers data-binary-ieee754 fakedata
          ghc-typelits-knownnat ghc-typelits-natnormalise hedgehog
@@ -64536,8 +64516,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "1.8.0";
-       sha256 = "01psmi229lgpfc10p0p4gvpqfklwfmgvjwvqifnv77d4jbqjimiq";
+       version = "1.8.1";
+       sha256 = "13y43lsw55jpmr04x6yrrppma9qdqzlvrwbs4jkvc3g7jmydnb3y";
        libraryHaskellDepends = [
          array arrows base binary bytestring constraints containers
          data-binary-ieee754 data-default-class deepseq extra ghc-bignum
@@ -64568,8 +64548,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude-hedgehog";
-       version = "1.8.0";
-       sha256 = "0vll5ff7dhjx2q9xpj3q961dmhgi306w577kxfm11sccvjix2pbh";
+       version = "1.8.1";
+       sha256 = "12g2z845j2pqb3jxkyrj038l8pp9a8sw5fjay5l1pwl8kh8winkk";
        libraryHaskellDepends = [
          base clash-prelude ghc-typelits-knownnat ghc-typelits-natnormalise
          hedgehog text
@@ -67640,31 +67620,6 @@ self: {
      }:
      mkDerivation {
        pname = "coinor-clp";
-       version = "0.0";
-       sha256 = "1wfi1f4g3n0prks74iww5092nkiyl0d6hmf2yfqlvj6zwcly3kfn";
-       libraryHaskellDepends = [
-         base comfort-array deepseq linear-programming non-empty QuickCheck
-         transformers utility-ht
-       ];
-       libraryPkgconfigDepends = [ clp ];
-       testHaskellDepends = [
-         base comfort-array doctest-exitcode-stdio doctest-lib
-         linear-programming non-empty QuickCheck random transformers
-         utility-ht
-       ];
-       description = "Linear Programming using COIN-OR/CLP and comfort-array";
-       license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" ];
-       maintainers = [ lib.maintainers.thielema ];
-     }) {inherit (pkgs) clp;};
-
-  "coinor-clp_0_0_0_1" = callPackage
-    ({ mkDerivation, base, clp, comfort-array, deepseq
-     , doctest-exitcode-stdio, doctest-lib, linear-programming
-     , non-empty, QuickCheck, random, transformers, utility-ht
-     }:
-     mkDerivation {
-       pname = "coinor-clp";
        version = "0.0.0.1";
        sha256 = "02jrmb0fbgwzhgcnhv4hh1flz87rvs1xq3sbjrjac7cxxyl3inba";
        libraryHaskellDepends = [
@@ -67680,7 +67635,6 @@ self: {
        description = "Linear Programming using COIN-OR/CLP and comfort-array";
        license = lib.licenses.bsd3;
        badPlatforms = [ "aarch64-linux" ];
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.thielema ];
      }) {inherit (pkgs) clp;};
 
@@ -70799,6 +70753,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "cond_0_5_1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "cond";
+       version = "0.5.1";
+       sha256 = "06pm5y8f9jybw9ns1p4rmf9z3nrwl394814f77lsmsqv4z0kn58q";
+       libraryHaskellDepends = [ base ];
+       description = "Basic conditional and boolean operators with monadic variants";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "conditional-restriction-parser" = callPackage
     ({ mkDerivation, base, cmdargs, hourglass, hspec, QuickCheck }:
      mkDerivation {
@@ -71801,24 +71767,6 @@ self: {
      }:
      mkDerivation {
        pname = "config-ini";
-       version = "0.2.6.0";
-       sha256 = "0pvsvl3svh7y3pi7kw4fsnl6p92sxl4sa0px26c135klvwsq2a1a";
-       libraryHaskellDepends = [
-         base containers megaparsec text transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         base containers directory hedgehog ini text unordered-containers
-       ];
-       description = "A library for simple INI-based configuration files";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "config-ini_0_2_7_0" = callPackage
-    ({ mkDerivation, base, containers, directory, hedgehog, ini
-     , megaparsec, text, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "config-ini";
        version = "0.2.7.0";
        sha256 = "00b9b590566hrxrjn31jkq70768dnrzzsjrasrnhdvd6p92iq5rs";
        libraryHaskellDepends = [
@@ -71829,7 +71777,6 @@ self: {
        ];
        description = "A library for simple INI-based configuration files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "config-manager" = callPackage
@@ -79917,6 +79864,8 @@ self: {
        pname = "data-clist";
        version = "0.2";
        sha256 = "04mj0d1yp0l27v2my51w9q5zpdrdhp29fdyvmwqgxxp8f6yiwfhw";
+       revision = "1";
+       editedCabalFile = "09922p8ydfgqsy29p9qfiss70bks85bzz6g9s3gzrd93lpzhiba7";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Simple functional ring type";
@@ -83779,6 +83728,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "delaunayNd" = callPackage
+    ({ mkDerivation, base, containers, extra, hashable, ilist
+     , insert-ordered-containers, split, Unique
+     }:
+     mkDerivation {
+       pname = "delaunayNd";
+       version = "0.1.0.1";
+       sha256 = "13zqzfbhm5hqij2ispk4b6gy04nm5fnlzmcrp07yn68m5mny3lp1";
+       libraryHaskellDepends = [
+         base containers extra hashable ilist insert-ordered-containers
+         split Unique
+       ];
+       description = "Delaunay tessellation";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "delay" = callPackage
     ({ mkDerivation, async, base, dimensional, exceptions, mtl, time
      , unbounded-delays
@@ -84436,24 +84401,6 @@ self: {
      }) {};
 
   "deque" = callPackage
-    ({ mkDerivation, base, deepseq, hashable, mtl, QuickCheck
-     , quickcheck-instances, rerebase, strict-list, tasty, tasty-hunit
-     , tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "deque";
-       version = "0.4.4";
-       sha256 = "1x0rjdqgf4kwgpyisx618waz6r9gki3ivav9m4biysyc04hdhinn";
-       libraryHaskellDepends = [ base deepseq hashable mtl strict-list ];
-       testHaskellDepends = [
-         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       description = "Double-ended queues";
-       license = lib.licenses.mit;
-     }) {};
-
-  "deque_0_4_4_1" = callPackage
     ({ mkDerivation, base, deepseq, hashable, mtl, rerebase
      , strict-list, tasty, tasty-quickcheck
      }:
@@ -84465,7 +84412,6 @@ self: {
        testHaskellDepends = [ rerebase tasty tasty-quickcheck ];
        description = "Double-ended queues";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dequeue" = callPackage
@@ -86006,8 +85952,8 @@ self: {
        pname = "dhall-recursive-adt";
        version = "0.1.0.1";
        sha256 = "09s3m86vflj5im2walab8d0wpvihsvxc5mzy55m10pfzr3gxsd11";
-       revision = "4";
-       editedCabalFile = "0ym561whhaiszvqpdfbbzng3891n36fkwgaspyfhl5gz7pdqr6v9";
+       revision = "5";
+       editedCabalFile = "1b45x3xwc9qzw37jgf0plpsz9kl29925z3kxa3igmwh4hjfxxrws";
        libraryHaskellDepends = [ base data-fix dhall recursion-schemes ];
        testHaskellDepends = [
          base dhall either hedgehog recursion-schemes tasty tasty-hedgehog
@@ -86544,8 +86490,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-core";
-       version = "1.5.1";
-       sha256 = "08bmb2r4gf7arc0wasxla6w1qpgrgrhcs24bb7sv2qgiyb6c22j6";
+       version = "1.5.1.1";
+       sha256 = "168kjikw3x21pjgfy3lmxmrm89g9zlhbypkmzdg5xz9rl7acn7rc";
        libraryHaskellDepends = [
          adjunctions base containers distributive dual-tree lens linear
          monoid-extras mtl profunctors semigroups unordered-containers
@@ -90585,6 +90531,8 @@ self: {
        pname = "docopt";
        version = "0.7.0.7";
        sha256 = "0q3f9j7yqyb97z08h2k6p6bax87g6ab96ng4cpj1xf5k91726ic1";
+       revision = "1";
+       editedCabalFile = "15lha2pf1yhj6ka57mdg414582cl0h140qc42ddz6cvj9a62bd66";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers parsec template-haskell
@@ -94931,14 +94879,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "effectful-core_2_3_0_0" = callPackage
+  "effectful-core_2_3_0_1" = callPackage
     ({ mkDerivation, base, containers, exceptions, monad-control
      , primitive, transformers-base, unliftio-core
      }:
      mkDerivation {
        pname = "effectful-core";
-       version = "2.3.0.0";
-       sha256 = "1yrywdzys1fsg0403g5slg88a33hnk5cm0cshrb2idhsv77bfhkv";
+       version = "2.3.0.1";
+       sha256 = "16vk5sjyy4knw9yss25iv501zxz2258qds3bhl1mrqa24phy3c9w";
        libraryHaskellDepends = [
          base containers exceptions monad-control primitive
          transformers-base unliftio-core
@@ -97766,8 +97714,8 @@ self: {
      }:
      mkDerivation {
        pname = "enummapset";
-       version = "0.7.1.0";
-       sha256 = "1zhfl1qrm7r124v0xphh50lnll7cgmlacdmxwwlwhmzyrp1bwf69";
+       version = "0.7.2.0";
+       sha256 = "00n6nifk5hlp85mv0g68jpx9w19hx1cxqhbf7pqlm5m5f99y29m2";
        libraryHaskellDepends = [ aeson base containers deepseq ];
        testHaskellDepends = [
          aeson array base containers deepseq ghc-prim HUnit QuickCheck
@@ -100648,6 +100596,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "exception-hierarchy_0_1_0_9" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "exception-hierarchy";
+       version = "0.1.0.9";
+       sha256 = "0xplq1kfmymfnb68hba66qzj2jmhazbhpm154lyjm9ybkn23hl7g";
+       libraryHaskellDepends = [ base template-haskell ];
+       description = "Exception type hierarchy with TemplateHaskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "exception-mailer" = callPackage
     ({ mkDerivation, base, hslogger, mime-mail, text }:
      mkDerivation {
@@ -101322,8 +101282,8 @@ self: {
      }:
      mkDerivation {
        pname = "exon";
-       version = "1.6.0.2";
-       sha256 = "17hq0ywafh72cskqh7mbfbq6lgc4j3szvfnz4sf6m84llzzvbdv9";
+       version = "1.6.1.0";
+       sha256 = "0cdsh3qhbiw4q0nskcwgbbd1zdy0jhy9iblqx5h079drc0faa3zp";
        libraryHaskellDepends = [
          base ghc incipit-base parsec template-haskell
        ];
@@ -103345,6 +103305,7 @@ self: {
        benchmarkHaskellDepends = [ base bytestring ];
        description = "A fast, but bare bones, bytestring parser combinators library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fastpbkdf2" = callPackage
@@ -104132,6 +104093,28 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "fedora-haskell-tools_1_1" = callPackage
+    ({ mkDerivation, base, bytestring, csv, directory, extra
+     , fedora-dists, filepath, http-conduit, http-types
+     , optparse-applicative, process, simple-cmd, simple-cmd-args, split
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "fedora-haskell-tools";
+       version = "1.1";
+       sha256 = "194jkagrvkhzgw224jybxy4gvavs9qm6lp1b26ddbnpddf3v6paf";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring csv directory extra fedora-dists filepath
+         http-conduit http-types optparse-applicative process simple-cmd
+         simple-cmd-args split time unix
+       ];
+       description = "Building and maintenance tools for Fedora Haskell";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "fedora-img-dl" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath
      , http-directory, http-types, optparse-applicative, simple-cmd
@@ -104412,8 +104395,8 @@ self: {
      }:
      mkDerivation {
        pname = "feedback";
-       version = "0.1.0.1";
-       sha256 = "18934n0fwz3q7mgfzc0phwxfng3qakf5hw14iyhal57ks7gm7j2y";
+       version = "0.1.0.3";
+       sha256 = "1an4w44p1abicjkb22whkrkhrl66p3f2vfrr70q8jbkwvws0wx8w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106630,25 +106613,12 @@ self: {
     ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
      mkDerivation {
        pname = "fixed-vector";
-       version = "1.2.2.1";
-       sha256 = "0kp747v67x1ija33nyqmyh6g178pqn2c7glynrpzcv733lalp00z";
-       libraryHaskellDepends = [ base deepseq primitive ];
-       testHaskellDepends = [ base doctest filemanip primitive ];
-       description = "Generic vectors with statically known size";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fixed-vector_1_2_3_0" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
-     mkDerivation {
-       pname = "fixed-vector";
        version = "1.2.3.0";
        sha256 = "0cbz734dccsy3jvhszszyrnls6bbys4gaq326dksaabwv6mn58vc";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [ base doctest filemanip primitive ];
        description = "Generic vectors with statically known size";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fixed-vector-binary" = callPackage
@@ -107600,10 +107570,8 @@ self: {
      }:
      mkDerivation {
        pname = "flock";
-       version = "0.3.2";
-       sha256 = "0zi04gmrjda11zp8y7zx6r9hkz00wplvjj7sn6q7lbm2h5kv20xr";
-       revision = "1";
-       editedCabalFile = "18mhjwcrz2jx0vsdd8cyb84lnabhliwfxaw76k8sifarhk847af8";
+       version = "0.3.2.1";
+       sha256 = "14jpfwgjy6l0m00fs17n32jqk8xdwa3hmhfgs6nl8wd3qnz0rzsz";
        libraryHaskellDepends = [
          base lifted-base monad-control transformers unix
        ];
@@ -107689,25 +107657,12 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "flow";
-       version = "2.0.0.3";
-       sha256 = "0hm1bx63k0cm8jkfb8rqfsrv88gr7jn15agrxxngawr59xbv3r2p";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HUnit ];
-       description = "Write more understandable Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "flow_2_0_0_4" = callPackage
-    ({ mkDerivation, base, HUnit }:
-     mkDerivation {
-       pname = "flow";
        version = "2.0.0.4";
        sha256 = "079r6cjs7wz7kxql1m45pazf0nya8xgiil3sbcqrr2csxmam23cr";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base HUnit ];
        description = "Write more understandable Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "flow-er" = callPackage
@@ -109713,8 +109668,8 @@ self: {
      }:
      mkDerivation {
        pname = "fp-ieee";
-       version = "0.1.0.2";
-       sha256 = "0zfrjqyi3pvfmsidq2vsfwqaah0ag6pkixlxicr43jmfyrhi4snl";
+       version = "0.1.0.3";
+       sha256 = "1g7wmrf5r09ab3n4rjcariljwsq56q10z9yqdlp04lziv054iggg";
        libraryHaskellDepends = [ base ghc-bignum integer-logarithms ];
        testHaskellDepends = [
          base doctest hspec hspec-core integer-logarithms QuickCheck random
@@ -109722,6 +109677,8 @@ self: {
        benchmarkHaskellDepends = [ base tasty-bench ];
        description = "IEEE 754-2019 compliant operations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fpco-api" = callPackage
@@ -112480,22 +112437,6 @@ self: {
      }:
      mkDerivation {
        pname = "fusion-plugin";
-       version = "0.2.6";
-       sha256 = "0dmcnqbxxh8iahimblhwsvyqr80bj9l1gky5xwn2jb120blm7w53";
-       libraryHaskellDepends = [
-         base containers directory filepath fusion-plugin-types ghc syb time
-         transformers
-       ];
-       description = "GHC plugin to make stream fusion more predictable";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "fusion-plugin_0_2_7" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath
-     , fusion-plugin-types, ghc, syb, time, transformers
-     }:
-     mkDerivation {
-       pname = "fusion-plugin";
        version = "0.2.7";
        sha256 = "0ly2pyhh5s1ahmgkbmm1rqnz035dmniv23w6m2d0vbgxy5mkbb0i";
        libraryHaskellDepends = [
@@ -112504,7 +112445,6 @@ self: {
        ];
        description = "GHC plugin to make stream fusion more predictable";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fusion-plugin-types" = callPackage
@@ -112534,8 +112474,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.25.7";
-       sha256 = "1dj0xyk83kkb7zay23rqy92kkmq0rqiyrm3nhw246mhf7swn1rkh";
+       version = "0.25.8";
+       sha256 = "1jqai6y63lvl80ha7rg7wv4qiykb41sah27h87qxjyzp3vkigsf5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -114561,8 +114501,8 @@ self: {
        pname = "generic-lens-lite";
        version = "0.1";
        sha256 = "07z00phy6h50bb4axlr57kin9l5fygi4q4j33rj5180ai2cbcpc6";
-       revision = "5";
-       editedCabalFile = "1mc7fp8z1zm4k7kl7d4abq73zfkzf19hdviq0gqzgcigyskj97zq";
+       revision = "6";
+       editedCabalFile = "0db0lbdq3iqgq42bj6q5qn4az8szwjyhq93f32zmcj1n4mrpxdj9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Monomorphic field lens like with generic-lens";
@@ -114636,8 +114576,8 @@ self: {
        pname = "generic-monoid";
        version = "0.1.0.1";
        sha256 = "1pradfv1i2z73f3vxx78ahmfsdszcgi44kn29aww2hdgf2np5l6g";
-       revision = "2";
-       editedCabalFile = "0p3hk9c6qn5kbgi3a4my3rq5cc43wcl93hx6axgzi5wkvimpv653";
+       revision = "3";
+       editedCabalFile = "0pyf3yr4haja32nkm3vb28dhdh47cf6h5vqkqih2l6zmbdc2f0lq";
        libraryHaskellDepends = [ base ];
        description = "Derive monoid instances for product types";
        license = lib.licenses.bsd3;
@@ -114670,8 +114610,8 @@ self: {
        pname = "generic-optics-lite";
        version = "0.1";
        sha256 = "0vf5sk1narj69pdhjqxjj0w3w3i5lxjxn8p98xp8dj0jws4mx9xi";
-       revision = "5";
-       editedCabalFile = "13ywf3smi7g7yz1pp8afb95dy4x6qq4kvll7chm4bnjl7s3d85kg";
+       revision = "6";
+       editedCabalFile = "17yqzcdlm3g5mc8rjjqp98ykj8rj1c46c0vcqk23pwgffpac5d25";
        libraryHaskellDepends = [ base generic-lens-lite optics-core ];
        testHaskellDepends = [ base optics-core ];
        description = "Monomorphic field opics like with generic-lens";
@@ -114991,8 +114931,8 @@ self: {
        pname = "generics-sop-lens";
        version = "0.2.0.1";
        sha256 = "1yl74pz6r2zf9sspzbqg6xvr6k9b5irq3c3pjrf5ih6hfrz4k1ks";
-       revision = "4";
-       editedCabalFile = "0n3ynw8zaavp5a259slff5b5smah0jfb8lxslkljsmpbndmh5sdv";
+       revision = "5";
+       editedCabalFile = "0qnfrcg847fpjvg6nrlpndabfnjqm711pbkhd80j3xg59hg6qm72";
        libraryHaskellDepends = [ base generics-sop lens ];
        description = "Lenses for types in generics-sop";
        license = lib.licenses.bsd3;
@@ -117295,8 +117235,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.4.7.20230826";
-       sha256 = "161ibbb4fyqahamykbdrfrw6zx9djk57vqj785bhrrqxys4k29d5";
+       version = "9.4.8.20231111";
+       sha256 = "1ccn54srbjnna5abnzkp7fmylwkzv1qsyhgsggrlcfkia10prd9n";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -117402,8 +117342,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "9.4.7.20230826";
-       sha256 = "0hnpalndf087mda3hirws31cxjxvgh0h618fc18y2bhmf5hy10gl";
+       version = "9.4.8.20231111";
+       sha256 = "1zr3fvf5b2wxp6z56bs8gaky62c4m147cx5lwnxmjkl8namwllya";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -118295,8 +118235,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-typelits-knownnat";
-       version = "0.7.9";
-       sha256 = "1h3d0vjz3j9cgng330dj4zlvnvjkwzk2f76w1q6b5vda5pq676cd";
+       version = "0.7.10";
+       sha256 = "03rg0p1grmxxzr9w0bgczavnqhvg2jivq8cafqsvqrsrmiacip8d";
        libraryHaskellDepends = [
          base ghc ghc-prim ghc-tcplugins-extra ghc-typelits-natnormalise
          template-haskell transformers
@@ -119006,27 +118946,29 @@ self: {
      , optics, optparse-applicative, os-release, pretty, pretty-terminal
      , process, QuickCheck, quickcheck-arbitrary-adt, regex-posix
      , resourcet, retry, safe, safe-exceptions, split, streamly
-     , strict-base, tagsoup, template-haskell, temporary, terminal-size
-     , text, time, transformers, unix, unix-bytestring, unliftio-core
-     , unordered-containers, uri-bytestring, utf8-string, vector
-     , versions, word8, yaml-streamly, zlib
+     , strict-base, tagsoup, tasty, tasty-hunit, template-haskell
+     , temporary, terminal-size, text, time, transformers, unix
+     , unix-bytestring, unliftio-core, unordered-containers
+     , uri-bytestring, utf8-string, vector, versions, word8
+     , yaml-streamly, zlib
      }:
      mkDerivation {
        pname = "ghcup";
-       version = "0.1.19.5";
-       sha256 = "1cx93721jz0laakhy8krxbk51l8wxvi3wk0cpdwdcmb4jmzpivxi";
+       version = "0.1.20.0";
+       sha256 = "1xh1wm7ggj7wl3mys2ivqwn39ds6cjgbsdw64ld12jdmkrdr22qs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async base base16-bytestring binary bytestring bz2 Cabal
-         case-insensitive casing containers cryptohash-sha256 deepseq
-         directory disk-free-space exceptions filepath haskus-utils-types
-         haskus-utils-variant libarchive lzma-static megaparsec mtl optics
-         os-release pretty pretty-terminal regex-posix resourcet retry safe
-         safe-exceptions split streamly strict-base template-haskell
-         temporary terminal-size text time transformers unix unix-bytestring
-         unliftio-core unordered-containers uri-bytestring vector versions
-         word8 yaml-streamly zlib
+         aeson aeson-pretty async base base16-bytestring binary bytestring
+         bz2 Cabal cabal-install-parsers cabal-plan case-insensitive casing
+         containers cryptohash-sha256 deepseq directory disk-free-space
+         exceptions filepath haskus-utils-types haskus-utils-variant
+         libarchive lzma-static megaparsec mtl optics optparse-applicative
+         os-release pretty pretty-terminal process regex-posix resourcet
+         retry safe safe-exceptions split streamly strict-base tagsoup
+         template-haskell temporary terminal-size text time transformers
+         unix unix-bytestring unliftio-core unordered-containers
+         uri-bytestring utf8-string vector versions word8 yaml-streamly zlib
        ];
        executableHaskellDepends = [
          aeson aeson-pretty async base bytestring cabal-install-parsers
@@ -119039,10 +118981,12 @@ self: {
        ];
        testHaskellDepends = [
          base bytestring containers directory filepath generic-arbitrary
-         hspec hspec-golden-aeson QuickCheck quickcheck-arbitrary-adt
-         streamly text time unix uri-bytestring versions
+         hspec hspec-golden-aeson optparse-applicative QuickCheck
+         quickcheck-arbitrary-adt streamly tasty tasty-hunit
+         template-haskell text time unix uri-bytestring versions
        ];
        testToolDepends = [ hspec-discover ];
+       doHaddock = false;
        description = "ghc toolchain installer";
        license = lib.licenses.lgpl3Only;
        hydraPlatforms = lib.platforms.none;
@@ -120588,16 +120532,20 @@ self: {
      }) {};
 
   "gigaparsec" = callPackage
-    ({ mkDerivation, base, containers, deepseq, gauge, selective, tasty
-     , tasty-expected-failure, tasty-hunit
+    ({ mkDerivation, base, bytestring, containers, deepseq, gauge, knob
+     , pretty-terminal, selective, tasty, tasty-expected-failure
+     , tasty-hunit
      }:
      mkDerivation {
        pname = "gigaparsec";
-       version = "0.2.0.0";
-       sha256 = "0x2chdfcnc914dbjjgyxkjnwanmmdl9p0a6pfsnyncv6j1x6bcsz";
-       libraryHaskellDepends = [ base containers selective ];
+       version = "0.2.1.0";
+       sha256 = "0i38ychjdrmw2rxznq7iw7c84mvhx2iq3bxzixmwa26v5zn9nyf7";
+       libraryHaskellDepends = [
+         base containers pretty-terminal selective
+       ];
        testHaskellDepends = [
-         base containers tasty tasty-expected-failure tasty-hunit
+         base bytestring containers deepseq knob tasty
+         tasty-expected-failure tasty-hunit
        ];
        benchmarkHaskellDepends = [ base deepseq gauge ];
        description = "Refreshed parsec-style library for compatiblity with Scala parsley";
@@ -121538,30 +121486,6 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "2.0.0.8";
-       sha256 = "1ajx225n0shixh0q0zm5qh9rb254yvs1f393mc8x6j0mry7jp9v3";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base burrito bytestring http-client http-client-tls
-         http-types mime-types optparse-generic text unordered-containers
-       ];
-       executableHaskellDepends = [
-         aeson base burrito bytestring http-client http-client-tls
-         http-types mime-types optparse-generic text unordered-containers
-       ];
-       description = "Upload files to GitHub releases";
-       license = lib.licenses.mit;
-       mainProgram = "github-release";
-     }) {};
-
-  "github-release_2_0_0_9" = callPackage
-    ({ mkDerivation, aeson, base, burrito, bytestring, http-client
-     , http-client-tls, http-types, mime-types, optparse-generic, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "github-release";
        version = "2.0.0.9";
        sha256 = "0lhaz92jr6ssl1mq5nmcwv6n43wda6mjv2qdzm8rg5275xqpa7jv";
        isLibrary = true;
@@ -121576,7 +121500,6 @@ self: {
        ];
        description = "Upload files to GitHub releases";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "github-release";
      }) {};
 
@@ -126299,8 +126222,8 @@ self: {
      }:
      mkDerivation {
        pname = "gopro-plus";
-       version = "0.6.6.4";
-       sha256 = "052n39bnz55d8lmi3d79s0zxhzbspz6a5rw965qqbryi82hgrdp4";
+       version = "0.6.6.6";
+       sha256 = "024kldfbkpwnn67y8ckmfzcp0v2sp7qp1mlhwrrgdr0hb6di3852";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions filepath
          generic-deriving generic-random lens lens-aeson monad-logger mtl
@@ -128945,8 +128868,8 @@ self: {
      }:
      mkDerivation {
        pname = "gscholar-rss";
-       version = "0.3.0.3";
-       sha256 = "104c5jvhxzmqnvhc0ww77qy5wmafxmqil4hpcmxvpvx0h0nwdfdl";
+       version = "0.3.0.4";
+       sha256 = "0vgljhvp6jxwqw8l5sbvd2z6yf549j2xy63xrm4p3yh8xp31sda3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -132709,8 +132632,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyllbars";
-       version = "1.0.0.2";
-       sha256 = "0zw1jp64zzflgy9hwdd00zkh3vbi8vbfi0qswmqdgr6dk0c390g0";
+       version = "1.0.1.0";
+       sha256 = "0bd9ss4hp59i5ni5w03zdj2m5phgds36ng3a9nawqic6wyw842g6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132792,6 +132715,8 @@ self: {
        pname = "half";
        version = "0.3.1";
        sha256 = "1l8m2spqg0ac50qys2jk5b32v6wxklbbk5ypjp3ga6z14hkw7bz2";
+       revision = "1";
+       editedCabalFile = "0z0sdic28ji6lq9hz9fh534igy6g3g7b1q799cmwkga23dkicgzl";
        libraryHaskellDepends = [ base binary deepseq template-haskell ];
        testHaskellDepends = [
          base binary bytestring QuickCheck test-framework
@@ -132845,8 +132770,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "halfsplit";
-       version = "0.4.1.0";
-       sha256 = "0mas6a53p44cnfzb26lpsrpgy1zh7vm5i2lxk0invmf35sbaq0w9";
+       version = "0.4.2.0";
+       sha256 = "1fa2bdch3rqprfvjy3rmhb7zkbzfqnyzi193ayh5zlsmshx5w0cl";
        libraryHaskellDepends = [ base ];
        description = "A library to provide special kind of two-column output for Phladiprelio";
        license = lib.licenses.mit;
@@ -137377,8 +137302,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8.12";
-       sha256 = "12dsv49rzhayp8cvkqkilammq4a6d4nrb2bd2w98ivzzrbkijy02";
+       version = "0.8.13";
+       sha256 = "09f0lad023zylkxidsz0nv532h44mh0b1505rvs3ypaq2v4q20pa";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -139969,8 +139894,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.6.3.3";
-       sha256 = "1w4lpiy4jynzdp1b5fn36zv5jyfgnh0fp8rr6dz7247ajzx7lfq4";
+       version = "1.6.3.4";
+       sha256 = "1rpyfvy7fzkvviypwf03cfvxgr52ivwym9vsjr10cbqzgnrqb24l";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring bytestring-strict-builder
          contravariant dlist hashable hashtables mtl network-ip
@@ -146216,24 +146141,6 @@ self: {
      }:
      mkDerivation {
        pname = "hi-file-parser";
-       version = "0.1.5.0";
-       sha256 = "0j6ici0s52fpyf092d3zw4qrvwmz744q538wnxxj48i8fxm7b95m";
-       libraryHaskellDepends = [
-         base binary bytestring mtl rio text vector
-       ];
-       testHaskellDepends = [
-         base binary bytestring hspec mtl rio text vector
-       ];
-       description = "Parser for GHC's hi files";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hi-file-parser_0_1_6_0" = callPackage
-    ({ mkDerivation, base, binary, bytestring, hspec, mtl, rio, text
-     , vector
-     }:
-     mkDerivation {
-       pname = "hi-file-parser";
        version = "0.1.6.0";
        sha256 = "1b13lbgmdb50fw3jkbvj2wq19zmklhxam7rfn7k8bqra2z4kbp2r";
        libraryHaskellDepends = [
@@ -146244,7 +146151,6 @@ self: {
        ];
        description = "Parser for GHC's hi files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hi3status" = callPackage
@@ -146399,10 +146305,8 @@ self: {
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.12.0";
-       sha256 = "1216vfcf6hznhb096il2hcb64wlws85l8qrcp785khny6axh1sv4";
-       revision = "1";
-       editedCabalFile = "18cmkzrq45schidxrn571b0x6x4vlmwkpzq0nwm97p4gsqvvwj48";
+       version = "0.12.1";
+       sha256 = "0iw97mkgg7nwl3dr04r3z3yxynz64agf67xasb1s7kk4gwss1f85";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146425,7 +146329,7 @@ self: {
        mainProgram = "hie-bios";
      }) {};
 
-  "hie-bios_0_13_0" = callPackage
+  "hie-bios_0_13_1" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , co-log-core, conduit, conduit-extra, cryptohash-sha1, deepseq
      , directory, exceptions, extra, file-embed, filepath, ghc
@@ -146435,8 +146339,8 @@ self: {
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.13.0";
-       sha256 = "0gv2ip6zlrfcxngv7kh1a6ah4avj6y2n406h0i66wnc9l11l9mvb";
+       version = "0.13.1";
+       sha256 = "1qzri41yk88x6nnizjanh0w9inbm2sq93g197il95kb74bcslf9l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146466,8 +146370,8 @@ self: {
      }:
      mkDerivation {
        pname = "hie-compat";
-       version = "0.3.1.1";
-       sha256 = "0ds79wsygvv9dz8wbjxvmik58q2q9knrwrk7hy30c6qpp7a1c6jv";
+       version = "0.3.1.2";
+       sha256 = "0m0520z20qd3vxh047izb140jbywnhi20i9av7gf6h8f8486cs0m";
        libraryHaskellDepends = [
          array base bytestring containers directory filepath ghc ghc-boot
          transformers
@@ -146522,10 +146426,8 @@ self: {
      }:
      mkDerivation {
        pname = "hiedb";
-       version = "0.4.3.0";
-       sha256 = "01mypczx494hs79ma67gfvlsbpdhdmpw43bxnzdj14gph83j1730";
-       revision = "1";
-       editedCabalFile = "0yaxg7463625spx0dxg4znzyl8zq93mnb393wp6x11n29jd3l20r";
+       version = "0.4.4.0";
+       sha256 = "0pbcm00zcd33y7w5n7qp8r9r8j8jf2vdhx3l1mll1d4jfimhrsd6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -147101,7 +147003,7 @@ self: {
        mainProgram = "hindent";
      }) {};
 
-  "hindent_6_1_0" = callPackage
+  "hindent_6_1_1" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, criterion
      , deepseq, Diff, directory, exceptions, filepath, ghc-lib-parser
      , ghc-lib-parser-ex, hspec, monad-loops, mtl, optparse-applicative
@@ -147110,8 +147012,8 @@ self: {
      }:
      mkDerivation {
        pname = "hindent";
-       version = "6.1.0";
-       sha256 = "03i1wxcqxllm6h55rxfksyrxvy5v21scjqa731jmchfr7xf09prr";
+       version = "6.1.1";
+       sha256 = "0ir524drzb11l2dqvl78hdgrzimhbnfqkg530mvg9xsyph93af3m";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -150981,25 +150883,26 @@ self: {
        ];
      }) {};
 
-  "hnix-store-core_0_6_1_0" = callPackage
+  "hnix-store-core_0_7_0_0" = callPackage
     ({ mkDerivation, algebraic-graphs, attoparsec, base
-     , base16-bytestring, base64-bytestring, binary, bytestring, cereal
-     , containers, cryptonite, directory, filepath, hashable, hspec
-     , lifted-base, memory, monad-control, mtl, nix-derivation, process
-     , relude, saltine, tasty, tasty-discover, tasty-golden, tasty-hspec
-     , tasty-hunit, tasty-quickcheck, temporary, text, time, unix
+     , base16-bytestring, base64-bytestring, binary, bytestring
+     , case-insensitive, cereal, containers, cryptonite, directory
+     , filepath, hashable, hspec, lifted-base, memory, monad-control
+     , mtl, nix-derivation, process, relude, saltine, tasty
+     , tasty-discover, tasty-golden, tasty-hspec, tasty-hunit
+     , tasty-quickcheck, temporary, text, time, unix
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "hnix-store-core";
-       version = "0.6.1.0";
-       sha256 = "1bziw2avcahqn2fpzw40s74kdw9wjvcplp6r2zrg83rbh2k1x73p";
+       version = "0.7.0.0";
+       sha256 = "0nyzw3ssv832bqhm4ir8r44795lnipzzkjwnryqqarc99sbpj2hh";
        libraryHaskellDepends = [
          algebraic-graphs attoparsec base base16-bytestring
-         base64-bytestring bytestring cereal containers cryptonite directory
-         filepath hashable lifted-base memory monad-control mtl
-         nix-derivation relude saltine text time unix unordered-containers
-         vector
+         base64-bytestring bytestring case-insensitive cereal containers
+         cryptonite directory filepath hashable lifted-base memory
+         monad-control mtl nix-derivation relude saltine text time unix
+         unordered-containers vector
        ];
        testHaskellDepends = [
          attoparsec base base16-bytestring base64-bytestring binary
@@ -151211,7 +151114,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hoauth2_2_9_0" = callPackage
+  "hoauth2_2_10_0" = callPackage
     ({ mkDerivation, aeson, base, base64, binary, bytestring
      , containers, cryptonite, data-default, exceptions, hspec
      , hspec-discover, http-conduit, http-types, memory, microlens, text
@@ -151219,8 +151122,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "2.9.0";
-       sha256 = "1y8nrn4f4029imrxa215hrgv5cysdg7rcg9vwwxanavq1wfvlxfa";
+       version = "2.10.0";
+       sha256 = "13skl9zc3p0jnn2p10xm21kp5adqjl48nfx6v312yfvd9md5h0kq";
        libraryHaskellDepends = [
          aeson base base64 binary bytestring containers cryptonite
          data-default exceptions http-conduit http-types memory microlens
@@ -151241,8 +151144,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2-demo";
-       version = "1.7.0";
-       sha256 = "19dnblzibmjzv01sgzbq35bx20d8yqarqyimjqqz9jmmqg368iv9";
+       version = "1.8.0";
+       sha256 = "12mmbklh8a3wkm7dpmighqibk1ib5z0f444pl3g8i79abaj75k7b";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -151266,8 +151169,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2-providers";
-       version = "0.3.0";
-       sha256 = "0g87adfnr528vb2iy9rpc405h7x7j79fqly55d6x9i7dqhz73g7d";
+       version = "0.4.0";
+       sha256 = "1c29cy0317dbigwhf0rrnnm9hm3w3v10dpsilm03g4xfjmdqvzdv";
        libraryHaskellDepends = [
          aeson base bytestring containers cryptonite hoauth2 HsOpenSSL
          http-conduit http-types jose-jwt mtl text time transformers
@@ -151288,8 +151191,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2-providers-tutorial";
-       version = "0.3.0";
-       sha256 = "125lkxiijc8n480m2rpzgihr4j2cywgnm67zn90l1b8fwfsgm9hv";
+       version = "0.4.0";
+       sha256 = "1pdnsjzx2bni1vw4w7i5d39nih5bkrybgpya568ycw52bpi8jnmn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151310,8 +151213,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2-tutorial";
-       version = "0.3.0";
-       sha256 = "1alnzhmgsijzv466mqbmvcalh100nqbh1pm59774q34kxxnrrjmc";
+       version = "0.4.0";
+       sha256 = "00nr2w8yqhmf9i4i8d7yfzwb0fwdmqcbwc37k0r9js9qxc5b1wqr";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -153848,36 +153751,6 @@ self: {
   "hpqtypes" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , exceptions, HUnit, libpq, lifted-base, monad-control, mtl
-     , QuickCheck, random, resource-pool, scientific, semigroups
-     , test-framework, test-framework-hunit, text, text-show, time
-     , transformers, transformers-base, unordered-containers, uuid-types
-     , vector
-     }:
-     mkDerivation {
-       pname = "hpqtypes";
-       version = "1.11.1.1";
-       sha256 = "171j2vchl4gjfddxgqdrbzk0advk7v2jxp84jfzcrzb2pmp05dm2";
-       libraryHaskellDepends = [
-         aeson async base bytestring containers exceptions lifted-base
-         monad-control mtl resource-pool semigroups text text-show time
-         transformers transformers-base uuid-types vector
-       ];
-       libraryPkgconfigDepends = [ libpq ];
-       testHaskellDepends = [
-         aeson base bytestring exceptions HUnit lifted-base monad-control
-         mtl QuickCheck random scientific test-framework
-         test-framework-hunit text text-show time transformers-base
-         unordered-containers uuid-types vector
-       ];
-       description = "Haskell bindings to libpqtypes";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {libpq = null;};
-
-  "hpqtypes_1_11_1_2" = callPackage
-    ({ mkDerivation, aeson, async, base, bytestring, containers
-     , exceptions, HUnit, libpq, lifted-base, monad-control, mtl
      , QuickCheck, random, resource-pool, scientific, semigroups, stm
      , test-framework, test-framework-hunit, text, text-show, time
      , transformers, transformers-base, unordered-containers, uuid-types
@@ -154018,8 +153891,8 @@ self: {
      }:
      mkDerivation {
        pname = "hprox";
-       version = "0.5.3";
-       sha256 = "05z4zcskagak04mfj3grp89vjiw8vmx0ppszl1j6p201y5zmpx6n";
+       version = "0.5.4";
+       sha256 = "15hlf6mhm2wpgmafnr4jqqxgr83cpfp1dk48a41q3sdf2l8h4pkx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -154447,30 +154320,6 @@ self: {
      }) {};
 
   "hruby" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
-     , process, QuickCheck, ruby, scientific, stm, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hruby";
-       version = "0.5.0.0";
-       sha256 = "10ldq23lgp3jcxpdm9b1dryjf4sprsjlc4qs1lnjb9cmfcafrqj4";
-       setupHaskellDepends = [ base Cabal process ];
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring scientific stm text
-         unordered-containers vector
-       ];
-       libraryPkgconfigDepends = [ ruby ];
-       testHaskellDepends = [
-         aeson attoparsec base QuickCheck text vector
-       ];
-       description = "Embed a Ruby intepreter in your Haskell program !";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {inherit (pkgs) ruby;};
-
-  "hruby_0_5_1_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, QuickCheck
      , ruby, scientific, stm, text, unordered-containers, vector
      }:
@@ -158829,25 +158678,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-expectations-json";
-       version = "1.0.2.0";
-       sha256 = "0vl5brjbvjdbv2i4zq2ww7l0gg11l0ssmr4m7xqdn7as2798q1q1";
-       revision = "2";
-       editedCabalFile = "085mc79w056c7jinmldav7d1916y61x3p2ikb2api8symaa377n3";
-       libraryHaskellDepends = [
-         aeson aeson-pretty base Diff HUnit scientific text
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ aeson aeson-qq base hspec QuickCheck ];
-       description = "Hspec expectations for JSON Values";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-expectations-json_1_0_2_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec
-     , HUnit, QuickCheck, scientific, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hspec-expectations-json";
        version = "1.0.2.1";
        sha256 = "15bxyq5hdnr0pqmsj79n2q284fky9h6r8l26q8l4gjf5b5z99gj1";
        libraryHaskellDepends = [
@@ -158857,7 +158687,6 @@ self: {
        testHaskellDepends = [ aeson aeson-qq base hspec QuickCheck ];
        description = "Hspec expectations for JSON Values";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-expectations-lens" = callPackage
@@ -170075,6 +169904,8 @@ self: {
        pname = "insert-ordered-containers";
        version = "0.2.5.3";
        sha256 = "0v23lawska0240vw8avxv71150y4qzbn4aj22lnkd3jxg5cnwkzh";
+       revision = "1";
+       editedCabalFile = "12fkswr70fw2av11yy45v189r6cb8fcg0l1r7mayvwha3gls0j3n";
        libraryHaskellDepends = [
          aeson base deepseq hashable indexed-traversable lens optics-core
          optics-extra semigroupoids text transformers unordered-containers
@@ -171514,10 +171345,8 @@ self: {
      }:
      mkDerivation {
        pname = "invertible-grammar";
-       version = "0.1.3.4";
-       sha256 = "19x9bzc1cvz5zc03iglf42vyngnjkspzfd2jpl9y6pwp2sf66325";
-       revision = "1";
-       editedCabalFile = "059i4v6kmsrry2lw7m2ricg2ls14v4b2k554l7cmpa46g28yakyn";
+       version = "0.1.3.5";
+       sha256 = "01g4lf31hgv8dqabmabkp6zld6v2l3a2mv9wcgyfxghfrd6dspdw";
        libraryHaskellDepends = [
          base bifunctors containers mtl prettyprinter profunctors semigroups
          tagged template-haskell text transformers
@@ -175930,25 +175759,6 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "2.0.0.9";
-       sha256 = "0nj66jkql0irq5vyxhmdxxjpazr3g86x7j8klqjwxvdj5jmvy53d";
-       libraryHaskellDepends = [
-         aeson base bytestring mime-types network-uri tagsoup text time
-       ];
-       testHaskellDepends = [
-         aeson base bytestring filepath hspec mime-types network-uri tagsoup
-         text time
-       ];
-       description = "JSON Feed";
-       license = lib.licenses.mit;
-     }) {};
-
-  "json-feed_2_0_0_10" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, filepath, hspec
-     , mime-types, network-uri, tagsoup, text, time
-     }:
-     mkDerivation {
-       pname = "json-feed";
        version = "2.0.0.10";
        sha256 = "0s9fq0yp3svi8jcn2isb4kb5l71hhrahrrflciv1jzbn1kwx8lqj";
        libraryHaskellDepends = [
@@ -175960,7 +175770,6 @@ self: {
        ];
        description = "JSON Feed";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "json-fu" = callPackage
@@ -180905,25 +180714,12 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "2.0.0.6";
-       sha256 = "0msm0qrgrnagkia8k0261p7q2ab67ml1q2nn9f951jxnhjm4mglj";
-       libraryHaskellDepends = [ base servant-foreign text ];
-       testHaskellDepends = [ base hspec servant servant-foreign text ];
-       description = "Generate Ruby clients from Servant APIs";
-       license = lib.licenses.mit;
-     }) {};
-
-  "lackey_2_0_0_7" = callPackage
-    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
-     mkDerivation {
-       pname = "lackey";
        version = "2.0.0.7";
        sha256 = "08i4hg2m6d1s6fbgpjnd010ahgfa2d9i5m42pnnd2cr2rkan5f13";
        libraryHaskellDepends = [ base servant-foreign text ];
        testHaskellDepends = [ base hspec servant servant-foreign text ];
        description = "Generate Ruby clients from Servant APIs";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lacroix" = callPackage
@@ -181254,8 +181050,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot";
-       version = "5.3.1.1";
-       sha256 = "0icybndmsivnrw6wibh31g4n8bj1cclbf5cvwf816xblfmgcdhvf";
+       version = "5.3.1.2";
+       sha256 = "1far63mbn6w36bds8s71hxkwr8wb599r8c4w8c0q4wkw29f2dr0p";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -181281,8 +181077,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-core";
-       version = "5.3.1.1";
-       sha256 = "1paya40niapvkyc8qc3k36l7qsskfdxih8d789lhd9s8rr0f9hdi";
+       version = "5.3.1.2";
+       sha256 = "14my72cw39hfc0i7fzhgxv5xjrdfr4pz2ccrixaclngypfd08g28";
        libraryHaskellDepends = [
          base binary bytestring containers dependent-map dependent-sum
          dependent-sum-template directory edit-distance exceptions filepath
@@ -181306,8 +181102,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-haskell-plugins";
-       version = "5.3.1.1";
-       sha256 = "1fivdnj0nb4332j9m5filkpfy9wjkmsjc3kxh2w17c7irhj26f71";
+       version = "5.3.1.2";
+       sha256 = "0pbhwhcxn4fqvn7ynhc19285r75fiksfd9yfjz6d8iq7wmp1frp8";
        libraryHaskellDepends = [
          array arrows base bytestring containers data-memocombinators
          directory filepath haskell-src-exts-simple hoogle HTTP IOSpec
@@ -181327,8 +181123,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-irc-plugins";
-       version = "5.3.1.1";
-       sha256 = "1nvkkqv28dyvq7hdwz1p1yjii55vc8m6i7ccjzs9ag720cha2n4m";
+       version = "5.3.1.2";
+       sha256 = "00s27136i4xadm09clncrkm5annvnahrvcy04m5llrxa9ja09ixb";
        libraryHaskellDepends = [
          base bytestring containers directory filepath lambdabot-core
          lifted-base mtl network SafeSemaphore split time
@@ -181346,8 +181142,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-misc-plugins";
-       version = "5.3.1.1";
-       sha256 = "16f9bf5c7al904iffykwp98l00j8m1f2r6qlivj03jwb6s5plm6w";
+       version = "5.3.1.2";
+       sha256 = "0hkia5zziwabm847bl1f2pap47iyrvjwzdsygcvywving467302d";
        libraryHaskellDepends = [
          base bytestring containers filepath lambdabot-core lifted-base mtl
          network network-uri parsec process regex-tdfa SafeSemaphore split
@@ -181365,8 +181161,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-novelty-plugins";
-       version = "5.3.1.1";
-       sha256 = "1x4whzn3d4gni1xjwrjr95jqi50gwgf02x64gg9nwvkc5lh4admx";
+       version = "5.3.1.2";
+       sha256 = "01sas4jg54k1n68sl5v6i1lyai9chw0v0j6dl4p5rh8wdp0n5863";
        libraryHaskellDepends = [
          base binary brainfuck bytestring containers dice directory
          lambdabot-core misfortune process random random-fu regex-tdfa
@@ -181383,8 +181179,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-reference-plugins";
-       version = "5.3.1.1";
-       sha256 = "1s8s4k394p59lg3xrcn0bwq9wcqzdvzx6qanmsrch0nzwg6l4g7h";
+       version = "5.3.1.2";
+       sha256 = "086ac4j85x2s156xzwmlldk7sll6jq3gq4mp2vjsa8w9q0p6yw0y";
        libraryHaskellDepends = [
          base bytestring containers HTTP lambdabot-core mtl network
          network-uri oeis process regex-tdfa split tagsoup utf8-string
@@ -181399,8 +181195,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-social-plugins";
-       version = "5.3.1.1";
-       sha256 = "04gls4klsa7kz22k6aar636hci3iafxa5mwx8kxvgawahvlcy0p2";
+       version = "5.3.1.2";
+       sha256 = "137vgsr3alsmaa0dz7z55ijy2zvgy5al3wsdgmwhgkim9ahs4d2k";
        libraryHaskellDepends = [
          base binary bytestring containers lambdabot-core mtl split time
        ];
@@ -181441,8 +181237,8 @@ self: {
     ({ mkDerivation, base, oeis, QuickCheck, QuickCheck-safe }:
      mkDerivation {
        pname = "lambdabot-trusted";
-       version = "5.3.1.1";
-       sha256 = "0kzkp7cy7wcig2wi2l12j8pflapsmdj45y8qq1l5j86gcvsk7xf3";
+       version = "5.3.1.2";
+       sha256 = "0y3c7jhihhb925x04b3ja8akgsfj2a1hyx1p8i08kaarrfmk796l";
        libraryHaskellDepends = [ base oeis QuickCheck QuickCheck-safe ];
        description = "Lambdabot trusted code";
        license = "GPL";
@@ -182193,6 +181989,8 @@ self: {
        pname = "language-c-quote";
        version = "0.13.0.1";
        sha256 = "0ik16ng210fa0l93bgiwpw9m1krcw23530fvv5agl9j1b71qaxm0";
+       revision = "1";
+       editedCabalFile = "0skpnzjdrfadd1b835q5ic7pvl0znx1mkyxkimy99zm474rn3dzj";
        libraryHaskellDepends = [
          array base bytestring containers exception-mtl
          exception-transformers filepath haskell-src-meta mainland-pretty
@@ -185050,19 +184848,25 @@ self: {
      }) {};
 
   "leb128-binary" = callPackage
-    ({ mkDerivation, base, binary, bytestring, deepseq, hedgehog, tasty
-     , tasty-bench, tasty-hedgehog, tasty-hunit
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , hedgehog, integer-logarithms, scientific, tasty, tasty-bench
+     , tasty-hedgehog, tasty-hunit, text
      }:
      mkDerivation {
        pname = "leb128-binary";
-       version = "0.1.2";
-       sha256 = "1bw7xk269kxd9y5983dr57nxdg8a28hbwdnzgkxn7p6z461rgpqh";
-       libraryHaskellDepends = [ base binary bytestring ];
+       version = "0.1.3";
+       sha256 = "1rq025if04na8knv50krs4hli9ki9y26x5hg8sskikad8sffsv5j";
+       libraryHaskellDepends = [
+         base binary bytestring containers integer-logarithms scientific
+         text
+       ];
        testHaskellDepends = [
-         base binary bytestring hedgehog tasty tasty-hedgehog tasty-hunit
+         base binary bytestring containers hedgehog integer-logarithms
+         scientific tasty tasty-hedgehog tasty-hunit text
        ];
        benchmarkHaskellDepends = [
-         base binary bytestring deepseq tasty-bench
+         base binary bytestring containers deepseq integer-logarithms
+         scientific tasty-bench text
        ];
        description = "Signed and unsigned LEB128 codec for binary library";
        license = lib.licenses.asl20;
@@ -186263,10 +186067,8 @@ self: {
      }:
      mkDerivation {
        pname = "lhs2tex";
-       version = "1.24";
-       sha256 = "09mkcklm9aixn4xwdcmy8z4x5myh4f5ky0nnadj1wgfjcychbmzc";
-       revision = "1";
-       editedCabalFile = "06vcx5i474sskqzk99l8qcxadzhz2rbmkjfyxk8aqp62pbxcq9r9";
+       version = "1.25";
+       sha256 = "0cf66z6mgadgqd1xs5b6gw8l9rkwgbfsc5czwdiapn7ichi26qyj";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [
@@ -187182,6 +186984,18 @@ self: {
        license = lib.licenses.isc;
      }) {inherit (pkgs) libsodium;};
 
+  "libsodium-bindings" = callPackage
+    ({ mkDerivation, base, libsodium }:
+     mkDerivation {
+       pname = "libsodium-bindings";
+       version = "0.0.1.0";
+       sha256 = "1asmcmqiahammzxk79r0afaaxn2izvfwr5hn6ddca2qyjch30lci";
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ libsodium ];
+       description = "FFI bindings to libsodium";
+       license = lib.licenses.bsd3;
+     }) {inherit (pkgs) libsodium;};
+
   "libssh2" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, libssh2, network, syb
      , time, unix
@@ -187642,10 +187456,8 @@ self: {
      }:
      mkDerivation {
        pname = "lifted-async";
-       version = "0.10.2.4";
-       sha256 = "0pdy7q508n7gvy338xsv9a8fg7saksi8qb9av6j3a37l2pp4vvcv";
-       revision = "2";
-       editedCabalFile = "0bg2qmg6lav4zizki1cvqpvd3wqjhfjff7zz17wg5hzlm5318gky";
+       version = "0.10.2.5";
+       sha256 = "1lhyjv32plqs0r2gi7ca8b527z5qas7xgjkh680lqwi0l81xd80n";
        libraryHaskellDepends = [
          async base constraints lifted-base monad-control transformers-base
        ];
@@ -189477,8 +189289,8 @@ self: {
      }:
      mkDerivation {
        pname = "liquidhaskell";
-       version = "0.9.2.5.0";
-       sha256 = "1a508khibgy94z9fk91z22wl7qqdw8l4wcfcjxk0z7z7f05llrim";
+       version = "0.9.2.8.0";
+       sha256 = "1n4dkahiaci6j502w5ksqpb1g7v8rwf3hbhqqprjmcc6cl5ppyzn";
        setupHaskellDepends = [ base Cabal liquidhaskell-boot ];
        libraryHaskellDepends = [
          base bytestring containers ghc-prim liquidhaskell-boot
@@ -189501,8 +189313,8 @@ self: {
      }:
      mkDerivation {
        pname = "liquidhaskell-boot";
-       version = "0.9.2.5.0";
-       sha256 = "10k8pisygfdy23i2zb538rl7yf3gac4wxa550dsqnzkmkfcr82yz";
+       version = "0.9.2.8.0";
+       sha256 = "0q1rknlqi4x9gpkl9yvrzxfkbkcs6m883dhpvlymqpvsp2qs22b1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base binary bytestring Cabal cereal cmdargs containers
@@ -192957,21 +192769,20 @@ self: {
      , co-log-core, containers, data-default, directory, exceptions
      , filepath, hashable, hspec, hspec-discover, lens, lens-aeson
      , lsp-types, mtl, prettyprinter, random, row-types, sorted-list
-     , stm, temporary, text, text-rope, transformers, unliftio-core
+     , stm, text, text-rope, transformers, unliftio-core
      , unordered-containers, uuid
      }:
      mkDerivation {
        pname = "lsp";
-       version = "2.2.0.0";
-       sha256 = "0nqxkx7vjzvn5ysalk9nd1aqwzfxjj39g3g91qr01hdzydfjsajr";
+       version = "2.3.0.0";
+       sha256 = "0jxvwhmfvnyp6r1kqfg13qpkd1a6a26r8z1aqhg2lj62lnz6d672";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async attoparsec base bytestring co-log-core containers
          data-default directory exceptions filepath hashable lens lens-aeson
-         lsp-types mtl prettyprinter random row-types sorted-list stm
-         temporary text text-rope transformers unliftio-core
-         unordered-containers uuid
+         lsp-types mtl prettyprinter random row-types sorted-list stm text
+         text-rope transformers unliftio-core unordered-containers uuid
        ];
        testHaskellDepends = [
          base containers hspec row-types sorted-list text text-rope
@@ -193019,8 +192830,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.16.0.0";
-       sha256 = "0a2xv9nqz84ymmbz7yyhxkrxhghafgpmma9iqz32jwr8wqn6g9hf";
+       version = "0.16.0.1";
+       sha256 = "0vh4x6yx7drz78ffl4p80r6ykba7fvs0wfj3dp7lhn0k8yji4zv0";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring co-log-core
          conduit conduit-parse containers data-default Diff directory
@@ -193073,8 +192884,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-types";
-       version = "2.0.2.0";
-       sha256 = "0s895x3b8fpcj2b0ia3d4dmwk4vhg6h2anmzffkpr3drsq5bi1j6";
+       version = "2.1.0.0";
+       sha256 = "0i4ygvf7fc6bh5rmw3fq7ck4vcmbfw92fzvnxpmqr3j1yp3a6fiw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -195027,8 +194838,8 @@ self: {
      }:
      mkDerivation {
        pname = "mailtrap";
-       version = "0.1.1.0";
-       sha256 = "177zfswsgg8r51pzjvyf7k4dnvrfq3zj82b54xh5vdpd74k3x2ng";
+       version = "0.1.2.0";
+       sha256 = "0fglprc6ppq316w870p2gdbnn4kh71a0v2zjhsxrxjcbprwb537h";
        libraryHaskellDepends = [
          aeson base base64 blaze-html bytestring email-validate filepath
          http-conduit mime-types text time unordered-containers uuid-types
@@ -195059,8 +194870,8 @@ self: {
        pname = "mainland-pretty";
        version = "0.7.1";
        sha256 = "19z2769rik6kwvsil2if2bfq2v59jmwv74jy3fy4q3q3zy4239p1";
-       revision = "2";
-       editedCabalFile = "0jinam3djr66lk21p2z7vmldk96qh0pf7rq3d56g77krdd6bd9p1";
+       revision = "3";
+       editedCabalFile = "0wspwmy0wi1fcyw8czgkr03iyq73gg4i0x6ckjbhxq7qb3r62q8v";
        libraryHaskellDepends = [
          base containers srcloc text transformers
        ];
@@ -196273,6 +196084,8 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Computations for Markov chain usage models";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "markov-processes" = callPackage
@@ -197153,17 +196966,15 @@ self: {
      }:
      mkDerivation {
        pname = "matrix";
-       version = "0.3.6.1";
-       sha256 = "0b1v17rc9q7ni44gkzp124kmc5d6xmlpiqvskgjrq54qpjinr5zs";
-       revision = "1";
-       editedCabalFile = "0iy0gdgg68ldhgm4lzvzl5pmzflx0r4brdbdkq75rkarm7cigawn";
+       version = "0.3.6.3";
+       sha256 = "0gzh89nj4cqk772x37byv7z3smjpr76bd9qmqpz9bbnyicwig0qc";
        libraryHaskellDepends = [
          base deepseq loop primitive semigroups vector
        ];
        testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
        benchmarkHaskellDepends = [ base criterion ];
        description = "A native implementation of matrix operations";
-       license = lib.licenses.bsd3;
+       license = lib.licenses.mit;
      }) {};
 
   "matrix-as-xyz" = callPackage
@@ -203691,10 +203502,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-metrics";
-       version = "0.2.2.0";
-       sha256 = "13wsz9c02jsh5sh2kka1v7kna1aij51794n7g52ib27qmxgg9qvq";
-       revision = "1";
-       editedCabalFile = "1y5733zs49jyi2qyx8nk2p2ddzkkih1nw33qjrc9ppk05m3030hi";
+       version = "0.2.2.1";
+       sha256 = "1fknfailm2cwl8r96pxxbid3chvmaq3g98yb6l4pnr8mcqyyz7k6";
        libraryHaskellDepends = [
          base clock ekg-core exceptions hashable microlens mtl text
          transformers unordered-containers
@@ -204065,8 +203874,8 @@ self: {
        pname = "monad-ste";
        version = "0.1.0.0";
        sha256 = "0yqkx7rlrfms7wiymb41y5nxh8fyi4049729iamwablx6hdpsrw6";
-       revision = "2";
-       editedCabalFile = "0dcdf3nifq26v63r6l1bxx4zv3ldgq7dxijf07ba9dliizwj2nr8";
+       revision = "3";
+       editedCabalFile = "0zr8ixjx1rsgfjnil4w74pf0m2m697z50ai7sb14ra9s78yb66b6";
        libraryHaskellDepends = [ base exceptions ghc-prim primitive ];
        testHaskellDepends = [ base hspec HUnit ];
        description = "ST monad with efficient explicit errors";
@@ -205095,8 +204904,8 @@ self: {
        pname = "monoidal-containers";
        version = "0.6.4.0";
        sha256 = "09sg4gsrvgnsy12819sps2l0j97baanbsq2w1pvypnrkanzrw083";
-       revision = "1";
-       editedCabalFile = "0dav6640nvxizgqqkwqmpi9z04n2swhxmyl68xm94c9np356q5iw";
+       revision = "2";
+       editedCabalFile = "0k0pi43km8v25rz61zqfw958djbxrrjb1a2idkpj92klbjsr49dd";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign these
          unordered-containers witherable
@@ -205242,8 +205051,8 @@ self: {
      }:
      mkDerivation {
        pname = "monomer-flatpak-example";
-       version = "0.0.13.2";
-       sha256 = "1lklf9n1ck1yyyc73f36i495rgq2anxm33ghcmlssy8allpv1k8w";
+       version = "0.0.14.0";
+       sha256 = "1cxj7gw732hnm7lmz5d3pwdh03gswdycjsg5c145xsgc7s09vy0c";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -205387,8 +205196,8 @@ self: {
        pname = "months";
        version = "0.2";
        sha256 = "054dag7806850hdii7s5rxg8gx2spdp33pnx4s4ckni9ayvspija";
-       revision = "8";
-       editedCabalFile = "0xpid9mlk56c03axbqam9yws9g47rqbdils3zpqlc6pd4mrwb030";
+       revision = "9";
+       editedCabalFile = "0911yfyf0z7zzpc0my8rsg2p38dz07w7mkhc3b909ydyh04wzxvp";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat deepseq hashable intervals
          QuickCheck text time-compat
@@ -208608,6 +208417,8 @@ self: {
        pname = "multiset";
        version = "0.3.4.3";
        sha256 = "1i0mjjdv8ayfars014nch5p3jlbl1wlr1bbkp7q2iknkllasxz3r";
+       revision = "1";
+       editedCabalFile = "0wkwvavc75q7g7gjxh7jc4cla65ys8136jf14g3ifma5vy3wafs5";
        libraryHaskellDepends = [ base containers deepseq ];
        testHaskellDepends = [
          base checkers doctest QuickCheck tasty tasty-quickcheck
@@ -209770,36 +209581,28 @@ self: {
      }) {};
 
   "myers-diff" = callPackage
-    ({ mkDerivation, array, base, containers, criterion, deepseq
-     , exceptions, primitive, QuickCheck, quickcheck-instances, random
-     , sandwich, sandwich-quickcheck, string-interpolate, text
-     , text-rope, vector, weigh
+    ({ mkDerivation, base, containers, criterion, deepseq, exceptions
+     , primitive, QuickCheck, quickcheck-instances, sandwich
+     , sandwich-quickcheck, string-interpolate, text, text-rope, vector
+     , weigh
      }:
      mkDerivation {
        pname = "myers-diff";
-       version = "0.2.0.0";
-       sha256 = "1k71p2di2vpbfjsbycclj2xhlb1q5j37z4h18yxh2m0jj1r3dw07";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.3.0.0";
+       sha256 = "1zkhax2wha1cv9zzw7hvk4dnnkd8p6iskd7lf8d7kmkjv88bxjsa";
        libraryHaskellDepends = [
          base containers exceptions primitive text vector
        ];
-       executableHaskellDepends = [
-         base containers deepseq exceptions primitive QuickCheck
-         quickcheck-instances string-interpolate text text-rope vector
-       ];
        testHaskellDepends = [
-         base containers deepseq exceptions primitive QuickCheck
+         base containers criterion deepseq exceptions primitive QuickCheck
          quickcheck-instances sandwich sandwich-quickcheck
          string-interpolate text text-rope vector
        ];
        benchmarkHaskellDepends = [
-         array base containers criterion deepseq exceptions primitive
-         QuickCheck quickcheck-instances random string-interpolate text
-         text-rope vector weigh
+         base containers criterion deepseq exceptions primitive QuickCheck
+         quickcheck-instances string-interpolate text text-rope vector weigh
        ];
        license = lib.licenses.bsd3;
-       mainProgram = "myers-diff";
      }) {};
 
   "myo" = callPackage
@@ -212808,6 +212611,17 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "network-control" = callPackage
+    ({ mkDerivation, base, psqueues, unix-time }:
+     mkDerivation {
+       pname = "network-control";
+       version = "0.0.1";
+       sha256 = "1fhxnfc62kqnb24jj3ydl4mf43skgpjyhvirn1pjp30hnki8p8p9";
+       libraryHaskellDepends = [ base psqueues unix-time ];
+       description = "Library to control network protocols";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "network-data" = callPackage
     ({ mkDerivation, base, bytestring, cereal, pretty }:
      mkDerivation {
@@ -214650,6 +214464,33 @@ self: {
        ];
      }) {};
 
+  "nix-derivation_1_1_3" = callPackage
+    ({ mkDerivation, attoparsec, base, containers, criterion, deepseq
+     , filepath, pretty-show, QuickCheck, text, vector
+     }:
+     mkDerivation {
+       pname = "nix-derivation";
+       version = "1.1.3";
+       sha256 = "11drhg3zjhwbvdw25k0icvbkcpqilx0m9qw60k7snfaz1iadfkdb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base containers deepseq filepath text vector
+       ];
+       executableHaskellDepends = [ attoparsec base pretty-show text ];
+       testHaskellDepends = [
+         attoparsec base filepath QuickCheck text vector
+       ];
+       benchmarkHaskellDepends = [ attoparsec base criterion text ];
+       description = "Parse and render *.drv files";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "pretty-derivation";
+       maintainers = [
+         lib.maintainers.Gabriella439 lib.maintainers.sorki
+       ];
+     }) {};
+
   "nix-diff" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , directory, filepath, generic-arbitrary, mtl, nix-derivation
@@ -216012,26 +215853,6 @@ self: {
      }:
      mkDerivation {
        pname = "nothunks";
-       version = "0.1.4";
-       sha256 = "0x8km8pmdnjsafchndzxrypldxscj8h080i14hvkj2ypfkmh52l8";
-       revision = "1";
-       editedCabalFile = "0xv39s948j50ym1fn5h7xfxr6zl4v7h2mc68qrp4zz2mahx9mk7d";
-       libraryHaskellDepends = [
-         base bytestring containers ghc-heap stm text time vector
-       ];
-       testHaskellDepends = [
-         base containers ghc-prim hedgehog random stm tasty tasty-hedgehog
-       ];
-       description = "Examine values for unexpected thunks";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "nothunks_0_1_5" = callPackage
-    ({ mkDerivation, base, bytestring, containers, ghc-heap, ghc-prim
-     , hedgehog, random, stm, tasty, tasty-hedgehog, text, time, vector
-     }:
-     mkDerivation {
-       pname = "nothunks";
        version = "0.1.5";
        sha256 = "1s5x4g5g62bs3jd44p2p9lvv01gwarm8jmmigm1d3i8ia8w0lz4w";
        libraryHaskellDepends = [
@@ -216042,7 +215863,6 @@ self: {
        ];
        description = "Examine values for unexpected thunks";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "notifications-tray-icon" = callPackage
@@ -221172,8 +220992,8 @@ self: {
        pname = "optics-extra";
        version = "0.4.2.1";
        sha256 = "0hfa5yb7l3l310lfxkii13fjzb69g619agadc5a86i734nisf8vy";
-       revision = "1";
-       editedCabalFile = "0bpr1bkb7mmww028n8ikwa0qhdl7ybxpb9s887dlp3dvxr5iq8nq";
+       revision = "2";
+       editedCabalFile = "0w7am7pvwg4mx0nrksxgr2rvnk99nhqfpj80ig21m9xbpxsh22x4";
        libraryHaskellDepends = [
          array base bytestring containers hashable indexed-profunctors
          indexed-traversable-instances mtl optics-core text transformers
@@ -221209,8 +221029,8 @@ self: {
        pname = "optics-th";
        version = "0.4.1";
        sha256 = "05zxljfqmhr5if7l8gld5s864nql6kqjfizsf1z7r3ydknvmff6p";
-       revision = "5";
-       editedCabalFile = "0a9h1bll1m9v40cv7ifv2sy3k6sfcq325s7cpk33wh65awf5zpl7";
+       revision = "6";
+       editedCabalFile = "03qm6q7gw97qlcgnqp097dyvqkqpq4ph95y5ra6k6da218rbl1nk";
        libraryHaskellDepends = [
          base containers mtl optics-core template-haskell th-abstraction
          transformers
@@ -221555,19 +221375,20 @@ self: {
        maintainers = [ lib.maintainers.Gabriella439 ];
      }) {};
 
-  "optparse-generic_1_5_1" = callPackage
-    ({ mkDerivation, base, bytestring, Only, optparse-applicative, text
-     , time, transformers, transformers-compat, void
+  "optparse-generic_1_5_2" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, Only
+     , optparse-applicative, text, time, transformers
+     , transformers-compat, void
      }:
      mkDerivation {
        pname = "optparse-generic";
-       version = "1.5.1";
-       sha256 = "01naichbyxwssdf55r5qzd79zfvgd1i239fp3srkz5w45p90znyr";
+       version = "1.5.2";
+       sha256 = "0dca5q57jv4b8l1af4ywimaiw9rfrysambcghfmll4il5prm3d67";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring Only optparse-applicative text time transformers
-         transformers-compat void
+         base bytestring filepath Only optparse-applicative text time
+         transformers transformers-compat void
        ];
        executableHaskellDepends = [ base ];
        description = "Auto-generate a command-line parser for your datatype";
@@ -221862,12 +221683,16 @@ self: {
      }) {};
 
   "ordering-duplicates" = callPackage
-    ({ mkDerivation, base, contravariant, lens, mtl }:
+    ({ mkDerivation, base, contravariant, lens, mtl, profunctors
+     , semigroupoids
+     }:
      mkDerivation {
        pname = "ordering-duplicates";
-       version = "0.0.2";
-       sha256 = "1c2d2np8dqxsbhkdjk3lzh0ninlzcbdczd0bkq1przcraswxsll5";
-       libraryHaskellDepends = [ base contravariant lens mtl ];
+       version = "0.1.0";
+       sha256 = "0c8gxjf2ximg737ndv8jh35r9fcw4zfxb265m2w5wsg64syh9nmw";
+       libraryHaskellDepends = [
+         base contravariant lens mtl profunctors semigroupoids
+       ];
        description = "Functions for detecting duplicates";
        license = lib.licenses.bsd3;
      }) {};
@@ -223778,6 +223603,17 @@ self: {
        ];
      }) {};
 
+  "pandoc-builder-monadic" = callPackage
+    ({ mkDerivation, base, dlist, mtl, pandoc-types, text }:
+     mkDerivation {
+       pname = "pandoc-builder-monadic";
+       version = "1.0.0";
+       sha256 = "1ww1fwnsp4xka50jgwlaxzqzzpshglih6n0zi0cmd0bj7jn47jrf";
+       libraryHaskellDepends = [ base dlist mtl pandoc-types text ];
+       description = "A monadic DSL for building pandoc documents";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "pandoc-citeproc" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
@@ -224455,6 +224291,17 @@ self: {
        broken = true;
      }) {};
 
+  "pandoc-query" = callPackage
+    ({ mkDerivation, base, pandoc, pandoc-types, text }:
+     mkDerivation {
+       pname = "pandoc-query";
+       version = "1.0.0";
+       sha256 = "071f93skzn188qb5nl010jhhh8wgaji9m54frw1ig54f7xhvmnw0";
+       libraryHaskellDepends = [ base pandoc pandoc-types text ];
+       description = "Pandoc filter to extract only the links";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "pandoc-select-code" = callPackage
     ({ mkDerivation, base, pandoc, pandoc-types }:
      mkDerivation {
@@ -224599,6 +224446,8 @@ self: {
        pname = "pandoc-types";
        version = "1.23.1";
        sha256 = "1hd18l1c5yh7x24gsligkbraadq12hn7mim16xyjnicdsa1s03xd";
+       revision = "1";
+       editedCabalFile = "02yaziq3xyz9zqr4qrqm4drlqpa3xnxmm5x0ci52c5p5dr3c3b3d";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq ghc-prim QuickCheck syb
          text transformers
@@ -227471,27 +227320,6 @@ self: {
      }:
      mkDerivation {
        pname = "patrol";
-       version = "1.0.0.5";
-       sha256 = "1nkni4zridr6y6q158f332kv93a828pimq6xwa6644hh4r1gxb25";
-       libraryHaskellDepends = [
-         aeson base bytestring case-insensitive containers exceptions
-         http-client http-types network-uri text time uuid
-       ];
-       testHaskellDepends = [
-         aeson base bytestring case-insensitive containers exceptions hspec
-         http-client http-types network-uri text time uuid
-       ];
-       description = "Sentry SDK";
-       license = lib.licenses.mit;
-     }) {};
-
-  "patrol_1_0_0_6" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, exceptions, hspec, http-client, http-types
-     , network-uri, text, time, uuid
-     }:
-     mkDerivation {
-       pname = "patrol";
        version = "1.0.0.6";
        sha256 = "02szpfdzhb7b6gklnly45wibma19h7dbklqcrc435ks0bjncgyi7";
        libraryHaskellDepends = [
@@ -227504,7 +227332,6 @@ self: {
        ];
        description = "Sentry SDK";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "patronscraper" = callPackage
@@ -230735,8 +230562,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "phladiprelio-general-datatype";
-       version = "0.3.1.0";
-       sha256 = "1pbd6hd1pb28shag6xa08caamz6f02dn71v9asyyqznxpljf4771";
+       version = "0.5.1.0";
+       sha256 = "10r5wxdqi6ccym7rabha4f1d4y94b2xjih9ib4w6dilqv9f86bi7";
        libraryHaskellDepends = [ base ];
        description = "Extended functionality of PhLADiPreLiO";
        license = lib.licenses.mit;
@@ -230767,8 +230594,8 @@ self: {
      }:
      mkDerivation {
        pname = "phladiprelio-general-simple";
-       version = "0.11.1.0";
-       sha256 = "1rlnkfiacz1d73bf503wy609gfq2xh7h912rqqm1g364kj473f2c";
+       version = "0.13.0.0";
+       sha256 = "020r916dasx5q0ak9caj85dfzh5f1c4affryb39gm2jsf3m25d2n";
        libraryHaskellDepends = [
          async base cli-arguments directory halfsplit
          phladiprelio-general-datatype phladiprelio-general-shared
@@ -230832,8 +230659,8 @@ self: {
      }:
      mkDerivation {
        pname = "phladiprelio-ukrainian-simple";
-       version = "0.12.1.0";
-       sha256 = "0k29gyjfdjy2l36i857dhd5d0jk4w33acvy7c56j4m0lmsw0azmn";
+       version = "0.14.0.0";
+       sha256 = "0hpn6r8817wrn2ywh2ahi5nf8b7rlczfzfvbw8b9y1b4z3r96nir";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -231514,8 +231341,8 @@ self: {
     ({ mkDerivation, base, mmsyn2-array, mmsyn5 }:
      mkDerivation {
        pname = "phonetic-languages-ukrainian-array";
-       version = "0.11.0.0";
-       sha256 = "0rijqyvavk2i7439n25wzb4dggz9xv2hfxw7557p5jqii15jxvcs";
+       version = "0.12.1.0";
+       sha256 = "0aq3rsrgy8gx01zi016hn0mhszg1166ysmr3iqrq5f4ajg6kc0fm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mmsyn2-array mmsyn5 ];
@@ -232566,8 +232393,8 @@ self: {
        pname = "pipes-bytestring";
        version = "2.1.7";
        sha256 = "0ch7145pv4f56601ysdj5gqqwsh5ag2zh34ydswg62fqi8z8cxvc";
-       revision = "2";
-       editedCabalFile = "0nvb4y5s0jrm4v5a3hvxabjlb16xdlivlh0qrqpl4fi1gih1x4yb";
+       revision = "3";
+       editedCabalFile = "0a5mp98prbpn5pqpab0h3xinhh9vnjqhlss44zq9dbvxw14agxak";
        libraryHaskellDepends = [
          base bytestring pipes pipes-group pipes-parse stringsearch
          transformers
@@ -233363,36 +233190,16 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-safe";
-       version = "2.3.4";
-       sha256 = "1ha0q1dwl52rn59shmk8jhp7grngpiwmp8x4qa9h54flvxkqk12x";
-       revision = "6";
-       editedCabalFile = "00zidlhj81dp9ksnilkazi9rzi8azxxyv7gwjm0nn12jii45q6i4";
-       libraryHaskellDepends = [
-         base containers exceptions monad-control mtl pipes primitive
-         transformers transformers-base
-       ];
-       description = "Safety for the pipes ecosystem";
-       license = lib.licenses.bsd3;
-       maintainers = [ lib.maintainers.Gabriella439 ];
-     }) {};
-
-  "pipes-safe_2_3_5" = callPackage
-    ({ mkDerivation, base, containers, exceptions, monad-control, mtl
-     , pipes, primitive, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "pipes-safe";
        version = "2.3.5";
        sha256 = "13npagy597g6zfr2f3vj4a98h2ssg2ps7lmdzrgdsvm8m28x3cph";
-       revision = "1";
-       editedCabalFile = "0ddvkil91z0j0n5i1jn6xnj423y5qyi1ax3cdwzb71galfjp7adc";
+       revision = "2";
+       editedCabalFile = "04yyjgqr81b10635bw0f2i5kfh0qzp7l3v9k9qbzskvlsl3kdyjy";
        libraryHaskellDepends = [
          base containers exceptions monad-control mtl pipes primitive
          transformers transformers-base
        ];
        description = "Safety for the pipes ecosystem";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.Gabriella439 ];
      }) {};
 
@@ -234504,10 +234311,8 @@ self: {
      }:
      mkDerivation {
        pname = "plots";
-       version = "0.1.1.3";
-       sha256 = "1gkrwigv53vg1q96z56m86xf6z9g9w4jqaapf81rixqsww7hrbng";
-       revision = "1";
-       editedCabalFile = "0khcgsbl837rahz9qkq8fbdz9nrdbppqaxpdimp46aha4jbhkyqd";
+       version = "0.1.1.4";
+       sha256 = "1b68dd1xk6kqfgyypddk4zcllm8lnfxz2a2fhvb4d09ar3ix7s40";
        libraryHaskellDepends = [
          adjunctions base base-orphans colour containers data-default
          diagrams-core diagrams-lib directory distributive filepath
@@ -237648,8 +237453,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgres-websockets";
-       version = "0.11.2.1";
-       sha256 = "0zlm0gk4sxm84kx205n5z0r0nw13kajk7400zbi9v2xslwjpgxnn";
+       version = "0.11.2.2";
+       sha256 = "0sjl0r6mg3b3qh4b3y2p1d4q1i6k456v3dj4vw9fhdi51rmyrhah";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -237826,6 +237631,8 @@ self: {
        pname = "postgresql-libpq";
        version = "0.10.0.0";
        sha256 = "0qnzbc1rws6kgy3g1y9n7c2mh190996jlwrp0j3hbsmgdy9aig2l";
+       revision = "1";
+       editedCabalFile = "1xqf1mqbsq75iay8hv4d8ac5psaay6v106w0nqv00p1y5vfay72w";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring unix ];
        librarySystemDepends = [ postgresql ];
@@ -238161,6 +237968,8 @@ self: {
        pname = "postgresql-simple";
        version = "0.7.0.0";
        sha256 = "0gm1wk2zq35h46v0l1qc0z63jv3gxgqd059j1mcmww80a6sipf4c";
+       revision = "1";
+       editedCabalFile = "0yhggx06wbg57psqa8sswf85qfzy8ndssv13vwmxj0gc1ca1zv4l";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring case-insensitive containers
          hashable Only postgresql-libpq scientific template-haskell text
@@ -240288,25 +240097,6 @@ self: {
      }:
      mkDerivation {
        pname = "prettyprinter-combinators";
-       version = "0.1.1.1";
-       sha256 = "1553qii74af7a5xxj3n6ch9vv84kr5ayd1z69x0d78lqqraibx4y";
-       revision = "1";
-       editedCabalFile = "0dp01v9ywwzpvwbiljnlgrazh7pjz8p94wald2rvxa97xzlcm4z2";
-       libraryHaskellDepends = [
-         base bimap bytestring containers dlist pretty-show prettyprinter
-         syb template-haskell text unordered-containers vector
-       ];
-       description = "Some useful combinators for the prettyprinter package";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "prettyprinter-combinators_0_1_2" = callPackage
-    ({ mkDerivation, base, bimap, bytestring, containers, dlist
-     , pretty-show, prettyprinter, syb, template-haskell, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "prettyprinter-combinators";
        version = "0.1.2";
        sha256 = "1kmvzczb9g3m2q7glrhwwaklbjs225xgq61vcp5qbysnyhdbxydi";
        libraryHaskellDepends = [
@@ -240315,7 +240105,6 @@ self: {
        ];
        description = "Some useful combinators for the prettyprinter package";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "prettyprinter-compat-annotated-wl-pprint" = callPackage
@@ -243888,15 +243677,15 @@ self: {
      }) {};
 
   "ptr" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, contravariant, gauge
+    ({ mkDerivation, base, bytestring, cereal, contravariant, criterion
      , profunctors, QuickCheck, quickcheck-instances, rerebase
      , strict-list, tasty, tasty-hunit, tasty-quickcheck, text, time
-     , tostring, vector
+     , vector
      }:
      mkDerivation {
        pname = "ptr";
-       version = "0.16.8.4";
-       sha256 = "047f4j89mhy18p4ga0322nln61xx5bvlfiqg6aiywrm2k95gsblh";
+       version = "0.16.8.5";
+       sha256 = "1rpbvg74cvqdpbvnwn28jy0sb7l5hzf4bs371zyr0dwh0ls3xrg6";
        libraryHaskellDepends = [
          base bytestring contravariant profunctors strict-list text time
          vector
@@ -243905,7 +243694,7 @@ self: {
          cereal QuickCheck quickcheck-instances rerebase tasty tasty-hunit
          tasty-quickcheck
        ];
-       benchmarkHaskellDepends = [ cereal gauge rerebase tostring ];
+       benchmarkHaskellDepends = [ cereal criterion rerebase ];
        description = "Experimental abstractions for operations on pointers";
        license = lib.licenses.mit;
      }) {};
@@ -245835,8 +245624,8 @@ self: {
        pname = "quaalude";
        version = "0.0.0.1";
        sha256 = "0wwsrpm2s7gs2c4fwh4qvhnjywxfyf94dw715bz34q7bzyyk3lc6";
-       revision = "1";
-       editedCabalFile = "0mqgnxadwgz0ky3nvzqrkdnx5xb2a8qbiwvdwjmy63xhwdymy5ap";
+       revision = "2";
+       editedCabalFile = "1danjjnb38pnz5x4xdqas5fr9xb703i6a4jx49kq5q311v8dccva";
        libraryHaskellDepends = [ base ];
        description = "Extremely minimal prelude";
        license = lib.licenses.asl20;
@@ -246301,20 +246090,20 @@ self: {
      , containers, crypto-token, crypton, crypton-x509
      , crypton-x509-system, data-default-class, fast-logger, filepath
      , hspec, hspec-discover, iproute, memory, network
-     , network-byte-order, network-udp, psqueues, QuickCheck, random
-     , stm, tls, unix-time, unliftio, unliftio-core
+     , network-byte-order, network-control, network-udp, QuickCheck
+     , random, stm, tls, unix-time, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "quic";
-       version = "0.1.7";
-       sha256 = "09pdlp49ix56cnshscq1knmakwcgwjq1p24i2rf4yyfc8hkj3bfc";
+       version = "0.1.9";
+       sha256 = "0xb6ibssn3r45ab48cj74m8c23ic0gszgfrlm5xaj7nmcixna5i2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base base16-bytestring bytestring containers crypto-token
          crypton crypton-x509 crypton-x509-system data-default-class
          fast-logger filepath iproute memory network network-byte-order
-         network-udp psqueues random stm tls unix-time unliftio
+         network-control network-udp random stm tls unix-time unliftio
          unliftio-core
        ];
        testHaskellDepends = [
@@ -246919,6 +246708,44 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "quickcheck-state-machine_0_8_0" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, array, base, base-compat
+     , bifunctors, bytestring, containers, directory, doctest
+     , exceptions, filelock, filepath, generic-data, generics-sop
+     , graphviz, hashable, hashtables, http-client, MemoTrie
+     , monad-logger, mtl, network, persistent, persistent-postgresql
+     , persistent-sqlite, persistent-template, postgresql-simple, pretty
+     , pretty-show, process, QuickCheck, quickcheck-instances, random
+     , resource-pool, resourcet, servant, servant-client, servant-server
+     , sop-core, split, stm, strict, string-conversions, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, unliftio
+     , unliftio-core, vector, wai, warp
+     }:
+     mkDerivation {
+       pname = "quickcheck-state-machine";
+       version = "0.8.0";
+       sha256 = "1fiffmc4bivivdkyb28103rvcnrlc44s28gv63c27r6vkwkwava2";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base base-compat bytestring containers directory
+         exceptions filepath generic-data generics-sop graphviz MemoTrie mtl
+         pretty pretty-show process QuickCheck random sop-core split text
+         time unliftio vector
+       ];
+       testHaskellDepends = [
+         aeson array base bifunctors bytestring containers directory doctest
+         filelock filepath hashable hashtables http-client monad-logger mtl
+         network persistent persistent-postgresql persistent-sqlite
+         persistent-template postgresql-simple pretty-show process
+         QuickCheck quickcheck-instances random resource-pool resourcet
+         servant servant-client servant-server split stm strict
+         string-conversions tasty tasty-hunit tasty-quickcheck text unliftio
+         unliftio-core vector wai warp
+       ];
+       description = "Test monadic programs using state machine based models";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "quickcheck-state-machine-distributed" = callPackage
     ({ mkDerivation, base, binary, containers, directory
      , distributed-process, mtl, network-transport
@@ -248247,25 +248074,12 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "rampart";
-       version = "2.0.0.6";
-       sha256 = "0znh7v4s7mljlkhk4xpgkps8irbnqh8q2hrb1niwjxnl9mvchpjg";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
-       description = "Determine how intervals relate to each other";
-       license = lib.licenses.mit;
-     }) {};
-
-  "rampart_2_0_0_7" = callPackage
-    ({ mkDerivation, base, hspec }:
-     mkDerivation {
-       pname = "rampart";
        version = "2.0.0.7";
        sha256 = "03yvjnyij98c1lmak3511zn1rfczwnjaal0vrqq3lq5j89ysvyrf";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Determine how intervals relate to each other";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ramus" = callPackage
@@ -248429,8 +248243,8 @@ self: {
      }:
      mkDerivation {
        pname = "random-cycle";
-       version = "0.1.1.0";
-       sha256 = "10rpgga4kf7ls5a6yphhcqwdprhzl8im81712p7k9wf9iciw96g7";
+       version = "0.1.2.0";
+       sha256 = "0lq5k43ifhknb1nnq4hhsyjh5qlmgcplvsdsxzsmmrk185pmfc9x";
        libraryHaskellDepends = [
          base mwc-random primitive random vector
        ];
@@ -248739,8 +248553,8 @@ self: {
        pname = "range-set-list";
        version = "0.1.3.1";
        sha256 = "0m8c8qhpk9vaykqfy6gsv1csmvdclm27zv9l56ipv152k75xks0j";
-       revision = "5";
-       editedCabalFile = "17a016lbs5p94bclgzqkyld4vhp4rnv4rg8xk4qhqyagggrvq9k7";
+       revision = "6";
+       editedCabalFile = "0gxcsav13k7cm0h45a5xqwd2jqk307cl4vh0d1bqvwsmn014z5w4";
        libraryHaskellDepends = [ base containers deepseq hashable ];
        testHaskellDepends = [
          base containers deepseq hashable tasty tasty-quickcheck
@@ -249195,27 +249009,6 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "2.0.0.9";
-       sha256 = "06zvz041ylpxmipydq1g3lli1w61dbq8dnmqgy2iga8jhd7dif48";
-       libraryHaskellDepends = [
-         aeson base bytestring case-insensitive containers http-client
-         http-client-tls http-types uuid
-       ];
-       testHaskellDepends = [
-         aeson base bytestring case-insensitive containers filepath hspec
-         http-client http-client-tls http-types uuid
-       ];
-       description = "Notify Honeybadger about exceptions";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ratel_2_0_0_10" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, filepath, hspec, http-client, http-client-tls
-     , http-types, uuid
-     }:
-     mkDerivation {
-       pname = "ratel";
        version = "2.0.0.10";
        sha256 = "1vvz9ia5p7phkwryjfwrzfzvrb94r127vy56qkgikwc9jxxdlxlj";
        libraryHaskellDepends = [
@@ -249228,7 +249021,6 @@ self: {
        ];
        description = "Notify Honeybadger about exceptions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ratel-wai" = callPackage
@@ -249237,21 +249029,6 @@ self: {
      }:
      mkDerivation {
        pname = "ratel-wai";
-       version = "2.0.0.4";
-       sha256 = "1y5dam4vpisi409d5mnzqj8a1x1nv2aaj0ynq6wavzqw306gwbnz";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers http-client ratel wai
-       ];
-       description = "Notify Honeybadger about exceptions via a WAI middleware";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ratel-wai_2_0_0_5" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , http-client, ratel, wai
-     }:
-     mkDerivation {
-       pname = "ratel-wai";
        version = "2.0.0.5";
        sha256 = "1y2rcp1birh1akw98zw10qwjwi5wf7qknk7j5xwwjws7hpmmgy2y";
        libraryHaskellDepends = [
@@ -249259,7 +249036,6 @@ self: {
        ];
        description = "Notify Honeybadger about exceptions via a WAI middleware";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ratelimiter" = callPackage
@@ -257079,8 +256855,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhine";
-       version = "1.0";
-       sha256 = "0xyiiqlx516v78s240r740xdcmj678np8j16a1kg1f3xpxj7m6lp";
+       version = "1.1";
+       sha256 = "09pz2q9bw5c6qlfsy83piryjnzhq3zra1mly3ypqlr9d36zj7bfb";
        libraryHaskellDepends = [
          base containers deepseq dunai free monad-schedule MonadRandom
          random simple-affine-space time time-domain transformers
@@ -257102,15 +256878,15 @@ self: {
      }:
      mkDerivation {
        pname = "rhine-bayes";
-       version = "1.0";
-       sha256 = "0g4y9i15mybi7md221a2mbw1dvilf469a2mcnvy5vd0bsx6xfw1y";
+       version = "1.1";
+       sha256 = "1ybzvbpdz23l3fy1dvv7kn1cpis9c9jy00zxvvwbr47pbvdi9wxc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base dunai log-domain monad-bayes rhine transformers
        ];
        executableHaskellDepends = [
-         base log-domain mmorph monad-bayes rhine rhine-gloss time
+         base dunai log-domain mmorph monad-bayes rhine rhine-gloss time
          transformers
        ];
        description = "monad-bayes backend for Rhine";
@@ -257125,8 +256901,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhine-gloss";
-       version = "1.0";
-       sha256 = "0kx1dqf1rz91im818dn9wvf7nlq8ic0vs5m17xhx349p4yjnk8fi";
+       version = "1.1";
+       sha256 = "12h501lcfskygn1pf407pksh9izcb79g48j4gw63pw4islhcxdbr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -257146,8 +256922,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhine-terminal";
-       version = "1.0";
-       sha256 = "1i00vapdiqgsivwzpnb055iwxxx6626842jyr9w1ccrhib86y00y";
+       version = "1.1";
+       sha256 = "12r7j9mnswbb59mankl8pil7xk9s9ymzxdc73vmi6ads6kf6qvyr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -259152,22 +258928,19 @@ self: {
 
   "rounded-hw" = callPackage
     ({ mkDerivation, array, base, Cabal, deepseq, doctest, fp-ieee
-     , hspec, long-double, primitive, QuickCheck, random, tagged
-     , tasty-bench, vector
+     , hspec, primitive, QuickCheck, random, tagged, tasty-bench, vector
      }:
      mkDerivation {
        pname = "rounded-hw";
-       version = "0.3.0";
-       sha256 = "15y6yz101mnfkc2ff4w6wnqc5r6ykipd7jh0pbg9rjm67jmyr4b5";
-       revision = "1";
-       editedCabalFile = "139hr8a1qyfkdcpxn9pwmi9c7v4q3g86bjrx654nc0q7v87q4afh";
+       version = "0.4.0";
+       sha256 = "1844qb2nsv25ix41jkrcr0n08wa4zsnrn7wpxxavnabi4j7mf8yz";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
-         array base deepseq fp-ieee long-double primitive tagged vector
+         array base deepseq fp-ieee primitive tagged vector
        ];
        testHaskellDepends = [
-         array base deepseq doctest fp-ieee hspec long-double primitive
-         QuickCheck random vector
+         array base deepseq doctest fp-ieee hspec primitive QuickCheck
+         random vector
        ];
        benchmarkHaskellDepends = [
          array base deepseq fp-ieee primitive tasty-bench vector
@@ -261390,25 +261163,12 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "salve";
-       version = "2.0.0.3";
-       sha256 = "027gyrcnyly8wd2znv6gd3ch1r0xq0ycs36lzw1yssiirl4ji5ls";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HUnit ];
-       description = "Semantic version numbers and constraints";
-       license = lib.licenses.mit;
-     }) {};
-
-  "salve_2_0_0_4" = callPackage
-    ({ mkDerivation, base, HUnit }:
-     mkDerivation {
-       pname = "salve";
        version = "2.0.0.4";
        sha256 = "1csk70mgawp7298x787xk4sshh7xm71vrc703vjwy3mv3i0sg94x";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base HUnit ];
        description = "Semantic version numbers and constraints";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "salvia" = callPackage
@@ -261739,6 +261499,51 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "sandwich_0_2_0_0" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, async, base, brick
+     , bytestring, colour, containers, deepseq, directory, exceptions
+     , filepath, free, haskell-src-exts, lifted-async, microlens
+     , microlens-th, monad-control, monad-logger, mtl
+     , optparse-applicative, pretty-show, process, safe, safe-exceptions
+     , stm, string-interpolate, template-haskell, text, time
+     , transformers, transformers-base, unix, unliftio-core, vector, vty
+     , vty-crossplatform
+     }:
+     mkDerivation {
+       pname = "sandwich";
+       version = "0.2.0.0";
+       sha256 = "18hr0xyisf9zlfcji63s086mfxgzmhxmpcfhxz41miwlg0780g6f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty vty-crossplatform
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty vty-crossplatform
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty vty-crossplatform
+       ];
+       description = "Yet another test framework for Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sandwich-hedgehog" = callPackage
     ({ mkDerivation, base, free, hedgehog, monad-control, mtl
      , safe-exceptions, sandwich, string-interpolate, text, time, vty
@@ -262239,8 +262044,8 @@ self: {
      }:
      mkDerivation {
        pname = "sayable";
-       version = "1.2.3.0";
-       sha256 = "0swwjp1lkfwv4g92d0f4mb6iza56fpf35af2a5kwhxvjg6kp6w32";
+       version = "1.2.3.1";
+       sha256 = "0w4skxbvbmvda2jrvbnnaikka529k5g6qixzc2kz3sqvq784qmks";
        libraryHaskellDepends = [
          base bytestring containers exceptions prettyprinter
          template-haskell text th-abstraction
@@ -262340,6 +262145,8 @@ self: {
        pname = "sbv";
        version = "7.13";
        sha256 = "0bk400swnb4s98c5p71ml1px6jndaiqhf5dj7zmnliyplqcgpfik";
+       revision = "1";
+       editedCabalFile = "0gn00bgvy9v4wiica7psrzmxbbp0fiiknrxmdy55z9k2ycpvw7la";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers crackNum deepseq directory filepath
@@ -262369,6 +262176,8 @@ self: {
        pname = "sbv";
        version = "10.2";
        sha256 = "1qairjjffy3di61gdav8p1h3zdz4967g13z64xahhd4f2agmr0kz";
+       revision = "1";
+       editedCabalFile = "0vhjrgp4mggvky170m5y3jxcss3byjdbmk3y08bfivb2id94a724";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers deepseq directory filepath libBF mtl
@@ -265787,6 +265596,8 @@ self: {
        pname = "sensei";
        version = "0.8.0";
        sha256 = "0qmi9qzfbsx9xxkczwjx1pzwmkwpl1dq1c80f4nmjgqh4mm21aw5";
+       revision = "1";
+       editedCabalFile = "1vafgazhxamvwp1ihjhyn2q6v8y57a6hzjvahd10bxdb1ng3mlbx";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -265805,7 +265616,9 @@ self: {
        description = "Automatically run Hspec tests on file modifications";
        license = lib.licenses.mit;
        badPlatforms = lib.platforms.darwin;
+       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.libjared ];
+       broken = true;
      }) {};
 
   "sensenet" = callPackage
@@ -266322,10 +266135,8 @@ self: {
      }:
      mkDerivation {
        pname = "serialise";
-       version = "0.2.6.0";
-       sha256 = "05m5h5vfjp4wvh6y7j2f3d4c3l6gxww2n1v38vqrjacpw641izwk";
-       revision = "3";
-       editedCabalFile = "1j94b6ry6m86qi9fi4mxwf8qbfai8mv8cwgjw725hbjmmvham97b";
+       version = "0.2.6.1";
+       sha256 = "1x3p9vi6daf50xgv5xxjnclqcq9ynqg1qw7af3ppa1nizycrg533";
        libraryHaskellDepends = [
          array base bytestring cborg containers ghc-prim half hashable
          primitive strict text these time unordered-containers vector
@@ -270433,7 +270244,9 @@ self: {
        executableToolDepends = [ alex happy ];
        description = "Treating files as sets to perform rapid set manipulation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "setdown";
+       broken = true;
      }) {};
 
   "setenv" = callPackage
@@ -270630,8 +270443,8 @@ self: {
      }:
      mkDerivation {
        pname = "sexp-grammar";
-       version = "2.3.4.1";
-       sha256 = "17nyfzz4i74bhd11rbwkzk0inlx4kwqjd2h8hlk3kx5lfj20bspl";
+       version = "2.3.4.2";
+       sha256 = "1pbiccdddnniainx48c9s1l9fjsqf4i57iddrww12mnhdpszr3nw";
        libraryHaskellDepends = [
          array base bytestring containers data-fix deepseq
          invertible-grammar prettyprinter recursion-schemes scientific
@@ -284658,8 +284471,8 @@ self: {
        pname = "step-function";
        version = "0.2.0.1";
        sha256 = "0hpzbjgjgsrx6q7sjk2dz40i2lggx8wraqlf58ibbv3y1yvb2q6a";
-       revision = "1";
-       editedCabalFile = "1zyv6hvh510cgvlj22wxdzs11w508gr35409wrls402g0j75c9d4";
+       revision = "2";
+       editedCabalFile = "034mk1k23qs8d9y1iyxnpxn0zcq0yy6z7jy9lp3l4vin6gmpz0vk";
        libraryHaskellDepends = [ base containers deepseq QuickCheck ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Staircase functions or piecewise constant functions";
@@ -284755,12 +284568,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "stm_2_5_2_1" = callPackage
+  "stm_2_5_3_0" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
        pname = "stm";
-       version = "2.5.2.1";
-       sha256 = "16xis3rj5i0qlr1nc8ybmcrjhhqc2mh4l4lblmi04k2x00aycas1";
+       version = "2.5.3.0";
+       sha256 = "1xy3sj69wcb92fg0y5lp0qxcsi3pyvvrrrn4fpi2snji4j3k47hv";
        libraryHaskellDepends = [ array base ];
        description = "Software Transactional Memory";
        license = lib.licenses.bsd3;
@@ -285875,8 +285688,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-bytestring";
-       version = "0.3.1";
-       sha256 = "0ph6s8a1r0k9zhffmj23plzjlpipy4sr662dd0ya5igb9fbp5i32";
+       version = "0.3.2";
+       sha256 = "0rxsxm0an21d2wrngg61vdz7lqcigi7fs96n8003yfcnah63qnw8";
        libraryHaskellDepends = [
          base bytestring deepseq exceptions ghc-prim mmorph mtl resourcet
          streaming transformers transformers-base
@@ -286860,27 +286673,12 @@ self: {
      }:
      mkDerivation {
        pname = "strict-list";
-       version = "0.1.7.2";
-       sha256 = "1zzrhpgwv4cjjp601fklhv9i1hp4rpabjyylnjwbv757bv8dmlvx";
-       libraryHaskellDepends = [ base deepseq hashable semigroupoids ];
-       testHaskellDepends = [ rerebase tasty tasty-quickcheck ];
-       description = "Strict linked list";
-       license = lib.licenses.mit;
-     }) {};
-
-  "strict-list_0_1_7_3" = callPackage
-    ({ mkDerivation, base, deepseq, hashable, rerebase, semigroupoids
-     , tasty, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "strict-list";
-       version = "0.1.7.3";
-       sha256 = "0bpsnhhg69dq2m9zbzchzzvgpnr0f0jgzsakcn3yzwld8dckxq67";
+       version = "0.1.7.4";
+       sha256 = "0jncppjyzg64d5qxban713z9mxzdky9zlldnnw029l7d1y3yv3x1";
        libraryHaskellDepends = [ base deepseq hashable semigroupoids ];
        testHaskellDepends = [ rerebase tasty tasty-quickcheck ];
        description = "Strict linked list";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "strict-mvar" = callPackage
@@ -287735,23 +287533,6 @@ self: {
      }:
      mkDerivation {
        pname = "strive";
-       version = "6.0.0.9";
-       sha256 = "0zd3c303vyl61alw2bl217znm72ajpsy33qjz2pf52azsdk96qfc";
-       libraryHaskellDepends = [
-         aeson base bytestring data-default gpolyline http-client
-         http-client-tls http-types template-haskell text time transformers
-       ];
-       description = "A client for the Strava V3 API";
-       license = lib.licenses.mit;
-     }) {};
-
-  "strive_6_0_0_10" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
-     , http-client, http-client-tls, http-types, template-haskell, text
-     , time, transformers
-     }:
-     mkDerivation {
-       pname = "strive";
        version = "6.0.0.10";
        sha256 = "10028krfmrq8v1k00ihdzp5hl6nrq0vdp3kb9xfgsyqgvv8l2ic2";
        libraryHaskellDepends = [
@@ -287760,7 +287541,6 @@ self: {
        ];
        description = "A client for the Strava V3 API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "strong-path" = callPackage
@@ -288209,6 +287989,8 @@ self: {
        pname = "stylish-haskell";
        version = "0.14.5.0";
        sha256 = "07f0cn7xy8yg1rm0yvkjx27xqv9xc3n1c5s4fqq3yrqyi5szdhbw";
+       revision = "1";
+       editedCabalFile = "0q4k40ys5k2grmbzk14sqnqw9bpq59cq9b7z41cdmbdpdvgbpcsc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -292229,24 +292011,21 @@ self: {
      }) {};
 
   "table-layout" = callPackage
-    ({ mkDerivation, base, data-default-class
-     , data-default-instances-base, hspec, HUnit, QuickCheck
+    ({ mkDerivation, base, data-default-class, doclayout, hspec, HUnit
+     , QuickCheck, text
      }:
      mkDerivation {
        pname = "table-layout";
-       version = "0.9.1.0";
-       sha256 = "0jg6hr835r8m7vn92a01y754ssby3qkkai8sr42bwjvqn7zy7xl8";
+       version = "1.0.0.0";
+       sha256 = "0divq2wf8hpygbrsvp8x4pcbajrbmrr2i4vfjqajwjq914swb2kc";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [
-         base data-default-class data-default-instances-base
-       ];
+       libraryHaskellDepends = [ base data-default-class doclayout text ];
        executableHaskellDepends = [
-         base data-default-class data-default-instances-base
+         base data-default-class doclayout text
        ];
        testHaskellDepends = [
-         base data-default-class data-default-instances-base hspec HUnit
-         QuickCheck
+         base data-default-class doclayout hspec HUnit QuickCheck text
        ];
        description = "Format tabular data as grid or table";
        license = lib.licenses.bsd3;
@@ -292910,8 +292689,8 @@ self: {
      }:
      mkDerivation {
        pname = "tagtree";
-       version = "0.1.0.0";
-       sha256 = "1gmfw1znz4n6a08fpi0g4jkkz1m03yl59v1yj1w6kmlvyzf6dw1z";
+       version = "0.1.0.1";
+       sha256 = "0i9mnlfkxmsvdb33pg8qc3wvlmsdgz4hn9lzwl8ib47qj056fmvd";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default filepattern
          megaparsec parser-combinators relude text
@@ -295737,10 +295516,8 @@ self: {
      }:
      mkDerivation {
        pname = "template-haskell-optics";
-       version = "0.2";
-       sha256 = "13jjycd2yirslab7j6gd1hfl9bn5srid4b2apdz36janxx8np4mm";
-       revision = "1";
-       editedCabalFile = "1asqpnrkwqgvjyc70hicfdjrf90d5h4yh9n2fljsmkjvay3w46r6";
+       version = "0.3";
+       sha256 = "1gz10y1s25fpixcl315q6gqv0687aj1mw4kk8ychsg44nlqm8agz";
        libraryHaskellDepends = [
          base containers optics-core template-haskell th-abstraction
        ];
@@ -296483,14 +296260,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "termbox_2_0_0" = callPackage
+  "termbox_2_0_0_1" = callPackage
     ({ mkDerivation, base, termbox-bindings-hs }:
      mkDerivation {
        pname = "termbox";
-       version = "2.0.0";
-       sha256 = "0al0989wkvkm95m3dz78yrv33zgjb89vskwwq9vgnivvnq8iffhs";
-       revision = "1";
-       editedCabalFile = "0xwap18cxy0w48jhi1mfk15fhihfrjr2wmq1swzqnpmr6b3mpszr";
+       version = "2.0.0.1";
+       sha256 = "0kynby25arx6hcq64cklw9qhw87qxy6vrz9z40d7k7j817gkzccq";
        libraryHaskellDepends = [ base termbox-bindings-hs ];
        description = "termbox";
        license = lib.licenses.bsd3;
@@ -296548,10 +296323,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "termbox-bindings-c";
-       version = "0.1.0";
-       sha256 = "1q7frripz88zgcfmx2lab2vrj19gywnskng07zf7icsj9j6bdwyw";
-       revision = "2";
-       editedCabalFile = "04hnf96p6n9fxczk2hbp53kl3gm06f8zx469nvzl48qjvcxhxc2i";
+       version = "0.1.0.1";
+       sha256 = "1rq695y6491f0nydgm64r6v2l8mkpvzgcrb2gxfdy6g0bwarimxw";
        libraryHaskellDepends = [ base ];
        description = "termbox bindings";
        license = lib.licenses.bsd3;
@@ -296561,21 +296334,19 @@ self: {
     ({ mkDerivation, base, termbox-bindings-c }:
      mkDerivation {
        pname = "termbox-bindings-hs";
-       version = "0.1.0";
-       sha256 = "07m6lp997skqp04a430ynsrzdpwcczblxawvlcbizffsznkmnl64";
-       revision = "2";
-       editedCabalFile = "0bpz5drzp1gfncbpsc9jjz6qyvjjn4c9w16ci79nj60zi7b5q9b5";
+       version = "0.1.1";
+       sha256 = "1f50j6z72g5lsdvakxvlsg77iqspcm2qmwyc1csafgs1zn40ks2i";
        libraryHaskellDepends = [ base termbox-bindings-c ];
        description = "termbox bindings";
        license = lib.licenses.bsd3;
      }) {};
 
-  "termbox-bindings-hs_0_1_1" = callPackage
+  "termbox-bindings-hs_1_0_0" = callPackage
     ({ mkDerivation, base, termbox-bindings-c }:
      mkDerivation {
        pname = "termbox-bindings-hs";
-       version = "0.1.1";
-       sha256 = "1f50j6z72g5lsdvakxvlsg77iqspcm2qmwyc1csafgs1zn40ks2i";
+       version = "1.0.0";
+       sha256 = "1j90pjqrngyygwwwk9zh2ah4sfdz9sv6222k21lmrql60md85g8i";
        libraryHaskellDepends = [ base termbox-bindings-c ];
        description = "termbox bindings";
        license = lib.licenses.bsd3;
@@ -297944,8 +297715,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-builder-linear";
-       version = "0.1.1.1";
-       sha256 = "0yrl0qr8zyfgrn4h618lkk5jv68ij0kzn39bgv3pi05v9dj8rnzm";
+       version = "0.1.2";
+       sha256 = "0ymx978kxqjcgrza82l29g8hp5qwx0miscmkwd04qcvq3iz8ikxa";
        libraryHaskellDepends = [ base bytestring quote-quot text ];
        testHaskellDepends = [ base tasty tasty-quickcheck text ];
        benchmarkHaskellDepends = [
@@ -300355,8 +300126,8 @@ self: {
        pname = "threepenny-gui";
        version = "0.9.4.0";
        sha256 = "08jqa01pp6b300ic0xcn687i0a0kvz76bgym3dchk9n75m6hvc4f";
-       revision = "3";
-       editedCabalFile = "0vciaszq8kmcdxzhjy7l7w4mmhkvq9pnkyrz9i1ixxg4l2riw4f5";
+       revision = "4";
+       editedCabalFile = "11yn9z3n3czfpbhqfjbixcry1zj5p8m3jg2dbx5vcwx5ffklkcav";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -300612,6 +300383,8 @@ self: {
        ];
        description = "A faster time library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tianbar" = callPackage
@@ -307137,8 +306910,8 @@ self: {
        pname = "turtle";
        version = "1.6.2";
        sha256 = "0bav7b2ghbwdhpa4b5a7812psr6hqk7wydvgxjy5dsb62nqnc08s";
-       revision = "1";
-       editedCabalFile = "0bgd9mf1z96iqwv2cdc0pj4dy3dnfxj8qsbvjm26h54cvazc2sbl";
+       revision = "2";
+       editedCabalFile = "14jnb2vyq0nx4cp4c97xflzg7z9xw1avg2d27c1d1cnqg28pd4an";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions filepath foldl hostname managed optional-args
@@ -309318,8 +309091,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.10.1.1";
-       sha256 = "11116iqgdpqpmzj0rjqg7bmfyg3zgvwp2ndh4q8m7cy9gcwab734";
+       version = "0.10.1.2";
+       sha256 = "0gn9i4p8idvl3av06il1j14x8dp9lxmb2cpdzqkwp4gsss9hfl73";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
@@ -309529,6 +309302,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "typst-symbols_0_1_5" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "typst-symbols";
+       version = "0.1.5";
+       sha256 = "1kgw8c0p3qj1an6dhfim310aydgzq05lx086mznbfs5saya1x590";
+       libraryHaskellDepends = [ base text ];
+       description = "Symbol and emoji lookup for typst language";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tyro" = callPackage
     ({ mkDerivation, aeson, base, bytestring, HUnit, protolude
      , reflection, singletons, test-framework, test-framework-hunit
@@ -316087,22 +315872,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector-extras";
-       version = "0.2.8";
-       sha256 = "1xnz733p9p66693hb31fmq2cfsy2rwyw1b0915p7y5my1d8dxyzi";
-       libraryHaskellDepends = [
-         base containers deferred-folds foldl hashable unordered-containers
-         vector
-       ];
-       description = "Utilities for the \"vector\" library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "vector-extras_0_2_8_1" = callPackage
-    ({ mkDerivation, base, containers, deferred-folds, foldl, hashable
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "vector-extras";
        version = "0.2.8.1";
        sha256 = "0bnjh4c001v6ia6ac40i508jdzfdlccp8v0fhy7ayv4scrvpwip2";
        libraryHaskellDepends = [
@@ -316111,7 +315880,6 @@ self: {
        ];
        description = "Utilities for the \"vector\" library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-fft" = callPackage
@@ -316841,6 +316609,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "vertexenum" = callPackage
+    ({ mkDerivation, base, containers, hmatrix-glpk, tasty, tasty-hunit
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "vertexenum";
+       version = "0.1.0.0";
+       sha256 = "0gqc207lns1by4dz57wrdx3r8jnrl1clwpfi65afgi7x09ircxvw";
+       libraryHaskellDepends = [
+         base containers hmatrix-glpk vector-space
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       description = "Vertex enumeration";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "vessel" = callPackage
     ({ mkDerivation, aeson, aeson-gadt-th, base, base-orphans
      , bifunctors, commutative-semigroups, constraints
@@ -317977,17 +317761,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "vty_6_0" = callPackage
+  "vty_6_1" = callPackage
     ({ mkDerivation, base, binary, blaze-builder, bytestring, deepseq
      , directory, filepath, microlens, microlens-mtl, microlens-th, mtl
      , parsec, stm, text, utf8-string, vector
      }:
      mkDerivation {
        pname = "vty";
-       version = "6.0";
-       sha256 = "0gc57ixmkdkbffzlbj1dda183gwwb6nwz65zsl2jplqwa6airb07";
+       version = "6.1";
+       sha256 = "1mkv9ywqgh4z94sh8dhglklnpa53mkk39qjncjfcwszi15ylpiig";
        revision = "1";
-       editedCabalFile = "0r0l1qb97jdd5ygqw5zzvcji2qgzj7mqapn44zi211z3svzy8kiw";
+       editedCabalFile = "1wy4vfyr4nbb8ycfx80yrp59ggigcbfrsh5w1qk768y04d114kaj";
        libraryHaskellDepends = [
          base binary blaze-builder bytestring deepseq directory filepath
          microlens microlens-mtl microlens-th mtl parsec stm text
@@ -318002,8 +317786,8 @@ self: {
     ({ mkDerivation, base, vty, vty-unix }:
      mkDerivation {
        pname = "vty-crossplatform";
-       version = "0.2.0.0";
-       sha256 = "04ri60dp4gx6ycqhbdz5jd8mcwbwivwqh7fgg2m5vws6kycjma1l";
+       version = "0.4.0.0";
+       sha256 = "06iwxgqrqzz05hmic7z5hxd48x0i49sk935vm0xfi0xq28sl7r9m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base vty vty-unix ];
@@ -318094,8 +317878,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty-unix";
-       version = "0.1.0.0";
-       sha256 = "158j7hw0ddbvhxrhn3k2ifc2wsw70dq7pj0qwnmh5bkd1fs0iakz";
+       version = "0.2.0.0";
+       sha256 = "1hfxc7qw884vlq8qshhyndl3zs10jc2xr6i69vhasjywkvh6gay2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -318119,8 +317903,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty-windows";
-       version = "0.1.0.3";
-       sha256 = "01fwq0mpyxk5nlxkv24bzsr4klg2fpfy8rs124pdssh657aqxaf7";
+       version = "0.2.0.0";
+       sha256 = "03dha87c7nrfyfscnz5bjys9v971xiw4xs60d5z218daazd2rhfy";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers deepseq directory filepath
          microlens microlens-mtl microlens-th mtl parsec stm transformers
@@ -321672,28 +321456,30 @@ self: {
   "webauthn" = callPackage
     ({ mkDerivation, aeson, asn1-encoding, asn1-parse, asn1-types, base
      , base16-bytestring, base64-bytestring, binary, bytestring, cborg
-     , containers, cryptonite, directory, file-embed, filepath, hashable
-     , hourglass, hspec, hspec-expectations-json, jose, lens, memory
-     , monad-time, mtl, pem, QuickCheck, quickcheck-instances, serialise
-     , singletons, text, these, time, unordered-containers, uuid
-     , validation, x509, x509-store, x509-validation
+     , containers, crypton, crypton-x509, crypton-x509-store
+     , crypton-x509-validation, directory, file-embed, filepath
+     , hashable, hourglass, hspec, hspec-expectations-json, jose, lens
+     , memory, monad-time, mtl, pem, QuickCheck, quickcheck-instances
+     , serialise, singletons, text, these, time, unordered-containers
+     , uuid, validation
      }:
      mkDerivation {
        pname = "webauthn";
-       version = "0.8.0.0";
-       sha256 = "1qsywsshgj270zpzw5x5ljdmfy7v8vb8fmdqap118g4sci3ir3b8";
+       version = "0.9.0.0";
+       sha256 = "0rjd4hwap4vhbp7isfb2spyp1kc062x7q9vd5jfdfrvcqmgklav5";
        libraryHaskellDepends = [
          aeson asn1-encoding asn1-parse asn1-types base base16-bytestring
-         base64-bytestring binary bytestring cborg containers cryptonite
-         file-embed hashable hourglass jose lens memory monad-time mtl
-         serialise singletons text these time unordered-containers uuid
-         validation x509 x509-store x509-validation
+         base64-bytestring binary bytestring cborg containers crypton
+         crypton-x509 crypton-x509-store crypton-x509-validation file-embed
+         hashable hourglass jose lens memory monad-time mtl serialise
+         singletons text these time unordered-containers uuid validation
        ];
        testHaskellDepends = [
-         aeson asn1-encoding base bytestring containers cryptonite directory
-         filepath hourglass hspec hspec-expectations-json memory mtl pem
-         QuickCheck quickcheck-instances serialise singletons text these
-         unordered-containers uuid validation x509 x509-store
+         aeson asn1-encoding base bytestring containers crypton crypton-x509
+         crypton-x509-store directory filepath hourglass hspec
+         hspec-expectations-json memory mtl pem QuickCheck
+         quickcheck-instances serialise singletons text these
+         unordered-containers uuid validation
        ];
        description = "Relying party (server) implementation of the WebAuthn 2 specification";
        license = lib.licenses.asl20;
@@ -321837,6 +321623,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "webdriver_0_12_0_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, attoparsec-aeson, base
+     , base64-bytestring, bytestring, call-stack, data-default-class
+     , directory, directory-tree, exceptions, filepath, http-client
+     , http-types, lifted-base, monad-control, network, network-uri
+     , scientific, temporary, text, time, transformers
+     , transformers-base, unordered-containers, vector, zip-archive
+     }:
+     mkDerivation {
+       pname = "webdriver";
+       version = "0.12.0.0";
+       sha256 = "1z54i2ddcnrrfwgyy8bb3jqb279ssmwkyx69nc2zml0195ss5254";
+       libraryHaskellDepends = [
+         aeson attoparsec attoparsec-aeson base base64-bytestring bytestring
+         call-stack data-default-class directory directory-tree exceptions
+         filepath http-client http-types lifted-base monad-control network
+         network-uri scientific temporary text time transformers
+         transformers-base unordered-containers vector zip-archive
+       ];
+       description = "a Haskell client for the Selenium WebDriver protocol";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "webdriver-angular" = callPackage
     ({ mkDerivation, aeson, base, hspec, hspec-webdriver
      , language-javascript, template-haskell, text, transformers
@@ -323345,8 +323155,8 @@ self: {
        pname = "windns";
        version = "0.1.0.1";
        sha256 = "016d1cf51jqvhbzlf5kbizv4l4dymradac1420rl47q2k5faczq8";
-       revision = "6";
-       editedCabalFile = "1hhp85x1k2fxya4j3anqpkz4xnxzdi04l5ld2jqyqb9d5abasy7f";
+       revision = "7";
+       editedCabalFile = "0qbgpy1h3gbhlqs0in014xg9h8mrx7rw6jdkfn81ahycy3xf4l7w";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the <windns.h>/dnsapi.dll standard library";
@@ -323562,25 +323372,6 @@ self: {
      }:
      mkDerivation {
        pname = "witch";
-       version = "1.2.0.2";
-       sha256 = "015raibb13dzsjxpf5m6v9mljhcacix4ic2ypjv1cq8zfwf7wks1";
-       libraryHaskellDepends = [
-         base bytestring containers tagged template-haskell text time
-       ];
-       testHaskellDepends = [
-         base bytestring containers HUnit tagged text time transformers
-       ];
-       description = "Convert values from one type into another";
-       license = lib.licenses.mit;
-       maintainers = [ lib.maintainers.maralorn ];
-     }) {};
-
-  "witch_1_2_0_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, HUnit, tagged
-     , template-haskell, text, time, transformers
-     }:
-     mkDerivation {
-       pname = "witch";
        version = "1.2.0.3";
        sha256 = "1c5kmxb9y7i1amjb0qn1w4rx7c80f52z976d7id644v9sxp00kfx";
        libraryHaskellDepends = [
@@ -323591,7 +323382,6 @@ self: {
        ];
        description = "Convert values from one type into another";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
@@ -323918,8 +323708,8 @@ self: {
        pname = "wl-pprint-text";
        version = "1.2.0.2";
        sha256 = "0axivwh7bxmljxpfnccs66knxzrqck07byxmp2j737xbb26pf5cj";
-       revision = "1";
-       editedCabalFile = "030lk3dxn9ry0si5zd7lh1pww1i1nx670i1h3z8y4wwiil97pni1";
+       revision = "2";
+       editedCabalFile = "1zp64js72l8kkqn47hkl6rcangz14njfrhgdhq0w5x4nhvfi77md";
        libraryHaskellDepends = [ base base-compat text ];
        description = "A Wadler/Leijen Pretty Printer for Text values";
        license = lib.licenses.bsd3;
@@ -327448,8 +327238,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.47.1";
-       sha256 = "1l4vpa35nqljsn4kxg5nhwj2d5ns01zj8iikrxr6f8icdirgx4pz";
+       version = "0.47.2";
+       sha256 = "03ln2c59v4aj5936c71zbjn075sia9x5nd7cwy60n92bn3n6wkk9";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -330102,28 +329892,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.7.1.2";
-       sha256 = "1v2rcasjlh4wkqcas652wvs7z8n38cda4yzp18s07f01z0r8ra0r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring cryptonite errors hoauth2 http-client
-         http-conduit http-types memory microlens mtl safe-exceptions text
-         transformers unliftio uri-bytestring yesod-auth yesod-core
-       ];
-       testHaskellDepends = [ base hspec uri-bytestring ];
-       description = "OAuth 2.0 authentication plugins";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-auth-oauth2_0_7_1_3" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
-     , hoauth2, hspec, http-client, http-conduit, http-types, memory
-     , microlens, mtl, safe-exceptions, text, transformers, unliftio
-     , uri-bytestring, yesod-auth, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-auth-oauth2";
        version = "0.7.1.3";
        sha256 = "151is1lvhnl3pvp0q4sn3i26l4n936vlpky3hndsn1f76cjy489b";
        isLibrary = true;
@@ -330136,7 +329904,6 @@ self: {
        testHaskellDepends = [ base hspec uri-bytestring ];
        description = "OAuth 2.0 authentication plugins";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-auth-oidc" = callPackage
diff --git a/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix b/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix
index d359a7ed82aeb..9de0ec4418628 100644
--- a/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix
+++ b/pkgs/development/interpreters/php/install-pear-nozlib-phar.nix
@@ -3,6 +3,6 @@
 }:
 
 fetchurl {
-  url = "https://pear.php.net/install-pear-nozlib.phar";
+  url = "https://github.com/pear/pearweb_phars/raw/v1.10.21/install-pear-nozlib.phar";
   hash = "sha256-UblKVcsm030tNSA6mdeab+h7ZhANNz7MkFf4Z1iigjs=";
 }
diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix
index 3f1a9211bc915..d914b7a1fac22 100644
--- a/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moarvm";
-  version = "2023.09";
+  version = "2023.10";
 
   src = fetchFromGitHub {
     owner = "moarvm";
     repo = "moarvm";
     rev = version;
-    hash = "sha256-/78Qr/Td+dIBlzK0kYa2E4duxEjMj2haefw9Uia+3EA=";
+    hash = "sha256-1w6oMoxDro/AHE+QvjKUx9cxNpYuVSXYrRMh31ksgoQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/accounts-qml-module/default.nix b/pkgs/development/libraries/accounts-qml-module/default.nix
new file mode 100644
index 0000000000000..aa68cb105af37
--- /dev/null
+++ b/pkgs/development/libraries/accounts-qml-module/default.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, accounts-qt
+, dbus-test-runner
+, pkg-config
+, qmake
+, qtbase
+, qtdeclarative
+, signond
+, xvfb-run
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "accounts-qml-module";
+  version = "0.7-unstable-2022-10-28";
+
+  src = fetchFromGitLab {
+    owner = "accounts-sso";
+    repo = "accounts-qml-module";
+    rev = "05e79ebbbf3784a87f72b7be571070125c10dfe3";
+    hash = "sha256-ZpnkZauowLPBnO3DDDtG/x07XoQGVNqEF8AQB5TZK84=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/src.pro \
+      --replace '$$[QT_INSTALL_BINS]/qmlplugindump' 'qmlplugindump' \
+      --replace '$$[QT_INSTALL_QML]' '${placeholder "out"}/${qtbase.qtQmlPrefix}'
+
+    # Don't install test binary
+    sed -i tests/tst_plugin.pro \
+      -e '/TARGET = tst_plugin/a INSTALLS -= target'
+  '' + lib.optionalString (!finalAttrs.doCheck) ''
+    sed -i accounts-qml-module.pro -e '/tests/d'
+  '';
+
+  # QMake can't find Qt modules in buildInputs
+  strictDeps = false;
+
+  nativeBuildInputs = [
+    pkg-config
+    qmake
+    qtdeclarative # qmlplugindump
+  ];
+
+  buildInputs = [
+    accounts-qt
+    qtbase
+    qtdeclarative
+    signond
+  ];
+
+  nativeCheckInputs = [
+    dbus-test-runner
+    xvfb-run
+  ];
+
+  dontWrapQtApps = true;
+
+  qmakeFlags = [
+    # Needs qdoc, https://github.com/NixOS/nixpkgs/pull/245379
+    "CONFIG+=no_docs"
+  ];
+
+  postConfigure = ''
+    make qmake_all
+  '';
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  preCheck = ''
+    # Needs xcb platform plugin
+    export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
+  '';
+
+  preInstall = ''
+    # Same plugin needed here, re-export in case checks are disabled
+    export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
+  '';
+
+  meta = with lib; {
+    description = "QML bindings for libaccounts-qt + libsignon-qt";
+    homepage = "https://gitlab.com/accounts-sso/accounts-qml-module";
+    license = licenses.lgpl21Only;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/development/libraries/bzrtp/default.nix b/pkgs/development/libraries/bzrtp/default.nix
index 10cc9b72f77fd..6cbe6fc1899da 100644
--- a/pkgs/development/libraries/bzrtp/default.nix
+++ b/pkgs/development/libraries/bzrtp/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bzrtp";
-  version = "5.2.98";
+  version = "5.2.111";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    hash = "sha256-p3r8GVhxShTanEI/tS8Dq59I7VKMDX1blz6S236XFqQ=";
+    hash = "sha256-sLvvQhJ9uVt/dx57xs9ftY/ETi46xmyGDH8372zpqj8=";
   };
 
   buildInputs = [ bctoolbox sqlite ];
diff --git a/pkgs/development/libraries/ctranslate2/default.nix b/pkgs/development/libraries/ctranslate2/default.nix
index 83eb9bf3a8953..58906b608231d 100644
--- a/pkgs/development/libraries/ctranslate2/default.nix
+++ b/pkgs/development/libraries/ctranslate2/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
     cudaPackages.cuda_cudart
     cudaPackages.libcublas
     cudaPackages.libcurand
-  ] ++ lib.optionals withCuDNN [
+  ] ++ lib.optionals (withCUDA && withCuDNN) [
     cudaPackages.cudnn
   ] ++ lib.optionals withOneDNN [
     oneDNN
@@ -87,5 +87,8 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/OpenNMT/CTranslate2/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ hexa misuzu ];
+    broken =
+      (lib.versionOlder cudaPackages.cudaVersion "11.4")
+      || !(withCuDNN -> withCUDA);
   };
 }
diff --git a/pkgs/development/libraries/example-robot-data/default.nix b/pkgs/development/libraries/example-robot-data/default.nix
index d9a107bf6497b..11b6898382263 100644
--- a/pkgs/development/libraries/example-robot-data/default.nix
+++ b/pkgs/development/libraries/example-robot-data/default.nix
@@ -8,14 +8,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "example-robot-data";
-  version = "4.0.8";
+  version = "4.0.9";
 
   src = fetchFromGitHub {
     owner = "Gepetto";
-    repo = finalAttrs.pname;
+    repo = "example-robot-data";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-xeNbx1f9QCAOJrXfkk3jo9XH2/4HNtnRA1OSnqA2cLs=";
+    hash = "sha256-dLW8QaQhTTDcE4QCP9uV4ykOqwc3nbPUmF1B77r8CHQ=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/futuresql/default.nix b/pkgs/development/libraries/futuresql/default.nix
index 2adc148701a74..fb6e4061e6f62 100644
--- a/pkgs/development/libraries/futuresql/default.nix
+++ b/pkgs/development/libraries/futuresql/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   version = "0.1.1";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
+    url = "mirror://kde/stable/futuresql/futuresql-${version}.tar.xz";
     hash = "sha256-5E7Y1alhizynuimD7ZxfdXLm4KWxmflIaINLccy+vUM=";
   };
 
diff --git a/pkgs/development/libraries/gr-framework/default.nix b/pkgs/development/libraries/gr-framework/default.nix
index 42994adc73751..2157a18f58d15 100644
--- a/pkgs/development/libraries/gr-framework/default.nix
+++ b/pkgs/development/libraries/gr-framework/default.nix
@@ -3,8 +3,10 @@
 , fetchFromGitHub
 , nix-update-script
 
-, cairo
 , cmake
+, wrapQtAppsHook
+
+, cairo
 , ffmpeg
 , freetype
 , ghostscript
@@ -13,20 +15,19 @@
 , libtiff
 , qhull
 , qtbase
-, wrapQtAppsHook
 , xorg
 , zeromq
 }:
 
 stdenv.mkDerivation rec {
   pname = "gr-framework";
-  version = "0.72.10";
+  version = "0.72.11";
 
   src = fetchFromGitHub {
     owner = "sciapp";
     repo = "gr";
     rev = "v${version}";
-    hash = "sha256-ZFaun8PBtPTmhZ0+OHzUu27NvcJGxsImh+c7ZvCTNa0=";
+    hash = "sha256-HspDRqO/JKpPeHOfctYAOwwR3y1u+GW3v0OnN7OfLT4=";
   };
 
   patches = [
@@ -60,11 +61,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = nix-update-script { };
 
-  meta = {
+  meta = with lib; {
     description = "GR framework is a graphics library for visualisation applications";
     homepage = "https://gr-framework.org";
-    maintainers = [ lib.maintainers.paveloom ];
-    license = lib.licenses.mit;
-    platforms = lib.platforms.unix;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ paveloom ];
   };
 }
diff --git a/pkgs/development/libraries/highfive/default.nix b/pkgs/development/libraries/highfive/default.nix
index ef0030f1d3aba..de9dd96424991 100644
--- a/pkgs/development/libraries/highfive/default.nix
+++ b/pkgs/development/libraries/highfive/default.nix
@@ -12,13 +12,13 @@ assert mpiSupport -> mpi != null;
 
 stdenv.mkDerivation rec {
   pname = "highfive${lib.optionalString mpiSupport "-mpi"}";
-  version = "2.7.1";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "BlueBrain";
     repo = "HighFive";
     rev = "v${version}";
-    sha256 = "sha256-apKmIB34uqkqSCtTUzrUOhcRC5a2UG6KCdhp1jnXUgQ=";
+    sha256 = "sha256-INDQ0RqPMSsKXQ/QVDhpCg4qzghLA3zQUViduflLUFY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/kpeoplevcard/default.nix b/pkgs/development/libraries/kpeoplevcard/default.nix
index 2ba786800fb32..689b7c9869b69 100644
--- a/pkgs/development/libraries/kpeoplevcard/default.nix
+++ b/pkgs/development/libraries/kpeoplevcard/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: {
   version = "0.1";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
+    url = "mirror://kde/stable/kpeoplevcard/${finalAttrs.version}/kpeoplevcard-${finalAttrs.version}.tar.xz";
     sha256 = "1hv3fq5k0pps1wdvq9r1zjnr0nxf8qc3vwsnzh9jpvdy79ddzrcd";
   };
 
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 8c6eeb3f3fb1b..47bdd0ffb4809 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.12.10";
+  version = "1.12.11";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-0AHChU96LOVCsd+b77nKV4lOt1FtbVfv+OSNvGjekYo=";
+    sha256 = "sha256-XB5qIXPe1Tu+cfxuL+HAfR9QQNiUY/noO51CVEz9hsU=";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index 3a3d32e61da9a..76fbf815525e9 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.4.1";
+  version = "1.4.2";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libadwaita";
     rev = version;
-    hash = "sha256-ztbvVRkNbkeAomRIxToUEQrYB5XnG1WPcfSB/iXHKoA=";
+    hash = "sha256-SsQbCnNtgiRWMZerEjSSw+CU5m6bGRv8ILY/TITGtL4=";
   };
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/libaec/default.nix b/pkgs/development/libraries/libaec/default.nix
index e9e5c19f777cb..5bc6ad6c5f2eb 100644
--- a/pkgs/development/libraries/libaec/default.nix
+++ b/pkgs/development/libraries/libaec/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libaec";
-  version  = "1.1.1";
+  version  = "1.1.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.dkrz.de";
     owner = "k202009";
     repo = "libaec";
     rev = "v${version}";
-    sha256 = "sha256-5nsJrbJVqjXNb3exYgEvSGUq8ccy9HG+gwmBZvjnupc=";
+    sha256 = "sha256-mmiPpfUZE7W6Hzalr/tcJUFQe5kF4dYM1uZShjBsoVA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libcue/default.nix b/pkgs/development/libraries/libcue/default.nix
index cdae594d9b682..ec7f1ba26ab1e 100644
--- a/pkgs/development/libraries/libcue/default.nix
+++ b/pkgs/development/libraries/libcue/default.nix
@@ -1,27 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, bison, flex }:
+{ lib, stdenv, fetchFromGitHub, cmake, bison, flex }:
 
 stdenv.mkDerivation rec {
   pname = "libcue";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "lipnitsk";
     repo = "libcue";
     rev = "v${version}";
-    sha256 = "1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm";
+    hash = "sha256-ZMUUa8CmpFNparPsM/P2yvRto9E85EdTxpID5sKQbNI=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2023-43641.patch";
-      url = "https://github.com/lipnitsk/libcue/commit/fdf72c8bded8d24cfa0608b8e97f2eed210a920e.patch";
-      hash = "sha256-NjnSMUfman/SwLFWDIhtz2jCOLfpXGGGjO3QwRGURNg=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake bison flex ];
 
-  doCheck = false; # fails all the tests (ctest)
+  doCheck = true;
 
   meta = with lib; {
     description = "CUE Sheet Parser Library";
diff --git a/pkgs/development/libraries/libdatovka/default.nix b/pkgs/development/libraries/libdatovka/default.nix
index 89ce56fe6bb8e..c4c840dc34cc6 100644
--- a/pkgs/development/libraries/libdatovka/default.nix
+++ b/pkgs/development/libraries/libdatovka/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdatovka";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "https://gitlab.nic.cz/datovka/libdatovka/-/archive/v${version}/libdatovka-v${version}.tar.gz";
-    sha256 = "sha256-EqCS77MpjfR0Td07WKB7jWRBxAoKRtbAgyyThFOJXL8=";
+    sha256 = "sha256-cZG86chuh/2bW7kADbnhPhhMwe+Nm63uYy3LIjNrRqo=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix
index 481f12e17526f..fe11b59f45239 100644
--- a/pkgs/development/libraries/libmpc/default.nix
+++ b/pkgs/development/libraries/libmpc/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
          built upon and follows the same principles as GNU MPFR.
       '';
 
-    homepage = "http://mpc.multiprecision.org/";
+    homepage = "https://www.multiprecision.org/mpc/";
     license = lib.licenses.lgpl2Plus;
 
     platforms = lib.platforms.all;
diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index 8c4e32b232c95..9707435dcd29d 100644
--- a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysqlconnectorcpp";
-  version = "8.1.0";
+  version = "8.2.0";
 
   src = fetchurl {
     url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}-src.tar.gz";
-    hash = "sha256-LuPH0NAxzlgd7u10fZVh0UAXI3NZK+1dBjCnkOYFPcE=";
+    hash = "sha256-lCRmgiXFpz97eAXNNtddhQLJqOIMoRyVJlMVXvbpCdo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libnbd/default.nix b/pkgs/development/libraries/libnbd/default.nix
index 31104b262af98..ff90c9b116ad6 100644
--- a/pkgs/development/libraries/libnbd/default.nix
+++ b/pkgs/development/libraries/libnbd/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , bash-completion
 , pkg-config
 , perl
@@ -12,13 +13,21 @@
 
 stdenv.mkDerivation rec {
   pname = "libnbd";
-  version = "1.18.0";
+  version = "1.18.1";
 
   src = fetchurl {
     url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
-    hash = "sha256-srJyd32eCIthoncvM9JQEKCWEOZxxc3YntaV4Ay8kZ8=";
+    hash = "sha256-UNHRphDw1ycRnp0KClzHlSuLIxs5Mc4gcjB+EF/smbY=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2023-5871.patch";
+      url = "https://gitlab.com/nbdkit/libnbd/-/commit/4451e5b61ca07771ceef3e012223779e7a0c7701.patch";
+      hash = "sha256-zmg/kxSJtjp2w9917Sp33ezt7Ccj/inngzCUVesF1Tc=";
+    })
+  ];
+
   nativeBuildInputs = [
     bash-completion
     pkg-config
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index 801b748695097..3fe89f891f8cb 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libosinfo";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-olLgD8WA3rIdoNqMCqA7jDHoRAuESMi5gUP6tHfTIwU=";
+    sha256 = "sha256-G/lu7J4UYPPRpxMWPMof8NSAo0kLUImSkvFFSLOpa2A=";
   };
 
   outputs = [ "out" "dev" ]
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index 2350217693101..acb0013035cbf 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "7.7.0";
+  version = "7.7.5";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "sha256-O30czHwEDXz5xY4o3MWhmEK06OKTKMQCy0M6qwSEpy8=";
+    sha256 = "sha256-mvGPMbk4b8NmPvzy5hS+Au69NtDGha8ONTEQf6I3VZE=";
   };
 
   nativeBuildInputs = [ python3 ];
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [ "--enable-shared --disable-documentation" ];
+  CXXFLAGS = [ "-std=c++17" ];
 
   meta = {
     description = "A C++ library to access PostgreSQL databases";
diff --git a/pkgs/development/libraries/libunicode/default.nix b/pkgs/development/libraries/libunicode/default.nix
new file mode 100644
index 0000000000000..4241f5bc7676b
--- /dev/null
+++ b/pkgs/development/libraries/libunicode/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, fetchzip, cmake, catch2, fmt, python3 }:
+
+let
+  ucd-version = "15.0.0";
+
+  ucd-src = fetchzip {
+    url = "https://www.unicode.org/Public/${ucd-version}/ucd/UCD.zip";
+    hash = "sha256-jj6bX46VcnH7vpc9GwM9gArG+hSPbOGL6E4SaVd0s60=";
+    stripRoot = false;
+  };
+in stdenv.mkDerivation (final: {
+  pname = "libunicode";
+  version = "0.3.0-unstable-2023-03-05";
+
+  src = fetchFromGitHub {
+    owner = "contour-terminal";
+    repo = "libunicode";
+    rev = "65e0c6ddf9648b94aa9bc7dda0718401efa9ef8e";
+    hash = "sha256-F4CVU5MImkM571mD4iFxqTnNbk2GXKTGksqO4LH2uEk=";
+  };
+
+  nativeBuildInputs = [ cmake python3 ];
+  buildInputs = [ catch2 fmt ];
+
+  cmakeFlags = [ "-DLIBUNICODE_UCD_DIR=${ucd-src}" ];
+
+  meta = with lib; {
+    description = "Modern C++17 Unicode library";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ moni ];
+  };
+})
diff --git a/pkgs/development/libraries/libzim/default.nix b/pkgs/development/libraries/libzim/default.nix
index f9bcdeb933b08..855fc48a2aef4 100644
--- a/pkgs/development/libraries/libzim/default.nix
+++ b/pkgs/development/libraries/libzim/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libzim";
-  version = "8.2.1";
+  version = "9.0.0";
 
   src = fetchFromGitHub {
     owner = "openzim";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-bhztigbiIGdVxBV5cpuHuuRGBN5UgC39w51uwLEq47w=";
+    hash = "sha256-K1S2MiugUeqCfPq0Oclmghb9064xrsKgUEVjFCJHt0U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 9c1c8b422a98a..2d383c876cba4 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -89,14 +89,16 @@ stdenv.mkDerivation (finalAttrs: {
 
   doCheck = false;
 
-  # When building a wide-character (Unicode) build, create backward
-  # compatibility links from the the "normal" libraries to the
-  # wide-character libraries (e.g. libncurses.so to libncursesw.so).
   postFixup = let
     abiVersion-extension = if stdenv.isDarwin then "${abiVersion}.$dylibtype" else "$dylibtype.${abiVersion}"; in
   ''
     # Determine what suffixes our libraries have
     suffix="$(awk -F': ' 'f{print $3; f=0} /default library suffix/{f=1}' config.log)"
+  ''
+  # When building a wide-character (Unicode) build, create backward
+  # compatibility links from the the "normal" libraries to the
+  # wide-character libraries (e.g. libncurses.so to libncursesw.so).
+  + lib.optionalString unicodeSupport ''
     libs="$(ls $dev/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")"
     suffixes="$(echo "$suffix" | awk '{for (i=1; i < length($0); i++) {x=substr($0, i+1, length($0)-i); print x}}')"
 
@@ -139,10 +141,13 @@ stdenv.mkDerivation (finalAttrs: {
         ln -svf ''${library}$suffix.pc $dev/lib/pkgconfig/$library$newsuffix.pc
       done
     done
+    ''
+    # Unconditional patches. Leading newline is to avoid mass rebuilds.
+    + ''
 
     # add pkg-config aliases for libraries that are built-in to libncurses(w)
     for library in tinfo tic; do
-      for suffix in "" w; do
+      for suffix in "" ${lib.optionalString unicodeSupport "w"}; do
         ln -svf ncurses$suffix.pc $dev/lib/pkgconfig/$library$suffix.pc
       done
     done
diff --git a/pkgs/development/libraries/nng/default.nix b/pkgs/development/libraries/nng/default.nix
index cb5aa49ec612f..4df09d278f6d6 100644
--- a/pkgs/development/libraries/nng/default.nix
+++ b/pkgs/development/libraries/nng/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nng";
-  version = "1.6.0-prerelease";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "nanomsg";
     repo = "nng";
-    rev = "a54820ff0e1b74554c7f649e8386ee8c4ecd98f5";
-    sha256 = "sha256-4Vj8nf3c45Y8LJ79YUOrNAAGMmfygdPtAJrs+JuFiUM=";
+    rev = "v${version}";
+    hash = "sha256-Kq8QxPU6SiTk0Ev2IJoktSPjVOlAS4/e1PQvw2+e8UA=";
   };
 
   nativeBuildInputs = [ cmake ninja ]
diff --git a/pkgs/development/libraries/openimageio/default.nix b/pkgs/development/libraries/openimageio/default.nix
index a0f520dcb6cea..f2e98e0d34b6e 100644
--- a/pkgs/development/libraries/openimageio/default.nix
+++ b/pkgs/development/libraries/openimageio/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.4.15.0";
+  version = "2.5.5.0";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "v${version}";
-    hash = "sha256-I2/JPmUBDb0bw7qbSZcAkYHB2q2Uo7En7ZurMwWhg/M=";
+    hash = "sha256-FtUZqk1m9ahdnwhrBeMFkUbV0dangMY/w9ShevCASfo=";
   };
 
   # Workaround broken zlib version detecion in CMake < 3.37.
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 43f2eae809355..0fae50cdbfedb 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -94,7 +94,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
-      versionPolicy = "odd-unstable";
       # 1.90 is alpha for API 2.
       freeze = "1.90.0";
     };
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix
index c58ff8399aec8..a5bdb729a102b 100644
--- a/pkgs/development/libraries/pipewire/wireplumber.nix
+++ b/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -24,7 +24,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wireplumber";
-  version = "0.4.16";
+  version = "0.4.17";
 
   outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "pipewire";
     repo = "wireplumber";
     rev = version;
-    hash = "sha256-BJ4Q34wLGQNxoihH+M8NBY5ZDw/D9RMda9GvFw7BemY=";
+    hash = "sha256-vhpQT67+849WV1SFthQdUeFnYe/okudTQJoL3y+wXwI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix
index 6603130922022..3723a6806ad9d 100644
--- a/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/pkgs/development/libraries/pkcs11helper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pkcs11-helper";
-  version = "1.29.0";
+  version = "1.30.0";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "pkcs11-helper";
     rev = "${pname}-${version}";
-    sha256 = "sha256-HPaPmsCJ81NaS7mgRGbR7KFG6AM3s6HXdWKdfREhcLc=";
+    hash = "sha256-FP3y/YHsPPqey4QfxIiC4QjruuK1K2Bg+2QL2gXDT+k=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
index 538687dce58a0..f77fdac059ce6 100644
--- a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
+++ b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix
@@ -3,6 +3,7 @@
 , stdenv
 , qtbase
 , qtdeclarative
+, qtquick3d
 , qtshadertools
 , qtsvg
 , pkg-config
@@ -12,8 +13,11 @@
 , gst-plugins-good
 , gst-libav
 , gst-vaapi
+, ffmpeg_6
+, libva
 , libpulseaudio
 , wayland
+, libXrandr
 , elfutils
 , libunwind
 , orc
@@ -23,12 +27,14 @@
 qtModule {
   pname = "qtmultimedia";
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libunwind orc ]
-    ++ lib.optionals stdenv.isLinux [ libpulseaudio elfutils alsa-lib wayland ];
-  propagatedBuildInputs = [ qtbase qtdeclarative qtsvg qtshadertools ]
+  buildInputs = [ libunwind orc ffmpeg_6 ]
+    ++ lib.optionals stdenv.isLinux [ libpulseaudio elfutils alsa-lib wayland libXrandr libva ];
+  propagatedBuildInputs = [ qtbase qtdeclarative qtsvg qtshadertools qtquick3d ]
     ++ lib.optionals stdenv.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]
     ++ lib.optionals stdenv.isDarwin [ VideoToolbox ];
 
+  cmakeFlags = [ "-DENABLE_DYNAMIC_RESOLVE_VAAPI_SYMBOLS=0" ];
+
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin
     "-include AudioToolbox/AudioToolbox.h";
   NIX_LDFLAGS = lib.optionalString stdenv.isDarwin
diff --git a/pkgs/development/libraries/rure/Cargo.lock b/pkgs/development/libraries/rure/Cargo.lock
index 68a1719d08014..48e04d1f5acb7 100644
--- a/pkgs/development/libraries/rure/Cargo.lock
+++ b/pkgs/development/libraries/rure/Cargo.lock
@@ -13,9 +13,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "memchr"
diff --git a/pkgs/development/libraries/science/math/nccl/default.nix b/pkgs/development/libraries/science/math/nccl/default.nix
index d1df264564471..d877e19a6dd68 100644
--- a/pkgs/development/libraries/science/math/nccl/default.nix
+++ b/pkgs/development/libraries/science/math/nccl/default.nix
@@ -1,85 +1,113 @@
-{ lib
-, backendStdenv
-, fetchFromGitHub
-, python3
-, which
-, autoAddOpenGLRunpathHook
-, cuda_cccl
-, cuda_cudart
-, cuda_nvcc
-, cudaFlags
-, cudaVersion
-# passthru.updateScript
-, gitUpdater
+# NOTE: Though NCCL is called within the cudaPackages package set, we avoid passing in
+# the names of dependencies from that package set directly to avoid evaluation errors
+# in the case redistributable packages are not available.
+{
+  lib,
+  fetchFromGitHub,
+  python3,
+  which,
+  cudaPackages,
+  # passthru.updateScript
+  gitUpdater,
 }:
 let
-  # Output looks like "-gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_86,code=compute_86"
-  gencode = lib.concatStringsSep " " cudaFlags.gencode;
+
+  inherit (cudaPackages)
+    autoAddOpenGLRunpathHook
+    backendStdenv
+    cuda_cccl
+    cuda_cudart
+    cuda_nvcc
+    cudaFlags
+    cudatoolkit
+    cudaVersion
+    ;
 in
-backendStdenv.mkDerivation (finalAttrs: {
-  pname = "nccl";
-  version = "2.19.3-1";
+backendStdenv.mkDerivation (
+  finalAttrs: {
+    pname = "nccl";
+    version = "2.19.3-1";
 
-  src = fetchFromGitHub {
-    owner = "NVIDIA";
-    repo = finalAttrs.pname;
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-59FlOKM5EB5Vkm4dZBRCkn+IgIcdQehE+FyZAdTCT/A=";
-  };
+    src = fetchFromGitHub {
+      owner = "NVIDIA";
+      repo = finalAttrs.pname;
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-59FlOKM5EB5Vkm4dZBRCkn+IgIcdQehE+FyZAdTCT/A=";
+    };
 
-  outputs = [ "out" "dev" ];
+    strictDeps = true;
 
-  nativeBuildInputs = [
-    which
-    autoAddOpenGLRunpathHook
-    cuda_nvcc
-    python3
-  ];
+    outputs = [
+      "out"
+      "dev"
+    ];
 
-  buildInputs = [
-    cuda_cudart
-  ]
-  # NOTE: CUDA versions in Nixpkgs only use a major and minor version. When we do comparisons
-  # against other version, like below, it's important that we use the same format. Otherwise,
-  # we'll get incorrect results.
-  # For example, lib.versionAtLeast "12.0" "12.0.0" == false.
-  ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [
-    cuda_cccl
-  ];
+    nativeBuildInputs =
+      [
+        which
+        autoAddOpenGLRunpathHook
+        python3
+      ]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [cuda_nvcc];
+
+    buildInputs =
+      lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [
+        cuda_nvcc.dev # crt/host_config.h
+        cuda_cudart
+      ]
+      # NOTE: CUDA versions in Nixpkgs only use a major and minor version. When we do comparisons
+      # against other version, like below, it's important that we use the same format. Otherwise,
+      # we'll get incorrect results.
+      # For example, lib.versionAtLeast "12.0" "12.0.0" == false.
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [cuda_cccl];
 
-  preConfigure = ''
-    patchShebangs ./src/device/generate.py
-    makeFlagsArray+=(
-      "NVCC_GENCODE=${gencode}"
-    )
-  '';
+    env.NIX_CFLAGS_COMPILE = toString ["-Wno-unused-function"];
 
-  makeFlags = [
-    "CUDA_HOME=${cuda_nvcc}"
-    "CUDA_LIB=${lib.getLib cuda_cudart}/lib"
-    "CUDA_INC=${lib.getDev cuda_cudart}/include"
-    "PREFIX=$(out)"
-  ];
+    preConfigure = ''
+      patchShebangs ./src/device/generate.py
+      makeFlagsArray+=(
+        "NVCC_GENCODE=${lib.concatStringsSep " " cudaFlags.gencode}"
+      )
+    '';
 
-  postFixup = ''
-    moveToOutput lib/libnccl_static.a $dev
-  '';
+    makeFlags =
+      ["PREFIX=$(out)"]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [
+        "CUDA_HOME=${cudatoolkit}"
+        "CUDA_LIB=${lib.getLib cudatoolkit}/lib"
+        "CUDA_INC=${lib.getDev cudatoolkit}/include"
+      ]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [
+        "CUDA_HOME=${cuda_nvcc}"
+        "CUDA_LIB=${lib.getLib cuda_cudart}/lib"
+        "CUDA_INC=${lib.getDev cuda_cudart}/include"
+      ];
 
-  env.NIX_CFLAGS_COMPILE = toString [ "-Wno-unused-function" ];
+    enableParallelBuilding = true;
 
-  # Run the update script with: `nix-shell maintainers/scripts/update.nix --argstr package cudaPackages.nccl`
-  passthru.updateScript = gitUpdater {
-    inherit (finalAttrs) pname version;
-    rev-prefix = "v";
-  };
+    postFixup = ''
+      moveToOutput lib/libnccl_static.a $dev
+    '';
 
-  enableParallelBuilding = true;
+    passthru.updateScript = gitUpdater {
+      inherit (finalAttrs) pname version;
+      rev-prefix = "v";
+    };
 
-  meta = with lib; {
-    description = "Multi-GPU and multi-node collective communication primitives for NVIDIA GPUs";
-    homepage = "https://developer.nvidia.com/nccl";
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ mdaiter orivej ] ++ teams.cuda.members;
-  };
-})
+    meta = with lib; {
+      description = "Multi-GPU and multi-node collective communication primitives for NVIDIA GPUs";
+      homepage = "https://developer.nvidia.com/nccl";
+      license = licenses.bsd3;
+      platforms = platforms.linux;
+      maintainers =
+        with maintainers;
+        [
+          mdaiter
+          orivej
+        ]
+        ++ teams.cuda.members;
+    };
+  }
+)
diff --git a/pkgs/development/libraries/science/math/nccl/tests.nix b/pkgs/development/libraries/science/math/nccl/tests.nix
index 9d826b92f164a..5c2f29b7ed564 100644
--- a/pkgs/development/libraries/science/math/nccl/tests.nix
+++ b/pkgs/development/libraries/science/math/nccl/tests.nix
@@ -1,69 +1,84 @@
-{ backendStdenv
-, config
-, cuda_cccl
-, cuda_cudart
-, cuda_nvcc
-, cudaVersion
-, fetchFromGitHub
-, gitUpdater
-, lib
-, mpi
-, mpiSupport ? false
-, nccl
-, which
+# NOTE: Though NCCL tests is called within the cudaPackages package set, we avoid passing in
+# the names of dependencies from that package set directly to avoid evaluation errors
+# in the case redistributable packages are not available.
+{
+  config,
+  cudaPackages,
+  fetchFromGitHub,
+  gitUpdater,
+  lib,
+  mpi,
+  mpiSupport ? false,
+  which,
 }:
+let
+  inherit (cudaPackages)
+    backendStdenv
+    cuda_cccl
+    cuda_cudart
+    cuda_nvcc
+    cudatoolkit
+    cudaVersion
+    nccl
+    ;
+in
+backendStdenv.mkDerivation (
+  finalAttrs: {
 
-backendStdenv.mkDerivation (finalAttrs: {
+    pname = "nccl-tests";
+    version = "2.13.8";
 
-  pname = "nccl-tests";
-  version = "2.13.8";
+    src = fetchFromGitHub {
+      owner = "NVIDIA";
+      repo = finalAttrs.pname;
+      rev = "v${finalAttrs.version}";
+      hash = "sha256-dxLoflsTHDBnZRTzoXdm30OyKpLlRa73b784YWALBHg=";
+    };
 
-  src = fetchFromGitHub {
-    owner = "NVIDIA";
-    repo = finalAttrs.pname;
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-dxLoflsTHDBnZRTzoXdm30OyKpLlRa73b784YWALBHg=";
-  };
+    strictDeps = true;
 
-  strictDeps = true;
+    nativeBuildInputs =
+      [which]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [cuda_nvcc];
 
-  nativeBuildInputs = [
-    cuda_nvcc
-    which
-  ];
-
-  buildInputs = [
-    cuda_cudart
-    nccl
-  ] ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [
-    cuda_cccl.dev # <nv/target>
-  ] ++ lib.optional mpiSupport mpi;
+    buildInputs =
+      [nccl]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") [cudatoolkit]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") [
+        cuda_nvcc.dev # crt/host_config.h
+        cuda_cudart
+      ]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [
+        cuda_cccl.dev # <nv/target>
+      ]
+      ++ lib.optionals mpiSupport [mpi];
 
-  makeFlags = [
-    "CUDA_HOME=${cuda_nvcc}"
-    "NCCL_HOME=${nccl}"
-  ] ++ lib.optionals mpiSupport [
-    "MPI=1"
-  ];
+    makeFlags =
+      ["NCCL_HOME=${nccl}"]
+      ++ lib.optionals (lib.versionOlder cudaVersion "11.4") ["CUDA_HOME=${cudatoolkit}"]
+      ++ lib.optionals (lib.versionAtLeast cudaVersion "11.4") ["CUDA_HOME=${cuda_nvcc}"]
+      ++ lib.optionals mpiSupport ["MPI=1"];
 
-  enableParallelBuilding = true;
+    enableParallelBuilding = true;
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -r build/* $out/bin/
-  '';
+    installPhase = ''
+      mkdir -p $out/bin
+      cp -r build/* $out/bin/
+    '';
 
-  passthru.updateScript = gitUpdater {
-    inherit (finalAttrs) pname version;
-    rev-prefix = "v";
-  };
+    passthru.updateScript = gitUpdater {
+      inherit (finalAttrs) pname version;
+      rev-prefix = "v";
+    };
 
-  meta = with lib; {
-    description = "Tests to check both the performance and the correctness of NVIDIA NCCL operations";
-    homepage = "https://github.com/NVIDIA/nccl-tests";
-    platforms = platforms.linux;
-    license = licenses.bsd3;
-    broken = !config.cudaSupport || (mpiSupport && mpi == null);
-    maintainers = with maintainers; [ jmillerpdt ] ++ teams.cuda.members;
-  };
-})
+    meta = with lib; {
+      description = "Tests to check both the performance and the correctness of NVIDIA NCCL operations";
+      homepage = "https://github.com/NVIDIA/nccl-tests";
+      platforms = platforms.linux;
+      license = licenses.bsd3;
+      broken = !config.cudaSupport || (mpiSupport && mpi == null);
+      maintainers = with maintainers; [jmillerpdt] ++ teams.cuda.members;
+    };
+  }
+)
diff --git a/pkgs/development/libraries/termbench-pro/default.nix b/pkgs/development/libraries/termbench-pro/default.nix
new file mode 100644
index 0000000000000..11edecf31cc78
--- /dev/null
+++ b/pkgs/development/libraries/termbench-pro/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, cmake, fmt }:
+
+stdenv.mkDerivation {
+  pname = "termbench-pro";
+  version = "unstable-2023-01-26";
+
+  src = fetchFromGitHub {
+    owner = "contour-terminal";
+    repo = "termbench-pro";
+    rev = "a4feadd3a698e4fe2d9dd5b03d5f941534a25a91";
+    hash = "sha256-/zpJY9Mecalk7dneYZYzmFOroopFGklWw62a+LbiUVs=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ fmt ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    mkdir -p $out/lib
+    mv termbenchpro/tbp $out/bin
+    mv libtermbench/libtermbench.a $out/lib
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Terminal Benchmarking as CLI and library";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ moni ];
+  };
+}
diff --git a/pkgs/development/libraries/tevent/default.nix b/pkgs/development/libraries/tevent/default.nix
index c5d8d0fd3c498..1d68421c6dcdd 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.15.0";
+  version = "0.16.0";
 
   src = fetchurl {
     url = "mirror://samba/tevent/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ZiqfJ3KBvPUGtrwKC6oD5EpiIpUW7jS8xwOguCqkaQU=";
+    sha256 = "sha256-GqWPIQF+2ML2Bq6Eqn55W1Q57dTdX2jxo4in1vtA9oI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK32.nix b/pkgs/development/libraries/wxwidgets/wxGTK32.nix
index bcd75412aab28..5bba7315f5cc4 100644
--- a/pkgs/development/libraries/wxwidgets/wxGTK32.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK32.nix
@@ -32,6 +32,7 @@
 , AVFoundation
 , AVKit
 , WebKit
+, fetchpatch
 }:
 let
   catch = fetchFromGitHub {
@@ -59,6 +60,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-YkV150sDsfBEHvHne0GF6i8Y5881NrByPkLtPAmb24E=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "avoid_gtk3_crash.patch";
+      url = "https://github.com/wxWidgets/wxWidgets/commit/8ea22b5e92bf46add0b20059f6e39a938858ff97.patch";
+      hash = "sha256-zAyqVTdej4F3R7vVMLiKkXqJTAHDtGYJnyjaRyDmMOM=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
index 1fd30139bc14c..11f598b6544b1 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gnome";
-  version = "45.0";
+  version = "45.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "lJWYhhyAAA/r8YzBKzchyVwbsdGTcfwhVtxPM971r/A=";
+    sha256 = "PpyoIQRABfs3vWjr5K0Zb8PQcoNVgUZ6IqSHnax7X90=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix b/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
index bb1569b3a2584..e2d12c250171d 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-xapp";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "xdg-desktop-portal-xapp";
     rev = version;
-    hash = "sha256-sPpRDoQuzyjqB+kwz0U2WFm/Byx7SueM3aCtpgy38JM=";
+    hash = "sha256-Zz44PCociYhUuHTS3HJNxJPCkiIl01FFe4//7jtgDsk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 0bd4d885504e4..b1d016ba7dca8 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -514,6 +514,39 @@ buildLuarocksPackage {
   };
 }) {};
 
+fzy = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+buildLuarocksPackage {
+  pname = "fzy";
+  version = "1.0-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/fzy-1.0-1.rockspec";
+    sha256 = "1v050lm3rn1k5wwi2nimlbp1b7j6b8vkwvhc1npyqzj8jv7w9w9n";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/swarn/fzy-lua",
+  "rev": "2d018a56e3a240bca4b3142a723b2f56392f3e4a",
+  "date": "2023-01-29T07:05:02-06:00",
+  "path": "/nix/store/nz19glmy52jbz46wl7xf0jd8m441klf0-fzy-lua",
+  "sha256": "0xknm5513a6nlariwxgqndf3wj8xals26swjsv06hx133ihna01x",
+  "hash": "sha256-PQBlYRwjdGjA1pJrIzRVHUk+XLP4dR6zotaoEUqpdnY=",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path" "sha256"]) ;
+
+  disabled = (luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "https://github.com/swarn/fzy-lua";
+    description = "A fuzzy string-matching algorithm";
+    maintainers = with lib.maintainers; [ mrcjkb ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 gitsigns-nvim = callPackage({ buildLuarocksPackage, fetchgit, lua }:
 buildLuarocksPackage {
   pname = "gitsigns.nvim";
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index d6b95eb6593d7..72334f6d0ff09 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -126,6 +126,16 @@ with prev;
     '';
   });
 
+  # Until https://github.com/swarn/fzy-lua/pull/8 is merged,
+  # we have to invoke busted manually
+  fzy = prev.fzy.overrideAttrs(oa: {
+    doCheck = true;
+    nativeCheckInputs = [ prev.busted ];
+    checkPhase = ''
+      busted test/test.lua
+    '';
+  });
+
   http = prev.http.overrideAttrs (oa: {
     patches = [
       (fetchpatch {
diff --git a/pkgs/development/misc/avr/libc/default.nix b/pkgs/development/misc/avr/libc/default.nix
index ac9da31fcc0f8..d7e9f0efe9992 100644
--- a/pkgs/development/misc/avr/libc/default.nix
+++ b/pkgs/development/misc/avr/libc/default.nix
@@ -15,8 +15,11 @@ stdenv.mkDerivation rec {
   stripDebugList = [ "bin" ];
   dontPatchELF = true;
 
+  enableParallelBuilding = true;
+
   passthru = {
     incdir = "/avr/include";
+    libdir = "/avr/lib";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 97966e6bb33e6..080717e1a2cce 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.54.0";
+  version = "3.56.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    hash = "sha256-P+f7eBqD0/KIEry/807dQQCvtokB2cYu4i0H6CTYIWg=";
+    hash = "sha256-PApfNjW7sfVmYT0NcEKs5MZJG65P7WQ5WVpQuOj8EV4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/anchor-kr/default.nix b/pkgs/development/python-modules/anchor-kr/default.nix
new file mode 100644
index 0000000000000..32ce534e6b6b7
--- /dev/null
+++ b/pkgs/development/python-modules/anchor-kr/default.nix
@@ -0,0 +1,26 @@
+{ lib,
+  buildPythonPackage,
+  fetchFromGitHub
+}:
+buildPythonPackage {
+  pname = "anchor";
+  version = "3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "justfoolingaround";
+    repo = "anchor";
+    # Using the commit hash because upstream does not have releases. https://github.com/justfoolingaround/anchor/issues/1
+    rev = "4cedb6a51877ed3a292cad61eb19013382915e86";
+    hash = "sha256-t75IFBSz6ncHRqXRxbrM9EQdr8xPXjSd9di+/y2LegE=";
+  };
+
+  pythonImportsCheck = [ "anchor" ];
+
+  meta = with lib; {
+    description = "Python library for scraping";
+    homepage = "https://github.com/justfoolingaround/anchor";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ passivelemon ];
+  };
+}
diff --git a/pkgs/development/python-modules/anitopy/default.nix b/pkgs/development/python-modules/anitopy/default.nix
new file mode 100644
index 0000000000000..313f9631154e6
--- /dev/null
+++ b/pkgs/development/python-modules/anitopy/default.nix
@@ -0,0 +1,26 @@
+{ lib,
+  buildPythonPackage,
+  fetchFromGitHub
+}:
+buildPythonPackage rec {
+  pname = "anitopy";
+  version = "2.1.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "igorcmoura";
+    repo = "anitopy";
+    rev = "v${version}";
+    hash = "sha256-xXEf7AJKg7grDmkKfFuC4Fk6QYFJtezClyfA3vq8TfQ=";
+  };
+
+  pythonImportsCheck = [ "anitopy" ];
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Python library for parsing anime video filenames";
+    homepage = "https://github.com/igorcmoura/anitopy";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ passivelemon ];
+  };
+}
diff --git a/pkgs/development/python-modules/approval-utilities/default.nix b/pkgs/development/python-modules/approval-utilities/default.nix
index 3b21c3ffab83c..38d22ad57aae4 100644
--- a/pkgs/development/python-modules/approval-utilities/default.nix
+++ b/pkgs/development/python-modules/approval-utilities/default.nix
@@ -2,18 +2,29 @@
 , buildPythonPackage
 , approvaltests
 , pythonOlder
+, setuptools
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "approval-utilities";
   inherit (approvaltests) version src;
   disabled = pythonOlder "3.7";
-  format = "setuptools";
+  pyproject = true;
 
   postPatch = ''
     mv setup.approval_utilities.py setup.py
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    # used in approval_utilities/utilities/time_utilities.py
+    typing-extensions
+  ];
+
   pythonImportsCheck = [ "approval_utilities" ];
 
   # upstream has no tests
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index b8ec645c42d19..289755c5ddc6f 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -5,21 +5,21 @@
 , buildPythonPackage
 , empty-files
 , fetchFromGitHub
-, mock
 , mrjob
 , numpy
 , pyperclip
 , pytest
+, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 , testfixtures
-, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "approvaltests";
-  version = "10.0.0";
-  format = "setuptools";
+  version = "10.1.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -27,9 +27,13 @@ buildPythonPackage rec {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3KorHpJUeWSJKVN/4IN0AqKOIL0sT5MaxkvQqpeilhw=";
+    hash = "sha256-t+Vxo6Pn3b2H3yAg5LGsGTjrZr4MXeGOY2BF9eFFAdE=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     allpairspy
     approval-utilities
@@ -39,16 +43,16 @@ buildPythonPackage rec {
     pyperclip
     pytest
     testfixtures
-    typing-extensions
   ];
 
   nativeCheckInputs = [
-    mock
     numpy
+    pytest-asyncio
     pytestCheckHook
   ];
 
   disabledTests = [
+    "test_docstrings"
     # Tests expects paths below ApprovalTests.Python directory
     "test_received_filename"
     "test_pytest_namer"
diff --git a/pkgs/development/python-modules/ariadne/default.nix b/pkgs/development/python-modules/ariadne/default.nix
index 3810934eefebd..0e0bf1140a64b 100644
--- a/pkgs/development/python-modules/ariadne/default.nix
+++ b/pkgs/development/python-modules/ariadne/default.nix
@@ -4,7 +4,6 @@
 , hatchling
 , freezegun
 , graphql-core
-, opentracing
 , pytest-asyncio
 , pytest-mock
 , pytestCheckHook
@@ -28,6 +27,9 @@ buildPythonPackage rec {
     rev = "refs/tags/${version}";
     hash = "sha256-v3CaLMTo/zbNEoE3K+aWnFTCgLetcnN7vOU/sFqLq2k=";
   };
+  patches = [
+    ./remove-opentracing.patch
+  ];
 
   nativeBuildInputs = [
     hatchling
@@ -41,7 +43,6 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     freezegun
-    opentracing
     pytest-asyncio
     pytest-mock
     pytestCheckHook
@@ -58,12 +59,18 @@ buildPythonPackage rec {
     "test_attempt_parse_request_missing_content_type_raises_bad_request_error"
     "test_attempt_parse_non_json_request_raises_bad_request_error"
     "test_attempt_parse_non_json_request_body_raises_bad_request_error"
+    # opentracing
+    "test_query_is_executed_for_multipart_form_request_with_file"
+    "test_query_is_executed_for_multipart_request_with_large_file_with_tracing"
   ];
 
   disabledTestPaths = [
     # missing graphql-sync-dataloader test dep
     "tests/test_dataloaders.py"
     "tests/wsgi/test_configuration.py"
+    # both include opentracing module, which has been removed from nixpkgs
+    "tests/tracing/test_opentracing.py"
+    "tests/tracing/test_opentelemetry.py"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/ariadne/remove-opentracing.patch b/pkgs/development/python-modules/ariadne/remove-opentracing.patch
new file mode 100644
index 0000000000000..eecbfafea9b9a
--- /dev/null
+++ b/pkgs/development/python-modules/ariadne/remove-opentracing.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/asgi/conftest.py b/tests/asgi/conftest.py
+index a703466..223586e 100644
+--- a/tests/asgi/conftest.py
++++ b/tests/asgi/conftest.py
+@@ -8,7 +8,6 @@ from ariadne.asgi.handlers import (
+     GraphQLTransportWSHandler,
+     GraphQLWSHandler,
+ )
+-from ariadne.contrib.tracing.opentracing import opentracing_extension
+ 
+ 
+ @pytest.fixture
diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix
index e80f521efb2be..605fb0c66df3b 100644
--- a/pkgs/development/python-modules/av/default.nix
+++ b/pkgs/development/python-modules/av/default.nix
@@ -1,35 +1,29 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
 , stdenv
-
-# build
+, buildPythonPackage
 , cython
-, pkg-config
-, setuptools
-
-# runtime
+, fetchFromGitHub
 , ffmpeg_5-headless
-
-# tests
 , numpy
 , pillow
+, pkg-config
 , pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "av";
-  version = "10.0.0";
-  format = "pyproject";
+  version = "11.0.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mikeboers";
     repo = "PyAV";
-    rev = "v${version}";
-    hash = "sha256-XcHP8RwC2iwD64Jc7SS+t9OxjFTsz3FbrnjMgJnN7Ak=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-pCKP+4ZmZCJcG7/Qy9H6aS4svQdgaRA9S1QVNWFYhSQ=";
   };
 
   nativeBuildInputs = [
@@ -53,64 +47,54 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [
-    # Tests that want to download FATE data
-    # https://github.com/PyAV-Org/PyAV/issues/955
-    "--deselect=tests/test_audiofifo.py::TestAudioFifo::test_data"
-    "--deselect=tests/test_codec_context.py::TestCodecContext::test_codec_tag"
-    "--deselect=tests/test_codec_context.py::TestCodecContext::test_parse"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_aac"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_dnxhd"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_dvvideo"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_h264"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_mjpeg"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_mp2"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_mpeg1video"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_mpeg4"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_pcm_s24le"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_png"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_tiff"
-    "--deselect=tests/test_codec_context.py::TestEncoding::test_encoding_xvid"
-    "--deselect=tests/test_decode.py::TestDecode::test_decode_audio_sample_count"
-    "--deselect=tests/test_decode.py::TestDecode::test_decoded_motion_vectors"
-    "--deselect=tests/test_decode.py::TestDecode::test_decoded_motion_vectors_no_flag"
-    "--deselect=tests/test_decode.py::TestDecode::test_decoded_time_base"
-    "--deselect=tests/test_decode.py::TestDecode::test_decoded_video_frame_count"
-    "--deselect=tests/test_encode.py::TestBasicAudioEncoding::test_transcode"
-    "--deselect=tests/test_file_probing.py::TestAudioProbe::test_container_probing"
-    "--deselect=tests/test_file_probing.py::TestAudioProbe::test_stream_probing"
-    "--deselect=tests/test_file_probing.py::TestDataProbe::test_container_probing"
-    "--deselect=tests/test_file_probing.py::TestDataProbe::test_stream_probing"
-    "--deselect=tests/test_file_probing.py::TestSubtitleProbe::test_container_probing"
-    "--deselect=tests/test_file_probing.py::TestSubtitleProbe::test_stream_probing"
-    "--deselect=tests/test_file_probing.py::TestVideoProbe::test_container_probing"
-    "--deselect=tests/test_file_probing.py::TestVideoProbe::test_stream_probing"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_buffer"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_buffer_no_see"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_file"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_pipe_readonly"
-    "--deselect=tests/test_python_io.py::TestPythonIO::test_reading_from_write_readonl"
-    "--deselect=tests/test_seek.py::TestSeek::test_decode_half"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_end"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_float"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_int64"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_middle"
-    "--deselect=tests/test_seek.py::TestSeek::test_seek_start"
-    "--deselect=tests/test_seek.py::TestSeek::test_stream_seek"
-    "--deselect=tests/test_streams.py::TestStreams::test_selection"
-    "--deselect=tests/test_streams.py::TestStreams::test_stream_tuples"
-    "--deselect=tests/test_subtitles.py::TestSubtitle::test_movtext"
-    "--deselect=tests/test_subtitles.py::TestSubtitle::test_vobsub"
-    "--deselect=tests/test_videoframe.py::TestVideoFrameImage::test_roundtrip"
-  ] ++ lib.optionals (stdenv.isDarwin) [
-    # Segmentation Faults
-    "--deselect=tests/test_encode.py::TestBasicVideoEncoding::test_encoding_with_pts"
-    "--deselect=tests/test_pyav.py::test_bayer_write"
-  ];
-
   disabledTests = [
     # urlopen fails during DNS resolution
     "test_writing_to_custom_io"
+    "test_decode_close_then_use"
+    # Tests that want to download FATE data, https://github.com/PyAV-Org/PyAV/issues/955
+    "test_vobsub"
+    "test_transcode"
+    "test_stream_tuples"
+    "test_stream_seek"
+    "test_stream_probing"
+    "test_seek_start"
+    "test_seek_middle"
+    "test_seek_int64"
+    "test_seek_float"
+    "test_seek_end"
+    "test_roundtrip"
+    "test_reading_from_write_readonl"
+    "test_reading_from_pipe_readonly"
+    "test_reading_from_file"
+    "test_reading_from_buffer"
+    "test_reading_from_buffer_no_see"
+    "test_parse"
+    "test_movtext"
+    "test_encoding_xvid"
+    "test_encoding_tiff"
+    "test_encoding_png"
+    "test_encoding_pcm_s24le"
+    "test_encoding_mpeg4"
+    "test_encoding_mpeg1video"
+    "test_encoding_mp2"
+    "test_encoding_mjpeg"
+    "test_encoding_h264"
+    "test_encoding_dvvideo"
+    "test_encoding_dnxhd"
+    "test_encoding_aac"
+    "test_decoded_video_frame_count"
+    "test_decoded_time_base"
+    "test_decoded_motion_vectors"
+    "test_decode_half"
+    "test_decode_audio_sample_count"
+    "test_data"
+    "test_container_probing"
+    "test_codec_tag"
+    "test_selection"
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    # Segmentation Faults
+    "test_encoding_with_pts"
+    "test_bayer_write"
   ];
 
   disabledTestPaths = [
@@ -148,6 +132,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Pythonic bindings for FFmpeg/Libav";
     homepage = "https://github.com/mikeboers/PyAV/";
+    changelog = "https://github.com/PyAV-Org/PyAV/blob/v${version}/CHANGELOG.rst";
     license = licenses.bsd2;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/axisregistry/default.nix b/pkgs/development/python-modules/axisregistry/default.nix
new file mode 100644
index 0000000000000..5fba9f0f02dc9
--- /dev/null
+++ b/pkgs/development/python-modules/axisregistry/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, protobuf
+, pythonRelaxDepsHook
+, pytestCheckHook
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "axisregistry";
+  version = "0.4.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-elQUcl6Zh/3xXLduFKbiXZ6uQsDE8C6M3QnTEwaJlaA=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+    protobuf
+  ];
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  # Relax the dependency on protobuf 3. Other packages in the Google Fonts
+  # ecosystem have begun upgrading from protobuf 3 to protobuf 4,
+  # so we need to use protobuf 4 here as well to avoid a conflict
+  # in the closure of fontbakery. It seems to be compatible enough.
+  pythonRelaxDeps = [ "protobuf" ];
+
+  meta = with lib; {
+    description = "Google Fonts registry of OpenType variation axis tags";
+    homepage = "https://github.com/googlefonts/axisregistry";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-identity/default.nix b/pkgs/development/python-modules/azure-identity/default.nix
index 624ce81e5bcaf..add836eee03f4 100644
--- a/pkgs/development/python-modules/azure-identity/default.nix
+++ b/pkgs/development/python-modules/azure-identity/default.nix
@@ -1,11 +1,11 @@
 { lib
-, azure-common
-, azure-mgmt-core
 , buildPythonPackage
 , fetchPypi
-, isodate
-, msal
 , pythonOlder
+, azure-core
+, cryptography
+, msal
+, msal-extensions
 }:
 
 buildPythonPackage rec {
@@ -21,10 +21,10 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    azure-common
-    azure-mgmt-core
-    isodate
+    azure-core
+    cryptography
     msal
+    msal-extensions
   ];
 
   pythonImportsCheck = [
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Microsoft Azure Identity Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
-    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_${version}/sdk/keyvault/azure-mgmt-keyvault/CHANGELOG.md";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_${version}/sdk/identity/azure-identity/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ kamadorueda ];
   };
diff --git a/pkgs/development/python-modules/babelfont/default.nix b/pkgs/development/python-modules/babelfont/default.nix
new file mode 100644
index 0000000000000..4cd3e809a8903
--- /dev/null
+++ b/pkgs/development/python-modules/babelfont/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cu2qu
+, defcon
+, fontfeatures
+, fonttools
+, glyphslib
+, openstep-plist
+, orjson
+, poetry-core
+, pytestCheckHook
+, ufoLib2
+}:
+
+buildPythonPackage rec {
+  pname = "babelfont";
+  version = "3.0.1";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "simoncozens";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-1DHcJDVaCgIAODyf5UUrXej8x3ySD4+6/KtxuF2yFV4=";
+  };
+
+  pyproject = true;
+
+  propagatedBuildInputs = [
+    cu2qu
+    fontfeatures
+    fonttools
+    glyphslib
+    openstep-plist
+    orjson
+    ufoLib2
+  ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    defcon
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library to load, examine, and save fonts in a variety of formats";
+    homepage = "https://github.com/simoncozens/babelfont";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/betterproto/default.nix b/pkgs/development/python-modules/betterproto/default.nix
index 6de1933fca8d3..f17fabec994f3 100644
--- a/pkgs/development/python-modules/betterproto/default.nix
+++ b/pkgs/development/python-modules/betterproto/default.nix
@@ -9,6 +9,7 @@
 , jinja2
 , isort
 , python
+, pydantic
 , pytestCheckHook
 , pytest-asyncio
 , pytest-mock
@@ -18,15 +19,15 @@
 
 buildPythonPackage rec {
   pname = "betterproto";
-  version = "2.0.0b5";
+  version = "2.0.0b6";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "danielgtaylor";
     repo = "python-betterproto";
-    rev = "v${version}";
-    hash = "sha256-XyXdpo3Yo4aO1favMWC7i9utz4fNDbKbsnYXJW0b7Gc=";
+    rev = "v.${version}";
+    hash = "sha256-ZuVq4WERXsRFUPNNTNp/eisWX1MyI7UtwqEI8X93wYI=";
   };
 
   nativeBuildInputs = [ poetry-core ];
@@ -45,6 +46,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "betterproto" ];
 
   nativeCheckInputs = [
+    pydantic
     pytestCheckHook
     pytest-asyncio
     pytest-mock
@@ -56,6 +58,7 @@ buildPythonPackage rec {
   # the protoc-gen-python_betterproto script from the package to be on PATH.
   preCheck = ''
     export PATH=$PATH:$out/bin
+    patchShebangs src/betterproto/plugin/main.py
     ${python.interpreter} -m tests.generate
   '';
 
diff --git a/pkgs/development/python-modules/beziers/default.nix b/pkgs/development/python-modules/beziers/default.nix
new file mode 100644
index 0000000000000..0bfb5eeb29ee7
--- /dev/null
+++ b/pkgs/development/python-modules/beziers/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, dotmap
+, matplotlib
+, pyclipper
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "beziers";
+  version = "0.5.0";
+
+  # PyPI doesn't have a proper source tarball, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "simoncozens";
+    repo = "beziers.py";
+    rev = "v${version}";
+    hash = "sha256-4014u7s47Tfdpa2Q9hKAoHg7Ebcs1/DVW5TpEmoh2bc=";
+  };
+
+  propagatedBuildInputs = [
+    pyclipper
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    dotmap
+    matplotlib
+    unittestCheckHook
+  ];
+  unittestFlagsArray = [ "-s" "test" "-v" ];
+
+  meta = with lib; {
+    description = "Python library for manipulating Bezier curves and paths in fonts";
+    homepage = "https://github.com/simoncozens/beziers.py";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/collidoscope/default.nix b/pkgs/development/python-modules/collidoscope/default.nix
new file mode 100644
index 0000000000000..1398043f6b1ca
--- /dev/null
+++ b/pkgs/development/python-modules/collidoscope/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, babelfont
+, kurbopy
+, fonttools
+, skia-pathops
+, tqdm
+, uharfbuzz
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "collidoscope";
+  version = "0.6.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-D7MzJ8FZjA/NSXCqCJQ9a02FPPi3t4W0q65wRIDcfSA=";
+  };
+
+  propagatedBuildInputs = [
+    babelfont
+    kurbopy
+    fonttools
+    skia-pathops
+    tqdm
+    uharfbuzz
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+  unittestFlagsArray = [ "-s" "test" "-v" ];
+
+  meta = with lib; {
+    description = "Python library to detect glyph collisions in fonts";
+    homepage = "https://github.com/googlefonts/collidoscope";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/commandlines/default.nix b/pkgs/development/python-modules/commandlines/default.nix
new file mode 100644
index 0000000000000..70e37055c4dd0
--- /dev/null
+++ b/pkgs/development/python-modules/commandlines/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "commandlines";
+  version = "0.4.1";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "chrissimpkins";
+    repo = "commandlines";
+    rev = "v${version}";
+    hash = "sha256-x3iUeOTAaTKNW5Y5foMPMJcWVxu52uYZoY3Hhe3UvQ4=";
+  };
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library for command line argument parsing";
+    homepage = "https://github.com/chrissimpkins/commandlines";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/configupdater/default.nix b/pkgs/development/python-modules/configupdater/default.nix
index 2a502963c2608..6016a63fbe3df 100644
--- a/pkgs/development/python-modules/configupdater/default.nix
+++ b/pkgs/development/python-modules/configupdater/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "configupdater";
-  version = "3.1.1";
+  version = "3.2";
 
   src = fetchPypi {
     inherit version;
     pname = "ConfigUpdater";
-    hash = "sha256-RvDHTXPvpyN3Z2S0PJc59oBSSV3T1zQxnB0OtYUR8Vs=";
+    hash = "sha256-n9rFODHBsGKSm/OYtkm4fKMOfxpzXz+/SCBygEEGMGs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/cx-freeze/default.nix b/pkgs/development/python-modules/cx-freeze/default.nix
index e8b27794ae466..ef2dd6073da0d 100644
--- a/pkgs/development/python-modules/cx-freeze/default.nix
+++ b/pkgs/development/python-modules/cx-freeze/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "cx-freeze";
-  version = "6.15.10";
+  version = "6.15.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "cx_Freeze";
     inherit version;
-    hash = "sha256-Bc0md1lpL1EYYdIoYNNeKgW/v3OPliwVdhi7jHcdIyA=";
+    hash = "sha256-xf5Ez5eC+qXAaMoc1d6RPv4PmY1ry82oQ9aGod+W7lY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dask-glm/default.nix b/pkgs/development/python-modules/dask-glm/default.nix
index 4e0357ddd8233..dd5cfe0d29811 100644
--- a/pkgs/development/python-modules/dask-glm/default.nix
+++ b/pkgs/development/python-modules/dask-glm/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "dask-glm";
-  version = "0.3.0";
+  version = "0.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ddaYNBUlvsMzrku7fKrlozRmjshVbQ9yrYIlaRBQCp4=";
+    hash = "sha256-yUelZoZmmKAdeZeK5zIzy16DitXq1ghRQ1gsXpMLmko=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dehinter/default.nix b/pkgs/development/python-modules/dehinter/default.nix
new file mode 100644
index 0000000000000..30eae79427654
--- /dev/null
+++ b/pkgs/development/python-modules/dehinter/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fonttools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "dehinter";
+  version = "4.0.0";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "source-foundry";
+    repo = "dehinter";
+    rev = "v${version}";
+    hash = "sha256-l988SW6OWKXzJK0WGAJZR/QDFvgnSir+5TwMMvFcOxg=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Utility for removing hinting data from TrueType and OpenType fonts";
+    homepage = "https://github.com/source-foundry/dehinter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/downloader-cli/default.nix b/pkgs/development/python-modules/downloader-cli/default.nix
index 40cfd888a5d41..e6334daff641e 100644
--- a/pkgs/development/python-modules/downloader-cli/default.nix
+++ b/pkgs/development/python-modules/downloader-cli/default.nix
@@ -7,16 +7,16 @@
 
 buildPythonPackage rec {
   pname = "downloader-cli";
-  version = "0.3.3";
+  version = "0.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "deepjyoti30";
-    repo = pname;
-    rev = version;
-    hash = "sha256-Dl5XIvdZInz+edL9uQv7V6Kc6FB+7hFAGe/nybnqvQU=";
+    repo = "downloader-cli";
+    rev = "refs/tags/${version}";
+    hash = "sha256-E2K3n9qCQofm4gXu1l7/0iMoJsniuzhsBUplr4aZ39s=";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Downloader with an awesome customizable progressbar";
     homepage = "https://github.com/deepjyoti30/downloader-cli";
+    changelog = "https://github.com/deepjyoti30/downloader-cli/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ j0hax ];
   };
diff --git a/pkgs/development/python-modules/duecredit/default.nix b/pkgs/development/python-modules/duecredit/default.nix
index 053fd6504e416..1e24f91129208 100644
--- a/pkgs/development/python-modules/duecredit/default.nix
+++ b/pkgs/development/python-modules/duecredit/default.nix
@@ -7,23 +7,22 @@
 , vcrpy
 , citeproc-py
 , requests
-, six
 }:
 
 buildPythonPackage rec {
   pname = "duecredit";
-  version = "0.9.2";
+  version = "0.9.3";
   pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Dg/Yfp5GzmyUMI6feAwgP+g22JYoQE+L9a+Wp0V77Rw=";
+    hash = "sha256-+DeOqQ0R+XUlkuSHySFj2oDZqf85mT64PAi/LtTso3I=";
   };
 
   nativeBuildInputs = [ setuptools ];
-  propagatedBuildInputs = [ citeproc-py requests six ];
+  propagatedBuildInputs = [ citeproc-py requests ];
 
   nativeCheckInputs = [ pytestCheckHook vcrpy ];
   disabledTests = [ "test_import_doi" ];  # tries to access network
diff --git a/pkgs/development/python-modules/dvc-objects/default.nix b/pkgs/development/python-modules/dvc-objects/default.nix
index db3e1a27bf687..041d2b1a3db17 100644
--- a/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/pkgs/development/python-modules/dvc-objects/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-objects";
-  version = "1.3.0";
+  version = "1.3.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-mqFrXwXMvndXb9oUVwu2IOG7Ltti6AT9acsQx/gdRSs=";
+    hash = "sha256-30UnTbEHpGSgSGnhml7pXtPDivH9+NO7nvK4jEmRRUA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/empy/default.nix b/pkgs/development/python-modules/empy/default.nix
index 544506efb0d44..22f2830a447ed 100644
--- a/pkgs/development/python-modules/empy/default.nix
+++ b/pkgs/development/python-modules/empy/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "empy";
-  version = "3.3.4";
+  version = "4.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c6xJeFtgFHnfTqGKfHm8EwSop8NMArlHLPEgauiPAbM=";
+    sha256 = "sha256-JNmmKyN+G1+c7Lqw6Ta/9zVAJS0R6sb95/62OxSHuOM=";
   };
   pythonImportsCheck = [ "em" ];
   meta = with lib; {
diff --git a/pkgs/development/python-modules/es-client/default.nix b/pkgs/development/python-modules/es-client/default.nix
index e0a88d607c5b4..7c72732f7499b 100644
--- a/pkgs/development/python-modules/es-client/default.nix
+++ b/pkgs/development/python-modules/es-client/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "es-client";
-  version = "8.10.3";
+  version = "8.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "untergeek";
     repo = "es_client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EvE40HLNKYl38PZ2bShAhFCsX3DMYsMmusUTcAql9b4=";
+    hash = "sha256-VsHpWe37/CZvGm3PqVq4mJCBA9juvOD9FLmDeW8OjiM=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/python-modules/fake-useragent/default.nix b/pkgs/development/python-modules/fake-useragent/default.nix
index 50c4f5e968378..0cdcd90cbe87e 100644
--- a/pkgs/development/python-modules/fake-useragent/default.nix
+++ b/pkgs/development/python-modules/fake-useragent/default.nix
@@ -10,8 +10,8 @@
 
 buildPythonPackage rec {
   pname = "fake-useragent";
-  version = "1.3.0";
-  format = "pyproject";
+  version = "1.4.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-erGX52ipM0scn3snICf6ipjgVbV8/H5xT4GP3AtvOwo=";
+    hash = "sha256-Jmzq0yIM373bg2T6t0YFymBiH9vSpiCw+UAMfxsMJvY=";
   };
 
   postPatch = ''
@@ -41,6 +41,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "fake_useragent"
+  ];
+
   meta = with lib; {
     description = "Up to date simple useragent faker with real world database";
     homepage = "https://github.com/hellysmile/fake-useragent";
diff --git a/pkgs/development/python-modules/farm-haystack/default.nix b/pkgs/development/python-modules/farm-haystack/default.nix
index afee9c60f8945..0e4b29f16054e 100644
--- a/pkgs/development/python-modules/farm-haystack/default.nix
+++ b/pkgs/development/python-modules/farm-haystack/default.nix
@@ -91,14 +91,14 @@
 
 buildPythonPackage rec {
   pname = "farm-haystack";
-  version = "1.22.0";
+  version = "1.22.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "deepset-ai";
     repo = "haystack";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0tRgZqySM9vPhs5lar89Gz/G7/YgRuFZosgTdKuGBH0=";
+    hash = "sha256-zzDcGfyBI4wcny8Bw893zOuAFYgz4tUY8QbwlGfQQ7o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/flake8-bugbear/default.nix b/pkgs/development/python-modules/flake8-bugbear/default.nix
index f2455cf2161f0..6cf0cd7097abf 100644
--- a/pkgs/development/python-modules/flake8-bugbear/default.nix
+++ b/pkgs/development/python-modules/flake8-bugbear/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "flake8-bugbear";
-  version = "23.9.16";
+  version = "23.11.28";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-fGrefEoyEgJE3danv9hG+Os79ixPzurEzLc3Dnj2M3k=";
+    hash = "sha256-9mVCJZmjYECi62wYRmyipAl3B1wqyDU/nTSNcA7oc04=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch b/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch
new file mode 100644
index 0000000000000..c12c85e0de254
--- /dev/null
+++ b/pkgs/development/python-modules/flask-seasurf/0001-Fix-with-new-dependency-versions.patch
@@ -0,0 +1,257 @@
+From 001549503eed364d4baaa5804242f67c6236f6c2 Mon Sep 17 00:00:00 2001
+From: Flakebi <flakebi@t-online.de>
+Date: Sat, 2 Dec 2023 16:55:05 +0100
+Subject: [PATCH] Fix with new dependency versions
+
+- cookie_jar is private in werkzeug 2.3, so recreate the client instead
+- set_cookie does not take a hostname argument anymore, use domain instead
+- Headers need to specify a content type
+---
+ test_seasurf.py | 63 ++++++++++++++++++++++++-------------------------
+ 1 file changed, 31 insertions(+), 32 deletions(-)
+
+diff --git a/test_seasurf.py b/test_seasurf.py
+index 517b2d7..501f82d 100644
+--- a/test_seasurf.py
++++ b/test_seasurf.py
+@@ -71,18 +71,18 @@ class SeaSurfTestCase(BaseTestCase):
+         self.assertEqual(type(token), str)
+ 
+     def test_exempt_view(self):
+-        rv = self.app.test_client().post('/foo')
++        rv = self.app.test_client().post('/foo', content_type='application/json')
+         self.assertIn(b('bar'), rv.data)
+ 
+-        rv = self.app.test_client().post(u'/foo/\xf8')
++        rv = self.app.test_client().post(u'/foo/\xf8', content_type='application/json')
+         self.assertIn(b('bar'), rv.data)
+ 
+     def test_token_validation(self):
+         # should produce a logger warning
+-        rv = self.app.test_client().post('/bar')
++        rv = self.app.test_client().post('/bar', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+-        rv = self.app.test_client().post(u'/bar/\xf8')
++        rv = self.app.test_client().post(u'/bar/\xf8', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+     def test_json_token_validation_bad(self):
+@@ -107,7 +107,7 @@ class SeaSurfTestCase(BaseTestCase):
+         data = {'_csrf_token': token}
+         with self.app.test_client() as client:
+             with client.session_transaction() as sess:
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             rv = client.post('/bar', data=data)
+@@ -121,7 +121,7 @@ class SeaSurfTestCase(BaseTestCase):
+             with client.session_transaction() as sess:
+                 token = self.csrf._generate_token()
+ 
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             # once this is reached the session was stored
+@@ -144,7 +144,7 @@ class SeaSurfTestCase(BaseTestCase):
+             with client.session_transaction() as sess:
+                 token = self.csrf._generate_token()
+ 
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             # once this is reached the session was stored
+@@ -167,7 +167,7 @@ class SeaSurfTestCase(BaseTestCase):
+             with client.session_transaction() as sess:
+                 token = self.csrf._generate_token()
+ 
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             rv = client.post('/bar',
+@@ -187,10 +187,10 @@ class SeaSurfTestCase(BaseTestCase):
+                 self.csrf._csrf_header_name: token,
+             }
+ 
+-            rv = client.post('/bar', headers=headers)
++            rv = client.post('/bar', headers=headers, content_type='application/json')
+             self.assertEqual(rv.status_code, 200, rv)
+ 
+-            rv = client.post(u'/bar/\xf8', headers=headers)
++            rv = client.post(u'/bar/\xf8', headers=headers, content_type='application/json')
+             self.assertEqual(rv.status_code, 200, rv)
+ 
+     def test_token_in_form_data(self):
+@@ -280,14 +280,14 @@ class SeaSurfTestCaseExemptViews(BaseTestCase):
+ 
+     def test_exempt_view(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/foo')
++            rv = c.post('/foo', content_type='application/json')
+             self.assertIn(b('bar'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             self.assertEqual(cookie, None)
+ 
+     def test_token_validation(self):
+         # should produce a logger warning
+-        rv = self.app.test_client().post('/bar')
++        rv = self.app.test_client().post('/bar', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+ 
+@@ -319,18 +319,18 @@ class SeaSurfTestCaseIncludeViews(BaseTestCase):
+             return 'foo'
+ 
+     def test_include_view(self):
+-        rv = self.app.test_client().post('/foo')
++        rv = self.app.test_client().post('/foo', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+-        rv = self.app.test_client().post(u'/foo/\xf8')
++        rv = self.app.test_client().post(u'/foo/\xf8', content_type='application/json')
+         self.assertIn(b('403 Forbidden'), rv.data)
+ 
+     def test_token_validation(self):
+         # should produce a logger warning
+-        rv = self.app.test_client().post('/bar')
++        rv = self.app.test_client().post('/bar', content_type='application/json')
+         self.assertIn(b('foo'), rv.data)
+ 
+-        rv = self.app.test_client().post(u'/bar/\xf8')
++        rv = self.app.test_client().post(u'/bar/\xf8', content_type='application/json')
+         self.assertIn(b('foo'), rv.data)
+ 
+ 
+@@ -363,10 +363,10 @@ class SeaSurfTestCaseExemptUrls(BaseTestCase):
+             return 'foo'
+ 
+     def test_exempt_view(self):
+-        rv = self.app.test_client().post('/foo/baz')
++        rv = self.app.test_client().post('/foo/baz', content_type='application/json')
+         self.assertIn(b('bar'), rv.data)
+         with self.app.test_client() as c:
+-            rv = c.post('/foo/quz')
++            rv = c.post('/foo/quz', content_type='application/json')
+             self.assertIn(b('bar'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             self.assertEqual(cookie, None)
+@@ -374,7 +374,7 @@ class SeaSurfTestCaseExemptUrls(BaseTestCase):
+     def test_token_validation(self):
+         with self.app.test_client() as c:
+             # should produce a logger warning
+-            rv = c.post('/bar')
++            rv = c.post('/bar', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+@@ -434,7 +434,7 @@ class SeaSurfTestCaseDisableCookie(unittest.TestCase):
+ 
+     def test_no_csrf_cookie_even_after_manually_validated(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/manual')
++            rv = c.post('/manual', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             self.assertEqual(cookie, None)
+@@ -474,14 +474,14 @@ class SeaSurfTestCaseEnableCookie(unittest.TestCase):
+ 
+     def test_has_csrf_cookie(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/exempt_with_cookie')
++            rv = c.post('/exempt_with_cookie', content_type='application/json')
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+             self.assertEqual(cookie, token)
+ 
+     def test_has_csrf_cookie_but_doesnt_validate(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/exempt_with_cookie')
++            rv = c.post('/exempt_with_cookie', content_type='application/json')
+             self.assertIn(b('exempt_with_cookie'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+@@ -530,7 +530,7 @@ class SeaSurfTestCaseSkipValidation(unittest.TestCase):
+ 
+     def test_skips_validation(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/foo/quz')
++            rv = c.post('/foo/quz', content_type='application/json')
+             self.assertIn(b('bar'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+@@ -538,20 +538,20 @@ class SeaSurfTestCaseSkipValidation(unittest.TestCase):
+ 
+     def test_enforces_validation_reject(self):
+         with self.app.test_client() as c:
+-            rv = c.delete('/foo/baz')
++            rv = c.delete('/foo/baz', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+ 
+     def test_enforces_validation_accept(self):
+         with self.app.test_client() as c:
+             # GET generates CSRF token
+             c.get('/foo/baz')
+-            rv = c.delete('/foo/baz',
++            rv = c.delete('/foo/baz', content_type='application/json',
+                           headers={'X-CSRFToken': self.csrf._get_token()})
+             self.assertIn(b('bar'), rv.data)
+ 
+     def test_manual_validation(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/manual')
++            rv = c.post('/manual', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+ 
+ 
+@@ -578,7 +578,7 @@ class SeaSurfTestManualValidation(unittest.TestCase):
+ 
+     def test_can_manually_validate_exempt_views(self):
+         with self.app.test_client() as c:
+-            rv = c.post('/manual')
++            rv = c.post('/manual', content_type='application/json')
+             self.assertIn(b('403 Forbidden'), rv.data)
+             cookie = get_cookie(rv, self.csrf._csrf_name)
+             token = self.csrf._get_token()
+@@ -651,7 +651,7 @@ class SeaSurfTestCaseReferer(BaseTestCase):
+             with client.session_transaction() as sess:
+                 token = self.csrf._generate_token()
+ 
+-                client.set_cookie('www.example.com', self.csrf._csrf_name, token)
++                client.set_cookie(self.csrf._csrf_name, token, domain='www.example.com')
+                 sess[self.csrf._csrf_name] = token
+ 
+             # once this is reached the session was stored
+@@ -728,8 +728,7 @@ class SeaSurfTestCaseSetCookie(BaseTestCase):
+                           res3.headers.get('Set-Cookie', ''),
+                           'CSRF cookie always be re-set if a token is requested by the template')
+ 
+-            client.cookie_jar.clear()
+-
++        with self.app.test_client() as client:
+             res4 = client.get('/foo')
+ 
+             self.assertIn(self.csrf._csrf_name,
+@@ -739,14 +738,14 @@ class SeaSurfTestCaseSetCookie(BaseTestCase):
+     def test_header_set_on_post(self):
+         with self.app.test_client() as client:
+             headers = {}
+-            res1 = client.post('/bar', headers=headers)
++            res1 = client.post('/bar', headers=headers, content_type='application/json')
+             self.assertEqual(res1.status_code, 403)
+ 
+             for cookie in client.cookie_jar:
+                 if cookie.name == self.csrf._csrf_name:
+                     headers[self.csrf._csrf_header_name] = cookie.value
+ 
+-            res2 = client.post('/bar', headers=headers)
++            res2 = client.post('/bar', headers=headers, content_type='application/json')
+             self.assertEqual(res2.status_code, 200)
+ 
+     def test_header_set_cookie_samesite(self):
+-- 
+2.42.0
+
diff --git a/pkgs/development/python-modules/flask-seasurf/default.nix b/pkgs/development/python-modules/flask-seasurf/default.nix
index 79d024f5b34f0..26dd2d7f5e085 100644
--- a/pkgs/development/python-modules/flask-seasurf/default.nix
+++ b/pkgs/development/python-modules/flask-seasurf/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, buildPythonPackage, isPy3k, flask, mock, unittestCheckHook }:
+{ lib, fetchFromGitHub, fetchpatch, buildPythonPackage, isPy3k, flask, mock, unittestCheckHook }:
 
 buildPythonPackage rec {
   pname = "Flask-SeaSurf";
@@ -12,6 +12,20 @@ buildPythonPackage rec {
     hash = "sha256-L/ZUEqqHmsyXG5eShcITII36ttwQlZN5GBngo+GcCdw=";
   };
 
+  patches = [
+    # Remove usage of deprecated flask._app_ctx_stack
+    (fetchpatch {
+      url = "https://github.com/maxcountryman/flask-seasurf/commit/9039764a4e44aeb1acb6ae7747deb438bee0826b.patch";
+      hash = "sha256-bVYzJN6MXzH3fNMknd2bh+04JlPJRkU0cLcWv+Rigqc=";
+    })
+    ./0001-Fix-with-new-dependency-versions.patch
+  ];
+
+  postPatch = ''
+    # Disable some tests, pytest is not supported
+    sed -i "s#\(\(test_header_set_on_post\|test_https_good_referer\|test_https_referer_check_disabled\)(self):\)#\1\n        return#g" test_seasurf.py
+  '';
+
   propagatedBuildInputs = [ flask ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/font-v/default.nix b/pkgs/development/python-modules/font-v/default.nix
new file mode 100644
index 0000000000000..8a43dd52adea8
--- /dev/null
+++ b/pkgs/development/python-modules/font-v/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fonttools
+, git
+, gitpython
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "font-v";
+  version = "2.1.0";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "source-foundry";
+    repo = "font-v";
+    rev = "v${version}";
+    hash = "sha256-ceASyYcNul5aWPAPGajCQrqsQ3bN1sE+nMbCbj7f35w=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+    gitpython
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    git
+    pytestCheckHook
+  ];
+  preCheck = ''
+    # Many tests assume they are running from a git checkout, although they
+    # don't care which one. Create a dummy git repo to satisfy the tests:
+    git init -b main
+    git config user.email test@example.invalid
+    git config user.name Test
+    git commit --allow-empty --message 'Dummy commit for tests'
+  '';
+  disabledTests = [
+    # These tests assume they are actually running from a font-v git checkout,
+    # so just skip them:
+    "test_utilities_get_gitrootpath_function"
+  ];
+
+  meta = with lib; {
+    description = "Python utility for manipulating font version headers";
+    homepage = "https://github.com/source-foundry/font-v";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/fontbakery/default.nix b/pkgs/development/python-modules/fontbakery/default.nix
new file mode 100644
index 0000000000000..b824ca990b8a6
--- /dev/null
+++ b/pkgs/development/python-modules/fontbakery/default.nix
@@ -0,0 +1,146 @@
+{ lib
+, buildPythonPackage
+, callPackage
+, fetchpatch
+, fetchPypi
+, axisregistry
+, babelfont
+, beautifulsoup4
+, beziers
+, cmarkgfm
+, collidoscope
+, defcon
+, dehinter
+, fonttools
+, font-v
+, freetype-py
+, gflanguages
+, git
+, glyphsets
+, lxml
+, installShellFiles
+, munkres
+, opentypespec
+, ots-python
+, packaging
+, pip-api
+, protobuf
+, pytestCheckHook
+, pytest-xdist
+, pythonRelaxDepsHook
+, pyyaml
+, requests
+, requests-mock
+, rich
+, setuptools-scm
+, shaperglot
+, stringbrewer
+, toml
+, unicodedata2
+, ufo2ft
+, ufolint
+, vharfbuzz
+}:
+
+buildPythonPackage rec {
+  pname = "fontbakery";
+  version = "0.10.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Ye/TMGvURxSU2yoohwYbSo5RvrmbHKdMnFNj2lUvtMk=";
+  };
+
+  patches = [
+    # Mock HTTP requests in tests (note we still have to skip some below)
+    # https://github.com/googlefonts/fontbakery/pull/4124
+    (fetchpatch {
+      url = "https://github.com/fonttools/fontbakery/pull/4124.patch";
+      hash = "sha256-NXuC2+TtxpHYMdd0t+cF0FJ3lrh4exP5yxspEasKKd0=";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    axisregistry
+    babelfont
+    beautifulsoup4
+    beziers
+    cmarkgfm
+    collidoscope
+    defcon
+    dehinter
+    fonttools
+    font-v
+    freetype-py
+    gflanguages
+    glyphsets
+    lxml
+    munkres
+    ots-python
+    opentypespec
+    packaging
+    pip-api
+    protobuf
+    pyyaml
+    requests
+    rich
+    shaperglot
+    stringbrewer
+    toml
+    ufolint
+    unicodedata2
+    vharfbuzz
+    ufo2ft
+  ];
+  nativeBuildInputs = [
+    installShellFiles
+    pythonRelaxDepsHook
+    setuptools-scm
+  ];
+
+  pythonRelaxDeps = [
+    "collidoscope"
+    "protobuf"
+    "vharfbuzz"
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    git
+    pytestCheckHook
+    pytest-xdist
+    requests-mock
+    ufolint
+  ];
+  preCheck = ''
+    # Let the tests invoke 'fontbakery' command.
+    export PATH="$out/bin:$PATH"
+    # font-v tests assume they are running from a git checkout, although they
+    # don't care which one. Create a dummy git repo to satisfy the tests:
+    git init -b main
+    git config user.email test@example.invalid
+    git config user.name Test
+    git commit --allow-empty --message 'Dummy commit for tests'
+  '';
+  disabledTests = [
+    # These require network access:
+    "test_check_vertical_metrics_regressions"
+    "test_check_cjk_vertical_metrics_regressions"
+    "test_check_fontbakery_version_live_apis"
+  ];
+
+  postInstall = ''
+    installShellCompletion --bash --name fontbakery \
+      snippets/fontbakery.bash-completion
+  '';
+
+  passthru.tests.simple = callPackage ./tests.nix { };
+
+  meta = with lib; {
+    description = "Tool for checking the quality of font projects";
+    homepage = "https://github.com/googlefonts/fontbakery";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/fontbakery/tests.nix b/pkgs/development/python-modules/fontbakery/tests.nix
new file mode 100644
index 0000000000000..4725b1fee3e31
--- /dev/null
+++ b/pkgs/development/python-modules/fontbakery/tests.nix
@@ -0,0 +1,22 @@
+{ runCommand
+, fontbakery
+}:
+
+let
+  inherit (fontbakery) pname version src;
+in
+
+runCommand "${pname}-tests" { meta.timeout = 5; } ''
+  # Check the version matches what we packaged.
+  ${fontbakery}/bin/fontbakery --version | grep -q "${version}"
+
+  # Can it list its own subcommands?
+  ${fontbakery}/bin/fontbakery --list-subcommands >>$out
+
+  # Unpack src to get some test fonts.
+  tar -xzf ${src} --strip-components=1 ${pname}-${version}/data/test
+
+  # Run some font checks.
+  ${fontbakery}/bin/fontbakery check-ufo-sources --no-progress --no-colors data/test/test.ufo >>$out
+  # TODO add more
+''
diff --git a/pkgs/development/python-modules/fontfeatures/default.nix b/pkgs/development/python-modules/fontfeatures/default.nix
new file mode 100644
index 0000000000000..2ea5247d38c8b
--- /dev/null
+++ b/pkgs/development/python-modules/fontfeatures/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, beziers
+, fonttools
+, fs
+, glyphtools
+, lxml
+, pytestCheckHook
+, youseedee
+}:
+
+buildPythonPackage rec {
+  pname = "fontfeatures";
+  version = "1.8.0";
+
+  src = fetchPypi {
+    pname = "fontFeatures";
+    inherit version;
+    hash = "sha256-XLJD91IyUUjeSqdhWFfIqv9yISPcbU4bgRvXETSHOiY=";
+  };
+
+  propagatedBuildInputs = [
+    beziers
+    fonttools
+    fs
+    glyphtools
+    lxml
+    youseedee
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  disabledTestPaths = [
+    # These tests require babelfont but we have to leave it out and skip them
+    # to break the cyclic dependency with babelfont.
+    "tests/test_shaping_generic.py"
+    "tests/test_shaping_harfbuzz.py"
+  ];
+
+  meta = with lib; {
+    description = "Python library for compiling OpenType font features";
+    homepage = "https://github.com/simoncozens/fontFeatures";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix
index 6bd1622fa44d4..7b746f364c982 100644
--- a/pkgs/development/python-modules/frozendict/default.nix
+++ b/pkgs/development/python-modules/frozendict/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "frozendict";
-  version = "2.3.9";
+  version = "2.3.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Marco-Sulla";
     repo = "python-frozendict";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wVsTsUK6TES6YLGZGcHcGufrdVQrODyXrqczae8iTJ0=";
+    hash = "sha256-GUpCN5CsCJGuIfdsmgZHQvByA145RLI1l7aVEueqjDM=";
   };
 
   # build C version if it exists
diff --git a/pkgs/development/python-modules/gehomesdk/default.nix b/pkgs/development/python-modules/gehomesdk/default.nix
index 7e1d88cde5085..93ef732273102 100644
--- a/pkgs/development/python-modules/gehomesdk/default.nix
+++ b/pkgs/development/python-modules/gehomesdk/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "gehomesdk";
-  version = "0.5.23";
+  version = "0.5.25";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6Xk7wAF0bZrHriSyDMnPfaPRBiVinHawj3nEqpwbUmo=";
+    hash = "sha256-VQSefwzw4zA9ycO8723kBlMbtrOJxmKgZ8tfXZmtyQc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gflanguages/default.nix b/pkgs/development/python-modules/gflanguages/default.nix
new file mode 100644
index 0000000000000..baaeeb6c9339b
--- /dev/null
+++ b/pkgs/development/python-modules/gflanguages/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, protobuf
+, setuptools-scm
+, pythonRelaxDepsHook
+, pytestCheckHook
+, uharfbuzz
+, youseedee
+}:
+
+buildPythonPackage rec {
+  pname = "gflanguages";
+  version = "0.5.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-JVeI7TlJjbKCa+gGmjylbNiEhX3qmpbLXiH3VpFqgXc=";
+  };
+
+  propagatedBuildInputs = [
+    protobuf
+  ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pythonRelaxDepsHook
+    pytestCheckHook
+    uharfbuzz
+    youseedee
+  ];
+
+  # Relax the dependency on protobuf 3. Other packages in the Google Fonts
+  # ecosystem have begun upgrading from protobuf 3 to protobuf 4,
+  # so we need to use protobuf 4 here as well to avoid a conflict
+  # in the closure of fontbakery. It seems to be compatible enough.
+  pythonRelaxDeps = [ "protobuf" ];
+
+  meta = with lib; {
+    description = "Python library for Google Fonts language metadata";
+    homepage = "https://github.com/googlefonts/lang";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/glyphsets/0001-relax-setuptools-scm-dep.patch b/pkgs/development/python-modules/glyphsets/0001-relax-setuptools-scm-dep.patch
new file mode 100644
index 0000000000000..96a4047c5cedf
--- /dev/null
+++ b/pkgs/development/python-modules/glyphsets/0001-relax-setuptools-scm-dep.patch
@@ -0,0 +1,22 @@
+From de2e02a41b11a708d58dfd1e24d335b8882dd7bd Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <djc@djc.id.au>
+Date: Sun, 23 Apr 2023 12:15:47 +1000
+Subject: [PATCH] relax setuptools-scm dep
+
+
+diff --git a/setup.py b/setup.py
+index 2c122a7..42f9b61 100644
+--- a/setup.py
++++ b/setup.py
+@@ -55,7 +55,7 @@
+         'Programming Language :: Python :: 3'
+     ],
+     python_requires=">=3.7",
+-    setup_requires=['setuptools_scm>=4,<6.1'],
++    setup_requires=['setuptools_scm'],
+     install_requires=[
+         'setuptools',
+         'FontTools[ufo]',
+-- 
+2.38.4
+
diff --git a/pkgs/development/python-modules/glyphsets/default.nix b/pkgs/development/python-modules/glyphsets/default.nix
new file mode 100644
index 0000000000000..5088deb580b09
--- /dev/null
+++ b/pkgs/development/python-modules/glyphsets/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, defcon
+, fonttools
+, glyphslib
+, pytestCheckHook
+, setuptools
+, setuptools-scm
+, unicodedata2
+}:
+
+buildPythonPackage rec {
+  pname = "glyphsets";
+  version = "0.6.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Zp4VLJ9h6lkz7KOM7LWKAj7UX1KziLobzeT9Dosv5UU=";
+  };
+
+  patches = [
+    # Upstream has a needlessly strict version range for setuptools_scm, our
+    # setuptools-scm is newer. We can't use pythonRelaxDepsHook for this
+    # because it's in setup_requires which means we'll fail the requirement
+    # before pythonRelaxDepsHook can run.
+    ./0001-relax-setuptools-scm-dep.patch
+  ];
+
+  propagatedBuildInputs = [
+    defcon
+    fonttools
+    glyphslib
+    setuptools
+    unicodedata2
+  ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  preCheck = ''
+    export PATH="$out/bin:$PATH"
+  '';
+
+  meta = with lib; {
+    description = "Google Fonts glyph set metadata";
+    homepage = "https://github.com/googlefonts/glyphsets";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/glyphslib/default.nix b/pkgs/development/python-modules/glyphslib/default.nix
index 2a0276a3c7e3a..65cbc5b3b2059 100644
--- a/pkgs/development/python-modules/glyphslib/default.nix
+++ b/pkgs/development/python-modules/glyphslib/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "glyphslib";
-  version = "6.4.1";
+  version = "6.6.0";
 
   format = "pyproject";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "googlefonts";
     repo = "glyphsLib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pDFPn1KDiZ5yw1UzPgi0+Syv3h606bsOOzLbdOiag8s=";
+    hash = "sha256-2Y7JhaZJXKERQXEI9cDCx7m95El6AicU0t+X3Gntbxk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/glyphtools/default.nix b/pkgs/development/python-modules/glyphtools/default.nix
new file mode 100644
index 0000000000000..f186863459a70
--- /dev/null
+++ b/pkgs/development/python-modules/glyphtools/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, beziers
+, glyphslib
+, numpy
+, setuptoolsCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "glyphtools";
+  version = "0.8.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-PXwXHWMJbsi6ZtN+daaXAnlw3gV5DFAhyRxdBa7UP+M=";
+  };
+
+  propagatedBuildInputs = [
+    beziers
+    glyphslib
+    numpy
+  ];
+
+  # A unit test suite does exist, but it only contains a dummy test that
+  # doesn't test anything. It does import the module though so we still run it.
+  doCheck = true;
+  nativeCheckInputs = [
+    # Upstream apparently prefers the deprecated setuptools 'test' command.
+    setuptoolsCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library for extracting information from font glyphs";
+    homepage = "https://github.com/simoncozens/glyphtools";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gptcache/default.nix b/pkgs/development/python-modules/gptcache/default.nix
index ea2c09eed4a3e..ce04d7df22737 100644
--- a/pkgs/development/python-modules/gptcache/default.nix
+++ b/pkgs/development/python-modules/gptcache/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "gptcache";
-  version = "0.1.42";
+  version = "0.1.43";
   format = "setuptools";
 
   disabled = pythonOlder "3.8.1";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "zilliztech";
     repo = "GPTCache";
     rev = "refs/tags/${version}";
-    hash = "sha256-rrPs5ZwBooltVcvrs4AHObx69xmZ8F+IP/lJGPVTNXY=";
+    hash = "sha256-EDsHzl55j4sehbKk0/be+WOl83f1/7zPLvPyzKnTBP4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-channelz/default.nix b/pkgs/development/python-modules/grpcio-channelz/default.nix
index f827c85081220..1063dfdb5d9dd 100644
--- a/pkgs/development/python-modules/grpcio-channelz/default.nix
+++ b/pkgs/development/python-modules/grpcio-channelz/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-channelz";
-  version = "1.59.2";
+  version = "1.59.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-apOnMd8EDU+ocj6fL/dkl3tqh6en/Q8H9K/lgvkqFN8=";
+    hash = "sha256-R2rk/4yQ0ldy6yZeauVtEpmmF0Jnx61NMw98y3D5kq4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-health-checking/default.nix b/pkgs/development/python-modules/grpcio-health-checking/default.nix
index 4c028e4ec71c1..f758a8bf25046 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.59.0";
+  version = "1.59.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4CIcpupsITlhQXmAi4+LMjA30LG977D8TN2agUmZVx4=";
+    hash = "sha256-AVAXzkFk/H3Ogdo6FxiksxUyMOSBss3r85JGi2E/B2Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-reflection/default.nix b/pkgs/development/python-modules/grpcio-reflection/default.nix
index cd0506870a27f..7ed24e849ccdf 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.59.2";
+  version = "1.59.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-l5bcvFnc+59tVGXVnn+mKld3o+TVqolPRIVciWpG+os=";
+    hash = "sha256-VAPFpzjG7sS7QIDad+RQMS2s5BqG4pKsN8/QB7JlfU4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gspread/default.nix b/pkgs/development/python-modules/gspread/default.nix
index f71690c877e22..0e56dd26cb8d4 100644
--- a/pkgs/development/python-modules/gspread/default.nix
+++ b/pkgs/development/python-modules/gspread/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "gspread";
-  version = "5.12.0";
+  version = "5.12.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "burnash";
     repo = "gspread";
     rev = "refs/tags/v${version}";
-    hash = "sha256-v6kpje5rw3/OfcoMWdSCZdkmETyIJ08cly8lLUt9j64=";
+    hash = "sha256-cuSR5QWURHSL1o2R4rc/m3KETz3X+78TC8LuuzZghbs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/html2image/default.nix b/pkgs/development/python-modules/html2image/default.nix
new file mode 100644
index 0000000000000..2b99f6bffeee6
--- /dev/null
+++ b/pkgs/development/python-modules/html2image/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, requests
+, websocket-client
+}:
+
+buildPythonPackage rec {
+  pname = "html2image";
+  version = "2.0.4.3";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "vgalin";
+    repo = "html2image";
+    rev = version;
+    hash = "sha256-BDl2Kibp1WOAOYNlXa2aaEgQTitk+OZu72OgytciZYI=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    requests
+    websocket-client
+  ];
+
+  pythonImportsCheck = [ "html2image" ];
+
+  meta = with lib; {
+    description = "A package acting as a wrapper around the headless mode of existing web browsers to generate images from URLs and from HTML+CSS strings or files";
+    homepage = "https://github.com/vgalin/html2image";
+    changelog = "https://github.com/vgalin/html2image/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/development/python-modules/icontract/default.nix b/pkgs/development/python-modules/icontract/default.nix
index 76e1814dddddb..e525cf89cca2e 100644
--- a/pkgs/development/python-modules/icontract/default.nix
+++ b/pkgs/development/python-modules/icontract/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "icontract";
-  version = "2.6.4";
+  version = "2.6.6";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Parquery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-zuaS9mmq47hUIBObYRuzEYQQdTArFXR3TpK9nfZt/yk=";
+    hash = "sha256-R5/FBfuTvXItfTlNZMSnO18Q+etnHbQyXFWpaOpOLes=";
   };
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/imapclient/default.nix b/pkgs/development/python-modules/imapclient/default.nix
index 58c45f9922361..6301970392ac9 100644
--- a/pkgs/development/python-modules/imapclient/default.nix
+++ b/pkgs/development/python-modules/imapclient/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imapclient";
-  version = "3.0.0";
+  version = "3.0.1";
 
   format = "setuptools";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "mjs";
     repo = "imapclient";
     rev = "refs/tags/${version}";
-    hash = "sha256-ylYGh+78I+6pdvHuQPw8Gks9TLkXQL5HQiaZDnJK3DA=";
+    hash = "sha256-WY3OLPUwixrL2NSLfNBSSNMXJEoYBL+O6KoglU3Cz9g=";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/inquirer/default.nix b/pkgs/development/python-modules/inquirer/default.nix
index 1d13d50804af0..8ca4ed136fe98 100644
--- a/pkgs/development/python-modules/inquirer/default.nix
+++ b/pkgs/development/python-modules/inquirer/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "inquirer";
-  version = "3.1.3";
+  version = "3.1.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "magmax";
     repo = "python-inquirer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7GfHsCQgnDUdiM1z9YNdDuwMNy6rLjR1UTnZMgpQ5k4=";
+    hash = "sha256-1xaxLIk4GFRpcodhBX+Co9TgpYkWhB/D4OE4Nny4ijM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/intellifire4py/default.nix b/pkgs/development/python-modules/intellifire4py/default.nix
index ff7dad6f0be0a..8c7a9f69d50e9 100644
--- a/pkgs/development/python-modules/intellifire4py/default.nix
+++ b/pkgs/development/python-modules/intellifire4py/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "intellifire4py";
-  version = "3.1.30";
+  version = "3.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "jeeftor";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CIcudKyRPVJX6QvWk6dBbYnO5EULREDhaflJTAfJEvc=";
+    hash = "sha256-lbBQbcVhozca7gYkeUFClS+5WaPaTajQMdfqDL07xdk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jaxlib/bin.nix b/pkgs/development/python-modules/jaxlib/bin.nix
index 4030bd5e4041d..d80cbc2a60183 100644
--- a/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/pkgs/development/python-modules/jaxlib/bin.nix
@@ -34,11 +34,7 @@
 
 let
   inherit (cudaPackages) cudatoolkit cudnn;
-in
-
-assert cudaSupport -> lib.versionAtLeast cudatoolkit.version "11.1" && lib.versionAtLeast cudnn.version "8.2" && stdenv.isLinux;
 
-let
   version = "0.4.20";
 
   inherit (python) pythonVersion;
@@ -213,5 +209,9 @@ buildPythonPackage {
     license = licenses.asl20;
     maintainers = with maintainers; [ samuela ];
     platforms = [ "aarch64-darwin" "x86_64-linux" "x86_64-darwin" ];
+    broken =
+      !(cudaSupport -> (cudaPackages ? cudatoolkit) && lib.versionAtLeast cudatoolkit.version "11.1")
+      || !(cudaSupport -> (cudaPackages ? cudnn) && lib.versionAtLeast cudnn.version "8.2")
+      || !(cudaSupport -> stdenv.isLinux);
   };
 }
diff --git a/pkgs/development/python-modules/jplephem/default.nix b/pkgs/development/python-modules/jplephem/default.nix
index d945d9c11c560..017d8bda66522 100644
--- a/pkgs/development/python-modules/jplephem/default.nix
+++ b/pkgs/development/python-modules/jplephem/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jplephem";
-  version = "2.20";
+  version = "2.21";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-u5htUI6kbGiTaomWiaZE21+grznJpQRCIImgA+yg4fo=";
+    hash = "sha256-NBlLYQaV8huJIXuYUrjautvOgISMs2nZVn7xLcSCjVU=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/kurbopy/default.nix b/pkgs/development/python-modules/kurbopy/default.nix
new file mode 100644
index 0000000000000..aa5e33f237577
--- /dev/null
+++ b/pkgs/development/python-modules/kurbopy/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, pytestCheckHook
+, python
+, rustPlatform
+, unzip
+}:
+
+buildPythonPackage rec {
+  pname = "kurbopy";
+  version = "0.10.40";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-dhpcDi20Na6SDbRxrC8N3SWdN1J/CWJgCUI3scJX/6s=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+  ];
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
+  ];
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-V3LeT0dqkfft1ftc+azwvuSzzdUJ7/wAp31fN7te9RQ=";
+  };
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  preCheck = ''
+    # pytestCheckHook puts . at the front of Python's sys.path, due to:
+    # https://github.com/NixOS/nixpkgs/issues/255262
+    # So we need to prevent pytest from trying to import kurbopy from
+    # ./kurbopy, which contains the sources but not the newly built module.
+    # We want it to import kurbopy from the nix store via $PYTHONPATH instead.
+    rm -r kurbopy
+  '';
+
+  meta = with lib; {
+    description = "Python wrapper around the Rust kurbo library for 2D curve manipulation";
+    homepage = "https://github.com/simoncozens/kurbopy";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/langsmith/default.nix b/pkgs/development/python-modules/langsmith/default.nix
index 3b81c6128887f..78337124ca8f5 100644
--- a/pkgs/development/python-modules/langsmith/default.nix
+++ b/pkgs/development/python-modules/langsmith/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.0.63";
+  version = "0.0.69";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KE+WMnuWAq1stZuuwZkOPOKQ2lZNKtxzNbZMRoOdmz0=";
+    hash = "sha256-LP97bGCmLw2uFcFdFcDWM7hSuki7r7T6WFHI6i3rF34=";
   };
 
   sourceRoot = "${src.name}/python";
diff --git a/pkgs/development/python-modules/latexify-py/default.nix b/pkgs/development/python-modules/latexify-py/default.nix
index f56055e55fd78..ccda72eb03d7f 100644
--- a/pkgs/development/python-modules/latexify-py/default.nix
+++ b/pkgs/development/python-modules/latexify-py/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "latexify-py";
-  version = "0.4.1";
+  version = "0.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = "latexify_py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sxXfm4zJJT+94jcSsYH7Ky3XwFOniSNxvcVUAsgz8u0=";
+    hash = "sha256-bBtAtBJfpStNYWhOJoypDI9hhE4g1ZFHBU8p6S1yCgU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/license-expression/default.nix b/pkgs/development/python-modules/license-expression/default.nix
index bd95899398f8e..71443bb0144a1 100644
--- a/pkgs/development/python-modules/license-expression/default.nix
+++ b/pkgs/development/python-modules/license-expression/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "license-expression";
-  version = "30.1.1";
-  format = "setuptools";
+  version = "30.2.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "license-expression";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5pRfFRQLxWmhEKoJZiC7gZbmW8BbqBNBWbdwFL0MtpM=";
+    hash = "sha256-vsQsHi2jdB0OiV6stm1APjQvr+238UoKgaaeXVx/isI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix
index ef70a50f70d1c..d25adcdf65c09 100644
--- a/pkgs/development/python-modules/litellm/default.nix
+++ b/pkgs/development/python-modules/litellm/default.nix
@@ -6,9 +6,16 @@
 , openai
 , python-dotenv
 , tiktoken
+, tokenizers
+, click
+, jinja2
+, certifi
+, appdirs
+, aiohttp
+, httpx
 }:
 let
-  version = "0.11.1";
+  version = "1.7.11";
 in
 buildPythonPackage rec {
   pname = "litellm";
@@ -19,7 +26,7 @@ buildPythonPackage rec {
     owner = "BerriAI";
     repo = "litellm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5Zk1lc7G0dU/AoLE5V+p30wE/gRfYRPsVS3sNgwWzCU=";
+    hash = "sha256-B2LGaA6A+pU2aDzPS2d5stY+Z8Wxq3BkXB1CLY6vBiY=";
   };
 
   postPatch = ''
@@ -31,10 +38,16 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    importlib-metadata
     openai
     python-dotenv
     tiktoken
+    importlib-metadata
+    tokenizers
+    click
+    jinja2
+    certifi
+    appdirs
+    aiohttp
   ];
 
   # the import check phase fails trying to do a network request to openai
diff --git a/pkgs/development/python-modules/luddite/default.nix b/pkgs/development/python-modules/luddite/default.nix
index 26570a1540b69..e70493e750c06 100644
--- a/pkgs/development/python-modules/luddite/default.nix
+++ b/pkgs/development/python-modules/luddite/default.nix
@@ -1,31 +1,31 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, setuptools
+, packaging
 , pytestCheckHook
-, pytest-socket
 , pytest-mock
 }:
 
 buildPythonPackage rec {
   pname = "luddite";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "jumptrading";
     repo = pname;
     rev = "v${version}";
-    sha256 = "8/7uwO5HLhyXYt+T6VUO/O7TN9+FfRlT8y0r5+CJ/l4=";
+    hash = "sha256-JXIM7/5LO95oabM16GwAt3v3a8uldGpGXDWmVic8Ins=";
   };
 
   postPatch = ''
     substituteInPlace pytest.ini \
-      --replace "--cov=luddite --cov-report=html --cov-report=term --no-cov-on-fail" ""
+      --replace "--cov=luddite --cov-report=html --cov-report=term --no-cov-on-fail" "" \
+      --replace "--disable-socket" ""
   '';
 
-  propagatedBuildInputs = [ setuptools ];
+  propagatedBuildInputs = [ packaging ];
 
-  nativeCheckInputs = [ pytestCheckHook pytest-socket pytest-mock ];
+  nativeCheckInputs = [ pytestCheckHook pytest-mock ];
   pythonImportsCheck = [ "luddite" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index 4701b456e09af..62b97f53b1e87 100644
--- a/pkgs/development/python-modules/mailchecker/default.nix
+++ b/pkgs/development/python-modules/mailchecker/default.nix
@@ -2,20 +2,25 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "mailchecker";
-  version = "5.0.9";
-  format = "setuptools";
+  version = "6.0.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iwg5B9pC2qRI2T6xnwyXjd4uhWVhel52Jxs1pfcoXM0=";
+    hash = "sha256-PXo6dfiAqC1WD/z5NBI6UZVUl/cwlvoqKDyfZI4fn2s=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # Module has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/maison/default.nix b/pkgs/development/python-modules/maison/default.nix
index 03d4c5c05d879..fc868ffefd2c4 100644
--- a/pkgs/development/python-modules/maison/default.nix
+++ b/pkgs/development/python-modules/maison/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "maison";
-  version = "1.4.1";
+  version = "1.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "dbatten5";
     repo = "maison";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uJW+7+cIt+jnbiC+HvT7KzyNk1enEtELTxtfc4eXAPU=";
+    hash = "sha256-XNo7QS8BCYzkDozLW0T+KMQPI667lDTCFtOqKq9q3hw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/meep/default.nix b/pkgs/development/python-modules/meep/default.nix
index 1e0dbb1668395..d99b5c3e2e0c8 100644
--- a/pkgs/development/python-modules/meep/default.nix
+++ b/pkgs/development/python-modules/meep/default.nix
@@ -33,13 +33,13 @@ assert !lapack.isILP64;
 
 buildPythonPackage rec {
   pname = "meep";
-  version = "1.27.0";
+  version = "1.28.0";
 
   src = fetchFromGitHub {
     owner = "NanoComp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-9ha6YPlvq2HUTuEqngFOAJUqCahBi7L7O8qsIMMfbrY=";
+    hash = "sha256-o/Xrd/Gn1RsbB+ZfggGH6/ugdsGtfTe2RgaHdpY5AyE=";
   };
 
   format = "other";
diff --git a/pkgs/development/python-modules/millheater/default.nix b/pkgs/development/python-modules/millheater/default.nix
index 7f2fe358c2fe3..33f52d0cea672 100644
--- a/pkgs/development/python-modules/millheater/default.nix
+++ b/pkgs/development/python-modules/millheater/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "millheater";
-  version = "0.11.6";
+  version = "0.11.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pymill";
     rev = "refs/tags/${version}";
-    hash = "sha256-qd9JuZv1utwL523eiQ79P3hXuVQ8+teTatOJCtI6v00=";
+    hash = "sha256-jqtyJHoG/8tgv4OJleb7DV6C7pCpgplieLykfvO3cNM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix b/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
index 0bd3f97175ce8..85687b1882bab 100644
--- a/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
+++ b/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-swagger-ui-tag";
-  version = "0.6.6";
+  version = "0.6.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Blueswen";
     repo = "mkdocs-swagger-ui-tag";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NEFogrLJjOh98rChlJuxAeTj31yyL4OoE/jBUcHbBZM=";
+    hash = "sha256-lvE/mN56X2fx835GFNDYQc7ptxBYqwjrJ9Z6Flcvufg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocstrings/default.nix b/pkgs/development/python-modules/mkdocstrings/default.nix
index d8fb50f586b28..219f0e63c7b1f 100644
--- a/pkgs/development/python-modules/mkdocstrings/default.nix
+++ b/pkgs/development/python-modules/mkdocstrings/default.nix
@@ -1,35 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, importlib-metadata
 , jinja2
 , markdown
 , markupsafe
 , mkdocs
 , mkdocs-autorefs
+, pdm-backend
 , pymdown-extensions
 , pytestCheckHook
-, pdm-backend
 , pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "mkdocstrings";
-  version = "0.23.0";
-  format = "pyproject";
+  version = "0.24.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mkdocstrings";
-    repo = pname;
+    repo = "mkdocstrings";
     rev = "refs/tags/${version}";
-    hash = "sha256-t7wxm600XgYl1jsqjOpZdWcmqR9qafdKTaz/xDPdDPY=";
+    hash = "sha256-UqX2jNNYwDNhb71qGdjHNoo2MmSxjf/bZiUoSxlE2XQ=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'dynamic = ["version"]' 'version = "${version}"' \
-      --replace 'license = "ISC"' 'license = {text = "ISC"}'
+      --replace 'dynamic = ["version"]' 'version = "${version}"'
   '';
 
   nativeBuildInputs = [
@@ -43,6 +44,9 @@ buildPythonPackage rec {
     mkdocs
     mkdocs-autorefs
     pymdown-extensions
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
+    typing-extensions
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/nethsm/default.nix b/pkgs/development/python-modules/nethsm/default.nix
new file mode 100644
index 0000000000000..902fa62e33873
--- /dev/null
+++ b/pkgs/development/python-modules/nethsm/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonRelaxDepsHook
+, flit-core
+, certifi
+, cryptography
+, python-dateutil
+, typing-extensions
+, urllib3
+}:
+
+let
+  pname = "nethsm";
+  version = "1.0.0";
+in
+
+buildPythonPackage {
+  inherit pname version;
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-sENuSdA4pYt8v2w2RvDkcQLYCP9V0vZOdWOlkNBi3/o=";
+  };
+
+  propagatedBuildInputs = [
+    certifi
+    cryptography
+    python-dateutil
+    typing-extensions
+    urllib3
+  ];
+
+  nativeBuildInputs = [
+    flit-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = true;
+
+  pythonImportsCheck = [ "nethsm" ];
+
+  meta = with lib; {
+    description = "Client-side Python SDK for NetHSM";
+    homepage = "https://github.com/Nitrokey/nethsm-sdk-py";
+    changelog = "https://github.com/Nitrokey/nethsm-sdk-py/releases/tag/v${version}";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ frogamic ];
+  };
+}
diff --git a/pkgs/development/python-modules/numpy-stl/default.nix b/pkgs/development/python-modules/numpy-stl/default.nix
index fd2ad5c5e8c17..155d1c60b1757 100644
--- a/pkgs/development/python-modules/numpy-stl/default.nix
+++ b/pkgs/development/python-modules/numpy-stl/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "numpy-stl";
-  version = "3.0.1";
+  version = "3.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3U2ho3nSYy8WhRi+jc2c3dftxsMjgJT9jSFHazWGoLw=";
+    hash = "sha256-947qYsgJOL9T6pFPpbbJL0SPDqtWCeDlpzfd4DlAQzQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oauthenticator/default.nix b/pkgs/development/python-modules/oauthenticator/default.nix
index ae8d6737380e0..9bc3ced1208bf 100644
--- a/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/pkgs/development/python-modules/oauthenticator/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "oauthenticator";
-  version = "16.2.0";
+  version = "16.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-z5CFFfVJYeXaDFVPYaBOfUMzgl+Uvn3LYS5Zn1AHRy0=";
+    hash = "sha256-qJrreq2GhJxrX9keZOYVzjihs0RCymad+MGErW5ecPc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/oelint-parser/default.nix b/pkgs/development/python-modules/oelint-parser/default.nix
index 37d6dd8b54e8d..d36bc9004e33b 100644
--- a/pkgs/development/python-modules/oelint-parser/default.nix
+++ b/pkgs/development/python-modules/oelint-parser/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "oelint-parser";
-  version = "2.11.6";
+  version = "2.12.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_parser";
-    hash = "sha256-CTZxxKZPrAvuWGhwD7qAPG10rry0H71QSRXbGT0J3J0=";
+    hash = "sha256-0Ic7WKQbwA7TnFvXRZz+mFehjWP6n+Pyp0IySMy8sdw=";
   };
 
   buildInputs = [ pip ];
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index 89a02ae69f154..3c13e035bf025 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -1,30 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, aiohttp
-, matplotlib
+, pythonOlder
+, hatchling
+# propagated
+, httpx
+, pydantic
+, typing-extensions
+, anyio
+, distro
+, sniffio
+, tqdm
+# optional
 , numpy
-, openpyxl
 , pandas
 , pandas-stubs
-, plotly
+# tests
+, pytestCheckHook
 , pytest-asyncio
 , pytest-mock
-, pytestCheckHook
-, pythonOlder
-, requests
-, scikit-learn
-, tenacity
-, tqdm
-, typing-extensions
-, wandb
-, withOptionalDependencies ? false
+, respx
+, dirty-equals
 }:
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "0.28.1";
-  format = "setuptools";
+  version = "1.3.7";
+  pyproject = true;
 
   disabled = pythonOlder "3.7.1";
 
@@ -32,35 +34,30 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-liJyeGxnYIC/jUQKdeATHpVJb/12KGbeM94Y2YQphfY=";
+    hash = "sha256-Pa53s3U5vby1Fq14WMCJnSR6KA3xkVHmBexkNoX/0sk=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   propagatedBuildInputs = [
-    aiohttp
-    requests
+    httpx
+    pydantic
+    anyio
+    distro
+    sniffio
     tqdm
   ] ++ lib.optionals (pythonOlder "3.8") [
     typing-extensions
-  ] ++ lib.optionals withOptionalDependencies (builtins.attrValues {
-    inherit (passthru.optional-dependencies) embeddings wandb;
-  });
+  ];
 
   passthru.optional-dependencies = {
     datalib = [
       numpy
-      openpyxl
       pandas
       pandas-stubs
     ];
-    embeddings = [
-      matplotlib
-      plotly
-      scikit-learn
-      tenacity
-    ] ++ passthru.optional-dependencies.datalib;
-    wandb = [
-      wandb
-    ] ++ passthru.optional-dependencies.datalib;
   };
 
   pythonImportsCheck = [
@@ -71,21 +68,16 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-asyncio
     pytest-mock
-  ];
-
-  pytestFlagsArray = [
-    "openai/tests"
+    respx
+    dirty-equals
   ];
 
   OPENAI_API_KEY = "sk-foo";
 
   disabledTestPaths = [
-    # Requires a real API key
-    "openai/tests/test_endpoints.py"
-    "openai/tests/asyncio/test_endpoints.py"
-    # openai: command not found
-    "openai/tests/test_file_cli.py"
-    "openai/tests/test_long_examples_validator.py"
+    # makes network requests
+    "tests/test_client.py"
+    "tests/api_resources"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/opentsne/default.nix b/pkgs/development/python-modules/opentsne/default.nix
index 9fc3c7fe8143f..ba3e0b8460b19 100644
--- a/pkgs/development/python-modules/opentsne/default.nix
+++ b/pkgs/development/python-modules/opentsne/default.nix
@@ -7,7 +7,7 @@
 , scipy
 , scikit-learn
 , pytestCheckHook
-, nix-update-script
+, pythonOlder
 , setuptools
 , wheel
 }:
@@ -15,14 +15,16 @@
 let
   self = buildPythonPackage rec {
     pname = "opentsne";
-    version = "1.0.0";
-    format = "pyproject";
+    version = "1.0.1";
+    pyproject = true;
+
+    disabled = pythonOlder "3.7";
 
     src = fetchFromGitHub {
       owner = "pavlin-policar";
       repo = "openTSNE";
-      rev = "v${version}";
-      hash = "sha256-L5Qx6dMJlXF3EaWwlFTQ3dkhGXc5PvQBXYJo+QO+Hxc=";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-UTfEjjNz1mm5fhyTw9GRlMNURwWlr6kLMjrMngkFV3Y=";
     };
 
     nativeBuildInputs = [
@@ -32,13 +34,19 @@ let
       wheel
     ];
 
-    propagatedBuildInputs = [ numpy scipy scikit-learn ];
+    propagatedBuildInputs = [
+      numpy
+      scipy
+      scikit-learn
+    ];
+
+    pythonImportsCheck = [
+      "openTSNE"
+    ];
 
-    pythonImportsCheck = [ "openTSNE" ];
     doCheck = false;
 
     passthru = {
-      updateScript = nix-update-script {};
       tests.pytest = self.overridePythonAttrs (old: {
         pname = "${old.pname}-tests";
         format = "other";
@@ -53,12 +61,12 @@ let
       });
     };
 
-    meta = {
+    meta = with lib; {
       description = "Modular Python implementation of t-Distributed Stochasitc Neighbor Embedding";
       homepage = "https://github.com/pavlin-policar/openTSNE";
-      changelog = "https://github.com/pavlin-policar/openTSNE/releases/tag/${version}";
-      license = [ lib.licenses.bsd3 ];
-      maintainers = [ lib.maintainers.lucasew ];
+      changelog = "https://github.com/pavlin-policar/openTSNE/releases/tag/v${version}";
+      license = licenses.bsd3;
+      maintainers = with maintainers; [ lucasew ];
     };
   };
 in self
diff --git a/pkgs/development/python-modules/opentypespec/default.nix b/pkgs/development/python-modules/opentypespec/default.nix
new file mode 100644
index 0000000000000..c4bf0cde2c972
--- /dev/null
+++ b/pkgs/development/python-modules/opentypespec/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "opentypespec";
+  version = "1.9.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-fOEHmtlCkFhn1jyIA+CsHIfud7x3PPb7UWQsnrVyDqY=";
+  };
+
+  doCheck = true;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+  unittestFlagsArray = [ "-s" "test" "-v" ];
+
+  meta = with lib; {
+    description = "Python library for OpenType specification metadata";
+    homepage = "https://github.com/simoncozens/opentypespec-py";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/ots-python/0001-use-packaged-ots.patch b/pkgs/development/python-modules/ots-python/0001-use-packaged-ots.patch
new file mode 100644
index 0000000000000..233e97d7b4b83
--- /dev/null
+++ b/pkgs/development/python-modules/ots-python/0001-use-packaged-ots.patch
@@ -0,0 +1,34 @@
+From 6ba3b97253cf540fdf4b36672f290def72386096 Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <djc@djc.id.au>
+Date: Sun, 23 Apr 2023 21:26:53 +1000
+Subject: [PATCH] use packaged ots
+
+
+diff --git a/setup.py b/setup.py
+index 6c3ccae..ca021da 100755
+--- a/setup.py
++++ b/setup.py
+@@ -248,7 +248,6 @@ def run(self):
+     platforms=["posix", "nt"],
+     package_dir={"": "src/python"},
+     packages=find_packages("src/python"),
+-    ext_modules=[ots_sanitize],
+     zip_safe=False,
+     cmdclass=cmdclass,
+     setup_requires=["setuptools_scm"],
+diff --git a/src/python/ots/__init__.py b/src/python/ots/__init__.py
+index 5fc1724..db9d21e 100644
+--- a/src/python/ots/__init__.py
++++ b/src/python/ots/__init__.py
+@@ -3,7 +3,7 @@
+ import sys
+ import os
+ 
+-OTS_SANITIZE = os.path.join(os.path.dirname(__file__), "ots-sanitize")
++OTS_SANITIZE = "@ots_sanitize@"
+ 
+ __all__ = ["sanitize", "OTSError", "CalledProcessError"]
+ 
+-- 
+2.38.4
+
diff --git a/pkgs/development/python-modules/ots-python/default.nix b/pkgs/development/python-modules/ots-python/default.nix
new file mode 100644
index 0000000000000..32863e2e4bd31
--- /dev/null
+++ b/pkgs/development/python-modules/ots-python/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, substituteAll
+, opentype-sanitizer
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ots-python";
+  version = "9.1.0";
+
+  src = fetchPypi {
+    pname = "opentype-sanitizer";
+    inherit version;
+    hash = "sha256-1Zdd+eRECimZl8L8CCkm7pCjN0TafSsc5i2Y6/oH88I=";
+  };
+
+  patches = [
+    # Invoke ots-sanitize from the opentype-sanitizer package instead of
+    # downloading precompiled binaries from the internet.
+    # (nixpkgs-specific, not upstreamable)
+    (substituteAll {
+      src = ./0001-use-packaged-ots.patch;
+      ots_sanitize = "${opentype-sanitizer}/bin/ots-sanitize";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    opentype-sanitizer
+  ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for ots (OpenType Sanitizer)";
+    homepage = "https://github.com/googlefonts/ots-python";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/picobox/default.nix b/pkgs/development/python-modules/picobox/default.nix
index 176c86e84f079..a70fc8eecbe19 100644
--- a/pkgs/development/python-modules/picobox/default.nix
+++ b/pkgs/development/python-modules/picobox/default.nix
@@ -1,27 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , flask
 , hatchling
 , hatch-vcs
-, isPy27
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "picobox";
-  version = "3.0.0";
+  version = "4.0.0";
 
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "ikalnytskyi";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-LQiSurL+eFRJ9iQheoo66o44BlfBtAatk8deuMFROcc=";
+    hash = "sha256-JtrwUVo3b4G34OUShX4eJS2IVubl4vBmEtB/Jhk4eJI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/playwright/default.nix b/pkgs/development/python-modules/playwright/default.nix
index 575ffeff5a6bf..555f7aa301970 100644
--- a/pkgs/development/python-modules/playwright/default.nix
+++ b/pkgs/development/python-modules/playwright/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , auditwheel
 , buildPythonPackage
 , git
@@ -53,7 +54,7 @@ buildPythonPackage rec {
 
     substituteInPlace pyproject.toml \
       --replace 'requires = ["setuptools==68.2.2", "setuptools-scm==8.0.4", "wheel==0.41.2", "auditwheel==5.4.0"]' \
-                'requires = ["setuptools", "setuptools-scm", "wheel", "auditwheel"]' \
+                'requires = ["setuptools", "setuptools-scm", "wheel"]' \
       --replace 'version_file = "playwright/_repo_version.py"' ""
     # FIXME version_file is available in setuptools-scm>=8.0.0
     echo "__version__ = version = '${version}'" > playwright/_repo_version.py
@@ -69,7 +70,8 @@ buildPythonPackage rec {
   '';
 
 
-  nativeBuildInputs = [ git setuptools-scm setuptools auditwheel ];
+  nativeBuildInputs = [ git setuptools-scm setuptools ]
+    ++ lib.optionals stdenv.isLinux [ auditwheel ];
 
   propagatedBuildInputs = [
     greenlet
diff --git a/pkgs/development/python-modules/pulumi/default.nix b/pkgs/development/python-modules/pulumi/default.nix
index b6f1ed0055400..94a940f8a9fec 100644
--- a/pkgs/development/python-modules/pulumi/default.nix
+++ b/pkgs/development/python-modules/pulumi/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     cp ../../README.md .
     substituteInPlace setup.py \
       --replace "3.0.0" "${version}" \
-      --replace "grpcio~=1.59" "grpcio" \
+      --replace "grpcio==1.56.2" "grpcio" \
       --replace "semver~=2.13" "semver"
   '';
 
diff --git a/pkgs/development/python-modules/pytikz-allefeld/default.nix b/pkgs/development/python-modules/pytikz-allefeld/default.nix
new file mode 100644
index 0000000000000..4701431e715d2
--- /dev/null
+++ b/pkgs/development/python-modules/pytikz-allefeld/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, pymupdf
+, numpy
+, ipython
+, texlive
+}:
+
+buildPythonPackage rec {
+  pname = "pytikz-allefeld"; # "pytikz" on pypi is a different module
+  version = "unstable-2022-11-01";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "allefeld";
+    repo = "pytikz";
+    rev = "f878ebd6ce5a647b1076228b48181b147a61abc1";
+    hash = "sha256-G59UUkpjttJKNBN0MB/A9CftO8tO3nv8qlTxt3/fKHk=";
+  };
+
+  propagatedBuildInputs = [
+    pymupdf
+    numpy
+    ipython
+  ];
+
+  pythonImportsCheck = [ "tikz" ];
+
+  nativeCheckInputs = [ texlive.combined.scheme-small ];
+  checkPhase = ''
+    runHook preCheck
+    python -c 'if 1:
+      from tikz import *
+      pic = Picture()
+      pic.draw(line([(0, 0), (1, 1)]))
+      print(pic.code())
+      pic.write_image("test.pdf")
+    '
+    test -s test.pdf
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/allefeld/pytikz";
+    description = "A Python interface to TikZ";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ pbsds ];
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/development/python-modules/pyunpack/default.nix b/pkgs/development/python-modules/pyunpack/default.nix
index b6dff5a97d03c..ea7ad7d416a3a 100644
--- a/pkgs/development/python-modules/pyunpack/default.nix
+++ b/pkgs/development/python-modules/pyunpack/default.nix
@@ -1,16 +1,18 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , pytestCheckHook
 , easyprocess
 , entrypoint2
 , patool
+, cabextract
 }:
 
 buildPythonPackage rec {
   pname = "pyunpack";
   version = "0.3";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ponty";
@@ -23,15 +25,20 @@ buildPythonPackage rec {
     substituteInPlace pyunpack/__init__.py \
       --replace \
        '_exepath("patool")' \
-       '"${patool}/bin/.patool-wrapped"'
+       '"${lib.getBin patool}/bin/.patool-wrapped"'
   '';
 
+  nativeBuildInputs = [ setuptools ];
+
   propagatedBuildInputs = [
     easyprocess
     entrypoint2
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    cabextract
+  ];
 
   pytestFlagsArray = [ "-x" ];
 
diff --git a/pkgs/development/python-modules/robotframework-pythonlibcore/default.nix b/pkgs/development/python-modules/robotframework-pythonlibcore/default.nix
index 43da9125f1ae7..797bda0d3ea40 100644
--- a/pkgs/development/python-modules/robotframework-pythonlibcore/default.nix
+++ b/pkgs/development/python-modules/robotframework-pythonlibcore/default.nix
@@ -2,30 +2,37 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, setuptools
 , pytest-mockito
 , pytestCheckHook
 , robotframework
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "robotframework-pythonlibcore";
-  version = "4.2.0";
+  version = "4.3.0";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "robotframework";
     repo = "PythonLibCore";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RJTn1zSVJYgbh93Idr77uHl02u0wpj6p6llSJfQVTQk=";
+    hash = "sha256-5ayOQyOhCg4nLpAyH/eQ6NYEApix0wsL2nhJzEXKJRo=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytest-mockito
     pytestCheckHook
     robotframework
+    typing-extensions
   ];
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/rstr/default.nix b/pkgs/development/python-modules/rstr/default.nix
new file mode 100644
index 0000000000000..3c80a274ceaf6
--- /dev/null
+++ b/pkgs/development/python-modules/rstr/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, setuptools-scm
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "rstr";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-xKVk1N+0Ry2THRRcQ9HPGteMJFkhQud1W4hmF57qwBI=";
+  };
+
+  pyproject = true;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library to generate random strings";
+    homepage = "https://github.com/leapfrogonline/rstr";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix
index 2affddbb6a4c0..13bee07a1859f 100644
--- a/pkgs/development/python-modules/scancode-toolkit/default.nix
+++ b/pkgs/development/python-modules/scancode-toolkit/default.nix
@@ -16,7 +16,6 @@
 , extractcode-libarchive
 , fasteners
 , fetchPypi
-, fetchpatch
 , fingerprints
 , ftfy
 , gemfileparser2
@@ -48,12 +47,12 @@
 , pythonOlder
 , requests
 , saneyaml
+, setuptools
 , spdx-tools
 , text-unidecode
 , toml
 , typecode
 , typecode-libmagic
-, typing
 , urlpy
 , xmltodict
 , zipp
@@ -61,17 +60,22 @@
 
 buildPythonPackage rec {
   pname = "scancode-toolkit";
-  version = "32.0.6";
+  version = "32.0.8";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-suqk7LOnZgSJGlaHq81LDOSCHZWdsJOUbma6MEpHxSM=";
+    hash = "sha256-W6Ev1MV8cZU4bauAfmuZsBzMJKz7xpw8siO3Afn5mc8=";
   };
 
   dontConfigure = true;
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     attrs
     beautifulsoup4
@@ -126,33 +130,12 @@ buildPythonPackage rec {
     xmltodict
   ] ++ lib.optionals (pythonOlder "3.9") [
     zipp
-  ] ++ lib.optionals (pythonOlder "3.7") [
-    typing
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
-  patches = [
-    (fetchpatch {
-      name = "${pname}-allow-stable-spdx-tools.patch";
-      url = "https://github.com/nexB/scancode-toolkit/commit/d89ab6584d3df6b7eb1d1394559e9d967d6db6ae.patch";
-      includes = [ "src/*" ];
-      hash = "sha256-AU3vJlOxmCy3yvkupVaAVxAKxJI3ymXEk+A5DWSkfOM=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "pdfminer.six >= 20200101" "pdfminer.six" \
-      --replace "pluggy >= 0.12.0, < 1.0" "pluggy" \
-      --replace "pygmars >= 0.7.0" "pygmars" \
-      --replace "license_expression >= 21.6.14" "license_expression" \
-      --replace "intbitset >= 2.3.0,  < 3.0" "intbitset" \
-      --replace "spdx_tools == 0.7.0a3" "spdx_tools"
-  '';
-
   # Importing scancode needs a writeable home, and preCheck happens in between
   # pythonImportsCheckPhase and pytestCheckPhase.
   postInstall = ''
@@ -163,7 +146,13 @@ buildPythonPackage rec {
     "scancode"
   ];
 
-  # takes a long time and doesn't appear to do anything
+  disabledTestPaths = [
+    # Tests are outdated
+    "src/formattedcode/output_spdx.py"
+    "src/scancode/cli.py"
+  ];
+
+  # Takes a long time and doesn't appear to do anything
   dontStrip = true;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/shaperglot/default.nix b/pkgs/development/python-modules/shaperglot/default.nix
new file mode 100644
index 0000000000000..f1ea7e5a723a3
--- /dev/null
+++ b/pkgs/development/python-modules/shaperglot/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gflanguages
+, num2words
+, poetry-core
+, protobuf
+, pytestCheckHook
+, strictyaml
+, termcolor
+, ufo2ft
+, vharfbuzz
+, youseedee
+}:
+
+buildPythonPackage rec {
+  pname = "shaperglot";
+  version = "0.3.1";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "googlefonts";
+    repo = "shaperglot";
+    rev = "v${version}";
+    hash = "sha256-29MzD42rgh+7n/0kjqKGDxXPnUEvj/xxEIKWZg03pxw=";
+  };
+
+  pyproject = true;
+
+  propagatedBuildInputs = [
+    gflanguages
+    num2words
+    protobuf
+    strictyaml
+    termcolor
+    ufo2ft
+    vharfbuzz
+    youseedee
+  ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Tool to test OpenType fonts for language support";
+    homepage = "https://github.com/googlefonts/shaperglot";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/python-modules/sre-yield/default.nix b/pkgs/development/python-modules/sre-yield/default.nix
new file mode 100644
index 0000000000000..91e6904b57726
--- /dev/null
+++ b/pkgs/development/python-modules/sre-yield/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sre-yield";
+  version = "1.2";
+
+  src = fetchPypi {
+    pname = "sre_yield";
+    inherit version;
+    hash = "sha256-6U8aKjy6//4dzRXB1U5AGhUX4FKqZMfTFk+I3HYde4o=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python library to efficiently generate all values that can match a given regular expression";
+    homepage = "https://github.com/sre-yield/sre-yield";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/streamlit/default.nix b/pkgs/development/python-modules/streamlit/default.nix
index 73c36577413ab..a043430f8584c 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.28.2";
+  version = "1.29.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wUQWiIG/e9bWAXqb/eWFtS0gCHsQstXIXTdu9tUqqO4=";
+    hash = "sha256-tt//nF4TLlUYySFQ781FKYDbSSpF+v6sPUaI0jNO+gc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/stringbrewer/default.nix b/pkgs/development/python-modules/stringbrewer/default.nix
new file mode 100644
index 0000000000000..fc39d515a6ec6
--- /dev/null
+++ b/pkgs/development/python-modules/stringbrewer/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, rstr
+, sre-yield
+, pythonImportsCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "stringbrewer";
+  version = "0.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-wtETgi+Tk1ALJzzIM6Ic5zkDbALGL0cELg8X75uepkk=";
+  };
+
+  propagatedBuildInputs = [
+    rstr
+    sre-yield
+  ];
+  nativeBuildInputs = [
+    pythonImportsCheckHook
+  ];
+
+  # Package has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "stringbrewer" ];
+
+  meta = with lib; {
+    description = "Python library to generate random strings matching a pattern";
+    homepage = "https://github.com/simoncozens/stringbrewer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/syncedlyrics/default.nix b/pkgs/development/python-modules/syncedlyrics/default.nix
index a8482b18d56a4..48e2f79ef2d5f 100644
--- a/pkgs/development/python-modules/syncedlyrics/default.nix
+++ b/pkgs/development/python-modules/syncedlyrics/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "syncedlyrics";
-  version = "0.6.1";
-  format = "pyproject";
+  version = "0.7.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "rtcq";
-    repo = pname;
+    repo = "syncedlyrics";
     rev = "refs/tags/v${version}";
-    hash = "sha256-oMG3TqCJfEyfF5zK8hNhyhQ1z7G+S+De8hI1GLCfctM=";
+    hash = "sha256-qZVUptmLouFFBCWiRviYFO0sQKlyz65GjWMg/b1idXY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index ff95c847eae5e..c8e292e316744 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -57,7 +57,8 @@ let
   # use compatible cuDNN (https://www.tensorflow.org/install/source#gpu)
   # cudaPackages.cudnn led to this:
   # https://github.com/tensorflow/tensorflow/issues/60398
-  cudnn = cudaPackages.cudnn_8_6;
+  cudnnAttribute = "cudnn_8_6";
+  cudnn = cudaPackages.${cudnnAttribute};
   gentoo-patches = fetchzip {
     url = "https://dev.gentoo.org/~perfinion/patches/tensorflow-patches-2.12.0.tar.bz2";
     hash = "sha256-SCRX/5/zML7LmKEPJkcM5Tebez9vv/gmE4xhT/jyqWs=";
@@ -65,15 +66,7 @@ let
   protobuf-extra = linkFarm "protobuf-extra" [
     { name = "include"; path = protobuf-core.src; }
   ];
-in
-
-assert cudaSupport -> cudatoolkit != null
-                   && cudnn != null;
 
-# unsupported combination
-assert ! (stdenv.isDarwin && cudaSupport);
-
-let
   withTensorboard = (pythonOlder "3.6") || tensorboardSupport;
 
   # FIXME: migrate to redist cudaPackages
@@ -490,7 +483,11 @@ let
       license = licenses.asl20;
       maintainers = with maintainers; [ abbradar ];
       platforms = with platforms; linux ++ darwin;
-      broken = stdenv.isDarwin || !(xlaSupport -> cudaSupport);
+      broken =
+        stdenv.isDarwin
+        || !(xlaSupport -> cudaSupport)
+        || !(cudaSupport -> builtins.hasAttr cudnnAttribute cudaPackages)
+        || !(cudaSupport -> cudaPackages ? cudatoolkit);
     } // lib.optionalAttrs stdenv.isDarwin {
       timeout = 86400; # 24 hours
       maxSilent = 14400; # 4h, double the default of 7200s
diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix
index 49ed033bd6a15..d18dd97df5b45 100644
--- a/pkgs/development/python-modules/torch/default.nix
+++ b/pkgs/development/python-modules/torch/default.nix
@@ -56,10 +56,7 @@
 
 let
   inherit (lib) attrsets lists strings trivial;
-  inherit (cudaPackages) cudaFlags cudnn;
-
-  # Some packages are not available on all platforms
-  nccl = cudaPackages.nccl or null;
+  inherit (cudaPackages) cudaFlags cudnn nccl;
 
   setBool = v: if v then "1" else "0";
 
@@ -212,10 +209,11 @@ in buildPythonPackage rec {
   # For more, see https://github.com/open-mpi/ompi/issues/7733#issuecomment-629806195.
   preConfigure = lib.optionalString cudaSupport ''
     export TORCH_CUDA_ARCH_LIST="${gpuTargetString}"
-    export CUDNN_INCLUDE_DIR=${cudnn.dev}/include
-    export CUDNN_LIB_DIR=${cudnn.lib}/lib
     export CUPTI_INCLUDE_DIR=${cudaPackages.cuda_cupti.dev}/include
     export CUPTI_LIBRARY_DIR=${cudaPackages.cuda_cupti.lib}/lib
+  '' + lib.optionalString (cudaSupport && cudaPackages ? cudnn) ''
+    export CUDNN_INCLUDE_DIR=${cudnn.dev}/include
+    export CUDNN_LIB_DIR=${cudnn.lib}/lib
   '' + lib.optionalString rocmSupport ''
     export ROCM_PATH=${rocmtoolkit_joined}
     export ROCM_SOURCE_DIR=${rocmtoolkit_joined}
@@ -273,7 +271,7 @@ in buildPythonPackage rec {
   PYTORCH_BUILD_VERSION = version;
   PYTORCH_BUILD_NUMBER = 0;
 
-  USE_NCCL = setBool (nccl != null);
+  USE_NCCL = setBool (cudaPackages ? nccl);
   USE_SYSTEM_NCCL = setBool useSystemNccl;                  # don't build pytorch's third_party NCCL
   USE_STATIC_NCCL = setBool useSystemNccl;
 
@@ -348,8 +346,6 @@ in buildPythonPackage rec {
       cuda_nvrtc.lib
       cuda_nvtx.dev
       cuda_nvtx.lib # -llibNVToolsExt
-      cudnn.dev
-      cudnn.lib
       libcublas.dev
       libcublas.lib
       libcufft.dev
@@ -360,7 +356,10 @@ in buildPythonPackage rec {
       libcusolver.lib
       libcusparse.dev
       libcusparse.lib
-    ] ++ lists.optionals (nccl != null) [
+    ] ++ lists.optionals (cudaPackages ? cudnn) [
+      cudnn.dev
+      cudnn.lib
+    ] ++ lists.optionals (useSystemNccl && cudaPackages ? nccl) [
       # Some platforms do not support NCCL (i.e., Jetson)
       nccl.dev # Provides nccl.h AND a static copy of NCCL!
     ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [
diff --git a/pkgs/development/python-modules/torchaudio/0001-setup.py-propagate-cmakeFlags.patch b/pkgs/development/python-modules/torchaudio/0001-setup.py-propagate-cmakeFlags.patch
new file mode 100644
index 0000000000000..a1f6b5ea8aeb7
--- /dev/null
+++ b/pkgs/development/python-modules/torchaudio/0001-setup.py-propagate-cmakeFlags.patch
@@ -0,0 +1,32 @@
+From 789ec77d09171f22d82006493cafbcf2496b4f8f Mon Sep 17 00:00:00 2001
+From: Someone Serge <sergei.kozlukov@aalto.fi>
+Date: Sat, 2 Dec 2023 12:47:00 +0000
+Subject: [PATCH] setup.py: propagate cmakeFlags
+
+---
+ tools/setup_helpers/extension.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tools/setup_helpers/extension.py b/tools/setup_helpers/extension.py
+index 2415bbae..7c2a9351 100644
+--- a/tools/setup_helpers/extension.py
++++ b/tools/setup_helpers/extension.py
+@@ -1,6 +1,7 @@
+ import distutils.sysconfig
+ import os
+ import platform
++import shlex
+ import subprocess
+ from pathlib import Path
+ 
+@@ -141,6 +142,8 @@ class CMakeBuild(build_ext):
+             f"-DUSE_OPENMP:BOOL={'ON' if _USE_OPENMP else 'OFF'}",
+             f"-DUSE_FFMPEG:BOOL={'ON' if _USE_FFMPEG else 'OFF'}",
+         ]
++        if "cmakeFlags" in os.environ:
++            cmake_args.extend(shlex.split(os.environ["cmakeFlags"]))
+         build_args = ["--target", "install"]
+         # Pass CUDA architecture to cmake
+         if _TORCH_CUDA_ARCH_LIST is not None:
+-- 
+2.42.0
diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix
index 4ff44d123a487..1014ab523821a 100644
--- a/pkgs/development/python-modules/torchaudio/default.nix
+++ b/pkgs/development/python-modules/torchaudio/default.nix
@@ -24,6 +24,10 @@ buildPythonPackage rec {
     hash = "sha256-5UlnOGXXFu1p9M5B+Ixc9DW5hLZ1nskv81Y+McbWu6Q=";
   };
 
+  patches = [
+    ./0001-setup.py-propagate-cmakeFlags.patch
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'print(" --- Initializing submodules")' "return" \
diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix
index c1acef68d19a5..03da40472d5ba 100644
--- a/pkgs/development/python-modules/txtorcon/default.nix
+++ b/pkgs/development/python-modules/txtorcon/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "txtorcon";
-  version = "23.5.0";
+  version = "23.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-k/2Aqd1QX2mNCGT+k9uLapwRRLX+uRUwggtw7YmCZRw=";
+    hash = "sha256-cfha6T121yZRAFnJ7XTmCLxaXJ99EDhTtJ5BQoBAai8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-s3transfer/default.nix b/pkgs/development/python-modules/types-s3transfer/default.nix
index 44f025c23c1a2..5e87bd726bf74 100644
--- a/pkgs/development/python-modules/types-s3transfer/default.nix
+++ b/pkgs/development/python-modules/types-s3transfer/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "types-s3transfer";
-  version = "0.8.1";
+  version = "0.8.2";
   pyproject = true;
 
   src = fetchPypi {
     pname = "types_s3transfer";
     inherit version;
-    hash = "sha256-tng+wpElwAtWCzVNL+KhhdxcznahfCOsLWMGdK+nAEA=";
+    hash = "sha256-LkF1b8+Ud1qZSa+oVkiaxFcDCGCbBJPfvXtNMz60I+Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ufolint/default.nix b/pkgs/development/python-modules/ufolint/default.nix
new file mode 100644
index 0000000000000..c7b666c37fab3
--- /dev/null
+++ b/pkgs/development/python-modules/ufolint/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, commandlines
+, fonttools
+, fs
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ufolint";
+  version = "1.2.0";
+
+  # PyPI source tarballs omit tests, fetch from Github instead
+  src = fetchFromGitHub {
+    owner = "source-foundry";
+    repo = "ufolint";
+    rev = "v${version}";
+    hash = "sha256-sv8WbnDd2LFHkwNsB9FO04OlLhemdzwjq0tC9+Fd6/M=";
+  };
+
+  propagatedBuildInputs = [
+    commandlines
+    fs
+    fonttools
+  ];
+
+  doCheck = true;
+  nativeBuildInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Linter for Unified Font Object (UFO) source code";
+    homepage = "https://github.com/source-foundry/ufolint";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/vharfbuzz/default.nix b/pkgs/development/python-modules/vharfbuzz/default.nix
new file mode 100644
index 0000000000000..fb953a0e7be7d
--- /dev/null
+++ b/pkgs/development/python-modules/vharfbuzz/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, pythonImportsCheckHook
+, uharfbuzz
+}:
+
+buildPythonPackage rec {
+  pname = "vharfbuzz";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-uDX2fYqxV4wmAAIMfA3dBohWmq1N0VurSTEFOjSRpmY=";
+  };
+
+  propagatedBuildInputs = [
+    fonttools
+    uharfbuzz
+  ];
+  nativeBuildInputs = [
+    pythonImportsCheckHook
+  ];
+
+  # Package has no tests.
+  doCheck = false;
+  pythonImportsCheck = [ "vharfbuzz" ];
+
+  meta = with lib; {
+    description = "Utility for removing hinting data from TrueType and OpenType fonts";
+    homepage = "https://github.com/source-foundry/dehinter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/youseedee/0001-use-packaged-unicode-data.patch b/pkgs/development/python-modules/youseedee/0001-use-packaged-unicode-data.patch
new file mode 100644
index 0000000000000..26af7ad24c92f
--- /dev/null
+++ b/pkgs/development/python-modules/youseedee/0001-use-packaged-unicode-data.patch
@@ -0,0 +1,25 @@
+From 9013d36cfe7b2958eb18ce373f49193b66a0bbf6 Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <djc@djc.id.au>
+Date: Sun, 23 Apr 2023 16:14:55 +1000
+Subject: [PATCH] use packaged unicode data
+
+
+diff --git a/lib/youseedee/__init__.py b/lib/youseedee/__init__.py
+index 4424ef1..9a72f52 100644
+--- a/lib/youseedee/__init__.py
++++ b/lib/youseedee/__init__.py
+@@ -11,10 +11,7 @@
+ UCD_URL = "https://unicode.org/Public/UCD/latest/ucd/UCD.zip"
+ 
+ def ucd_dir():
+-  ucddir = os.path.expanduser("~/.youseedee")
+-  if not os.path.isdir(ucddir):
+-    os.mkdir(ucddir)
+-  return ucddir
++  return "@ucd_dir@"
+ 
+ def ensure_files():
+   if os.path.isfile(os.path.join(ucd_dir(), "UnicodeData.txt")):
+-- 
+2.38.4
+
diff --git a/pkgs/development/python-modules/youseedee/default.nix b/pkgs/development/python-modules/youseedee/default.nix
new file mode 100644
index 0000000000000..65a98c350b283
--- /dev/null
+++ b/pkgs/development/python-modules/youseedee/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, substituteAll
+, requests
+, unicode-character-database
+}:
+
+buildPythonPackage rec {
+  pname = "youseedee";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-fdI4CBUSMbdKW0qg4y22wjWI6bhotgDkQdFMc9X00as=";
+  };
+
+  patches = [
+    # Load data files from the unicode-character-database package instead of
+    # downloading them from the internet. (nixpkgs-specific, not upstreamable)
+    (substituteAll {
+      src = ./0001-use-packaged-unicode-data.patch;
+      ucd_dir = "${unicode-character-database}/share/unicode";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  doCheck = true;
+  # Package has no unit tests, but we can check an example as per README.rst:
+  checkPhase = ''
+    runHook preCheck
+    python -m youseedee 0x078A | grep -q "'Block': 'Thaana'"
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Python library for querying the Unicode Character Database";
+    homepage = "https://github.com/simoncozens/youseedee";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danc86 ];
+  };
+}
diff --git a/pkgs/development/skaware-packages/s6-man-pages/default.nix b/pkgs/development/skaware-packages/s6-man-pages/default.nix
index 417d2d368cd61..c21da0e17ae24 100644
--- a/pkgs/development/skaware-packages/s6-man-pages/default.nix
+++ b/pkgs/development/skaware-packages/s6-man-pages/default.nix
@@ -2,8 +2,8 @@
 
 buildManPages {
   pname = "s6-man-pages";
-  version = "2.11.3.2.4";
-  sha256 = "02dmccmcwssv8bkzs3dlbnwl6kkp1crlbnlv5ljbrgm26klw9rc7";
+  version = "2.12.0.2.1";
+  sha256 = "sha256-fFU+cRwXb4SwHsI/r0ghuzCf6hEK/muPPp2XMvD8VtQ=";
   description = "Port of the documentation for the s6 supervision suite to mdoc";
   maintainers = [ lib.maintainers.sternenseemann ];
 }
diff --git a/pkgs/development/tools/bloaty/default.nix b/pkgs/development/tools/bloaty/default.nix
index ff24e7b7c1cdf..96a6d28e97877 100644
--- a/pkgs/development/tools/bloaty/default.nix
+++ b/pkgs/development/tools/bloaty/default.nix
@@ -1,23 +1,55 @@
-{ lib, stdenv, cmake, zlib, fetchFromGitHub }:
+{ lib, stdenv, cmake, zlib, fetchFromGitHub, re2, abseil-cpp, protobuf, capstone, gtest, pkg-config, lit, llvmPackages_16 }:
 
 stdenv.mkDerivation rec {
-  version = "1.1";
   pname = "bloaty";
+  version = "1.1-unstable-2023-11-06";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "bloaty";
-    rev = "v${version}";
-    sha256 = "1556gb8gb8jwf5mwxppcqz3mp269b5jhd51kj341iqkbn27zzngk";
-    fetchSubmodules = true;
+    rev = "16f9fe54d9cd0e9abe1d25fc1a9b44c214cfaa9f";
+    hash = "sha256-mIVlNMKtJMfH2QdYZ6+oV7619oYzvKkq3fHY6uofqlM=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  # Old vendored package which has no other use than here, so not packaged in nixpkgs.
+  demumble = fetchFromGitHub {
+    owner = "nico";
+    repo = "demumble";
+    rev = "01098eab821b33bd31b9778aea38565cd796aa85";
+    hash = "sha256-605SsXd7TSdm3BH854ChHIZbOXcHI/n8RN+pFMz4Ex4=";
+  };
+
+  cmakeFlags = [
+    "-DLIT_EXECUTABLE=${lit}/bin/lit"
+    "-DFILECHECK_EXECUTABLE=${llvmPackages_16.libllvm}/bin/FileCheck"
+    "-DYAML2OBJ_EXECUTABLE=${llvmPackages_16.libllvm}/bin/yaml2obj"
+  ];
+
+  postPatch = ''
+    # Build system relies on some of those source files
+    rm -rf third_party/googletest third_party/abseil-cpp third_party/demumble
+    ln -s ${gtest.src} third_party/googletest
+    ln -s ${abseil-cpp.src} third_party/abseil-cpp
+    ln -s ${demumble} third_party/demumble
+    substituteInPlace CMakeLists.txt \
+      --replace "find_package(Python COMPONENTS Interpreter)" "" \
+      --replace "if(Python_FOUND AND LIT_EXECUTABLE" "if(LIT_EXECUTABLE" \
+      --replace "COMMAND \''\${Python_EXECUTABLE} \''\${LIT_EXECUTABLE}" "COMMAND \''\${LIT_EXECUTABLE}"
+    # wasm test fail. Possibly due to LLVM version < 17. See https://github.com/google/bloaty/pull/354
+    rm -rf tests/wasm
+  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ zlib ];
+  buildInputs = [ zlib re2 abseil-cpp protobuf capstone gtest lit llvmPackages_16.libllvm ];
 
   doCheck = true;
 
+  postCheck = ''
+    # These lit tests need to be build seperatly.
+    # See https://github.com/google/bloaty/blob/main/tests/README.md
+    cmake --build . --target check-bloaty
+  '';
   installPhase = ''
     install -Dm755 {.,$out/bin}/bloaty
   '';
diff --git a/pkgs/development/tools/cucumber/Gemfile.lock b/pkgs/development/tools/cucumber/Gemfile.lock
index 11d066eaea1b4..56928d9368e93 100644
--- a/pkgs/development/tools/cucumber/Gemfile.lock
+++ b/pkgs/development/tools/cucumber/Gemfile.lock
@@ -2,12 +2,12 @@ GEM
   remote: https://rubygems.org/
   specs:
     builder (3.2.4)
-    cucumber (9.0.2)
+    cucumber (9.1.0)
       builder (~> 3.2, >= 3.2.4)
       cucumber-ci-environment (~> 9.2, >= 9.2.0)
-      cucumber-core (~> 11.1, >= 11.1.0)
-      cucumber-cucumber-expressions (~> 16.1, >= 16.1.2)
-      cucumber-gherkin (>= 24, < 26.2.1)
+      cucumber-core (~> 12.0)
+      cucumber-cucumber-expressions (~> 17.0)
+      cucumber-gherkin (>= 24, < 27)
       cucumber-html-formatter (~> 20.4, >= 20.4.0)
       cucumber-messages (>= 19, < 23)
       diff-lcs (~> 1.5, >= 1.5.0)
@@ -15,17 +15,17 @@ GEM
       multi_test (~> 1.1, >= 1.1.0)
       sys-uname (~> 1.2, >= 1.2.3)
     cucumber-ci-environment (9.2.0)
-    cucumber-core (11.1.0)
-      cucumber-gherkin (>= 24, < 27)
-      cucumber-messages (>= 19, < 22)
-      cucumber-tag-expressions (~> 4.1, >= 4.1.0)
-    cucumber-cucumber-expressions (16.1.2)
+    cucumber-core (12.0.0)
+      cucumber-gherkin (>= 25, < 27)
+      cucumber-messages (>= 20, < 23)
+      cucumber-tag-expressions (~> 5.0, >= 5.0.4)
+    cucumber-cucumber-expressions (17.0.1)
     cucumber-gherkin (26.2.0)
       cucumber-messages (>= 19.1.4, < 22.1)
     cucumber-html-formatter (20.4.0)
       cucumber-messages (>= 18.0, < 22.1)
-    cucumber-messages (21.0.1)
-    cucumber-tag-expressions (4.1.0)
+    cucumber-messages (22.0.0)
+    cucumber-tag-expressions (5.0.6)
     diff-lcs (1.5.0)
     ffi (1.16.3)
     mini_mime (1.1.5)
@@ -40,4 +40,4 @@ DEPENDENCIES
   cucumber
 
 BUNDLED WITH
-   2.4.20
+   2.4.22
diff --git a/pkgs/development/tools/cucumber/gemset.nix b/pkgs/development/tools/cucumber/gemset.nix
index 16d750887a3e2..1f8f35f1098c0 100644
--- a/pkgs/development/tools/cucumber/gemset.nix
+++ b/pkgs/development/tools/cucumber/gemset.nix
@@ -15,10 +15,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hwbq5sn4hsd922j1p3a4p2404306yczgx2vqggvr20q01fzx55h";
+      sha256 = "0gmbbj4s4cv9aifks29q9w9yjcrvihcz1i8sijplwbps7334skv1";
       type = "gem";
     };
-    version = "9.0.2";
+    version = "9.1.0";
   };
   cucumber-ci-environment = {
     groups = ["default"];
@@ -36,20 +36,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02mrykswrxziy08fc9fjvg3l2aa6jfji2012wzh7pyamhm8pcnjb";
+      sha256 = "1ylxpganbvlzcd4picmgbs060cf0nlpkjc7lqxndyr6xaz2g99y2";
       type = "gem";
     };
-    version = "11.1.0";
+    version = "12.0.0";
   };
   cucumber-cucumber-expressions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s8bazf8bwlm0zar2316p4xxmpy44wyjnw2z6bj7zc5nl8nmyvym";
+      sha256 = "0xyvg7l2y9b9gh682z47zcf1na179n8j7bwfyahp79w8s047660b";
       type = "gem";
     };
-    version = "16.1.2";
+    version = "17.0.1";
   };
   cucumber-gherkin = {
     dependencies = ["cucumber-messages"];
@@ -78,20 +78,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0482a63y7my0arn2bv208g401dq8525f0gwhnwaa11mhv6ph0q5i";
+      sha256 = "06d7dnixz68ivngf6qflmi6xrjshjyi85gmyjrl07pbmhqi6r2nh";
       type = "gem";
     };
-    version = "21.0.1";
+    version = "22.0.0";
   };
   cucumber-tag-expressions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v1ssg4chkahck1ddl2j1hcifm0vlcn9sb104ywshw5gyv59s9qd";
+      sha256 = "0rmbw044fdy2756ypnqray8abfxqvwrn1jhsdafdbjwihvvsk62f";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "5.0.6";
   };
   diff-lcs = {
     groups = ["default"];
diff --git a/pkgs/development/tools/database/litefs/default.nix b/pkgs/development/tools/database/litefs/default.nix
index c12cde6af9185..4c941a7609aa7 100644
--- a/pkgs/development/tools/database/litefs/default.nix
+++ b/pkgs/development/tools/database/litefs/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "litefs";
-  version = "0.5.4";
+  version = "0.5.8";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gTXIQVnNyVn2UqigozvEPaPm3XoqHd6E0RZnZS4bP3g=";
+    sha256 = "sha256-oF69bmWI4I/ok89Rgve4eedMR9MCcaxmQ4bGff831dI=";
   };
 
-  vendorHash = "sha256-4e1tAAXM2EYuqe1AbN1wng/bq1BP7MSOV6woeKjc3x4=";
+  vendorHash = "sha256-6Dg1fU4y0eUeiX9uUwJ2IUxBr81vWR6eUuCV+iPBNBk=";
 
   subPackages = [ "cmd/litefs" ];
 
diff --git a/pkgs/development/tools/fastgron/default.nix b/pkgs/development/tools/fastgron/default.nix
index d92c72e04d8fc..77c09fef99f3d 100644
--- a/pkgs/development/tools/fastgron/default.nix
+++ b/pkgs/development/tools/fastgron/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fastgron";
-  version = "0.6.5";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "adamritter";
     repo = "fastgron";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-R4s41p7pnYFrjM2CTY1TAYNZCCcKqBS4sPe54CTRFyY=";
+    hash = "sha256-IBs6oC+dbssAkUGk84vXteSlO6j88LZlmlmcV77M2YM=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index f03d51273454a..77689b1e1f873 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.31.0";
+  version = "3.32.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KkswkTgdhDzPLfbAdyhbo9IyYqxG5se0pt9QVTNZclM=";
+    hash = "sha256-ngBYnPwZ+B5BB2avnR2J6+8mNxT9vxtI8f9agNtD8uw=";
   };
 
-  vendorHash = "sha256-ha2vJDh1rduoFU4a1Ta1cNWegAGt2VCq8N1emUYUZ64=";
+  vendorHash = "sha256-mPQ7sSFLzvcWtNh3pFhHKpnu5gXK+wC5qbGMRLZFTBE=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/goperf/default.nix b/pkgs/development/tools/goperf/default.nix
new file mode 100644
index 0000000000000..ed1a6c1a23b7e
--- /dev/null
+++ b/pkgs/development/tools/goperf/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildGoModule
+, fetchgit
+, writeShellScript
+, unstableGitUpdater
+, sd
+}:
+
+buildGoModule rec {
+  pname = "goperf";
+  version = "unstable-2023-11-08";
+
+  src = fetchgit {
+    url = "https://go.googlesource.com/perf";
+    rev = "cb71e802ccb878a069712546879bf26489f0f300";
+    hash = "sha256-1NvrelLsy9lrepttXXnggc0oycC6EgJgU80iXDu3IoI=";
+  };
+
+  vendorHash = "sha256-dJQHqIR6v0yYbxplytkdA98IHtdxnsvi9X6kIESCsB8=";
+
+  passthru.updateScript = writeShellScript "update-goperf" ''
+    export UPDATE_NIX_ATTR_PATH=goperf
+    ${lib.escapeShellArgs (unstableGitUpdater { inherit (src) url; })}
+    set -x
+    oldhash="$(nix-instantiate . --eval --strict -A "goperf.go-modules.drvAttrs.outputHash" | cut -d'"' -f2)"
+    newhash="$(nix-build -A goperf.go-modules --no-out-link 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
+    fname="$(nix-instantiate --eval -E 'with import ./. {}; (builtins.unsafeGetAttrPos "version" goperf).file' | cut -d'"' -f2)"
+    ${lib.getExe sd} --string-mode "$oldhash" "$newhash" "$fname"
+  '';
+
+  meta = with lib; {
+    description = "Tools and packages for analyzing Go benchmark results";
+    homepage = "https://cs.opensource.google/go/x/perf";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix
index 090e5fa8fd7d7..0df1b97b15204 100644
--- a/pkgs/development/tools/heroku/default.nix
+++ b/pkgs/development/tools/heroku/default.nix
@@ -1,19 +1,12 @@
-{ stdenv, lib, fetchzip, makeWrapper, nodejs }:
+{ stdenv, lib, fetchzip, makeWrapper, nodejs, writeScript }:
 
-let
-  # version and commit pairs can be found in the URLs at
-  # https://cli-assets.heroku.com/versions/heroku-linux-x64-tar-xz.json
-  version = "8.7.1";
-  commit = "3f5e369";
-  hash = "sha256-3pCutQBS8N1Yw4JKTvU046UrOxBi0wLRQywxwezAEeU";
-in
 stdenv.mkDerivation {
   pname = "heroku";
-  inherit version;
+  version = "8.7.1";
 
   src = fetchzip {
-    url = "https://cli-assets.heroku.com/versions/${version}/${commit}/heroku-v${version}-${commit}-linux-x64.tar.xz";
-    inherit hash;
+    url = "https://cli-assets.heroku.com/versions/8.7.1/3f5e369/heroku-v8.7.1-3f5e369-linux-x64.tar.xz";
+    hash = "sha256-3pCutQBS8N1Yw4JKTvU046UrOxBi0wLRQywxwezAEeU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -29,6 +22,19 @@ stdenv.mkDerivation {
       --set HEROKU_DISABLE_AUTOUPDATE 1
   '';
 
+  passthru.updateScript = writeScript "update-heroku" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -I nixpkgs=./. -i bash -p nix-prefetch curl jq common-updater-scripts
+    resp="$(
+        curl -L "https://cli-assets.heroku.com/versions/heroku-linux-x64-tar-xz.json" \
+            | jq '[to_entries[] | { version: .key, url: .value } | select(.version|contains("-")|not)] | sort_by(.version|split(".")|map(tonumber)) | .[-1]'
+    )"
+    url="$(jq <<<"$resp" .url --raw-output)"
+    version="$(jq <<<"$resp" .version --raw-output)"
+    hash="$(nix-prefetch fetchzip --url "$(jq <<<"$resp" .url --raw-output)")"
+    update-source-version heroku "$version" "$hash" "$url"
+  '';
+
   meta = {
     homepage = "https://devcenter.heroku.com/articles/heroku-cli";
     description = "Everything you need to get started using Heroku";
diff --git a/pkgs/development/tools/konstraint/default.nix b/pkgs/development/tools/konstraint/default.nix
index f5afe959967a6..b60011095f448 100644
--- a/pkgs/development/tools/konstraint/default.nix
+++ b/pkgs/development/tools/konstraint/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PSJNPN5hd5Tgt6F70II2gMiUiU0irncSefm6Q7WjUDE=";
+    sha256 = "sha256-rZDLnr3FNLNOadmST70p5ZusK+p9SiUmVrnc5TrKuK4=";
   };
-  vendorHash = "sha256-0zWTVE82GaSyWfgbRASpNdO/d4kKOts1XdPspmgfpV8=";
+  vendorHash = "sha256-gaY3U6+Emk6La5wPyT5TvgTwPsh2Ws2t7C8B5T4c46E=";
 
   # Exclude go within .github folder
   excludedPackages = ".github";
diff --git a/pkgs/development/tools/melange/default.nix b/pkgs/development/tools/melange/default.nix
index f5a5eb8ee85ab..9e2ce1cb0a998 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.4.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "chainguard-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-sEmbfX7W1juymAxcWwDNxI8d/o7NS2S+0TJM6Vi9aQo=";
+    hash = "sha256-3xUSxsY/+66xldkkGahyCun2SoL1njRkJtdqxlMczD8=";
     # 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-IkbXZu6iHRXjWFsLtRBDxwJio5sVVZvHylk1al0S+/c=";
+  vendorHash = "sha256-XrSq55Cz1ixawx9W7jw16tTxyAVZ8h71iA5zO+H8dCg=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/misc/hydra/unstable.nix b/pkgs/development/tools/misc/hydra/unstable.nix
index 373f80a2f0522..544a0221737e4 100644
--- a/pkgs/development/tools/misc/hydra/unstable.nix
+++ b/pkgs/development/tools/misc/hydra/unstable.nix
@@ -123,16 +123,17 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hydra";
-  version = "2023-12-01";
+  version = "2023-12-04";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "4d1c8505120961f10897b8fe9a070d4e193c9a13";
-    hash = "sha256-vXTuE83GL15mgZHegbllVAsVdDFcWWSayPfZxTJN5ys=";
+    rev = "4dc8fe0b08edc421c251270ccd4be3e5bf9d66b4";
+    hash = "sha256-FjyMb5ZbPa2GLrRuFMUP/foKb0KvXFKThvgc9faFIw8=";
   };
 
   buildInputs = [
+    unzip
     libpqxx
     top-git
     mercurial
@@ -179,7 +180,6 @@ stdenv.mkDerivation rec {
     makeWrapper
     pkg-config
     mdbook
-    unzip
     nukeReferences
   ];
 
diff --git a/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix b/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
index cfcd86f9dc2b1..78a04adde7977 100644
--- a/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
+++ b/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nxpmicro-mfgtools";
-  version = "1.5.125";
+  version = "1.5.139";
 
   src = fetchFromGitHub {
     owner = "nxp-imx";
     repo = "mfgtools";
     rev = "uuu_${version}";
-    sha256 = "sha256-f9Nt303xXZzLSu3GtOEpyaL91WVFUmKO7mxi8UNX3go=";
+    sha256 = "sha256-t5usUGbcdLQlqPpZkNDeGncka9VfkpO7U933Kw/Sm7U=";
   };
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles ];
diff --git a/pkgs/development/tools/misc/segger-ozone/default.nix b/pkgs/development/tools/misc/segger-ozone/default.nix
index 9e048df457678..8109c1e42a368 100644
--- a/pkgs/development/tools/misc/segger-ozone/default.nix
+++ b/pkgs/development/tools/misc/segger-ozone/default.nix
@@ -1,14 +1,13 @@
-{ stdenv
+{ lib
+, stdenv
 , fetchurl
+, autoPatchelfHook
 , fontconfig
 , freetype
-, lib
 , libICE
 , libSM
-, udev
 , libX11
 , libXcursor
-, libXext
 , libXfixes
 , libXrandr
 , libXrender
@@ -16,42 +15,45 @@
 
 stdenv.mkDerivation rec {
   pname = "segger-ozone";
-  version = "3.28e";
+  version = "3.30b";
 
-  src = fetchurl {
-    url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${(lib.replaceStrings ["."] [""] version)}_x86_64.tgz";
-    sha256 = "BfmKBAKyTA0V31zkwFLrbT0Xob221KfHa6v0VxKFsSI=";
-  };
+  src = {
+    x86_64-linux = fetchurl {
+      url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${builtins.replaceStrings ["."] [""] version}_x86_64.tgz";
+      hash = "sha256-W8Fo0q58pAn1aB92CjYARcN3vMLEguvsyozsS7VRArQ=";
+    };
+    i686-linux = fetchurl {
+      url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${builtins.replaceStrings ["."] [""] version}_i386.tgz";
+      hash = "sha256-Xq/69lwF2Ll5VdkYMDNRtc0YUUvWc+XR0FHJXxOLNQ4=";
+    };
+  }.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
 
-  rpath = lib.makeLibraryPath [
+  buildInputs = [
     fontconfig
     freetype
     libICE
     libSM
-    udev
     libX11
     libXcursor
-    libXext
     libXfixes
     libXrandr
     libXrender
-  ]
-  + ":${stdenv.cc.cc.lib}/lib64";
+    stdenv.cc.cc.lib
+  ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     mv Lib lib
     mv * $out
     ln -s $out/Ozone $out/bin
-  '';
-
-  postFixup = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/Ozone" \
-      --set-rpath ${rpath}:$out/lib "$out/Ozone"
 
-    for file in $(find $out/lib -maxdepth 1 -type f -and -name \*.so\*); do
-      patchelf --set-rpath ${rpath}:$out/lib $file
-    done
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -80,6 +82,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     maintainers = [ maintainers.bmilanov ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/development/tools/rust/cargo-deb/default.nix b/pkgs/development/tools/rust/cargo-deb/default.nix
index a9b76710605ed..257819f4ad3b7 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 = "1.42.2";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "kornelski";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-s/piZ8sCdBz5zFW9i7xdVrf7dQiMjQp/ixCDjFh5SLc=";
+    hash = "sha256-DgKGnIA2ovBLja+r+nYZ97UPaWO7a7RXeXa10guZBTc=";
   };
 
-  cargoHash = "sha256-4iJghmSXsaijNCvYyrM3dEsqCDk6zeTU92oP5Qs6tOY=";
+  cargoHash = "sha256-Sv9i8f0ywMNvjA2yvCX+2ZhFuNCovEGiaMxkg/IV36g=";
 
   nativeBuildInputs = [
     makeWrapper
@@ -25,6 +25,7 @@ rustPlatform.buildRustPackage rec {
   # This is an FHS specific assert depending on glibc location
   checkFlags = [
     "--skip=dependencies::resolve_test"
+    "--skip=run_cargo_deb_command_on_example_dir_with_separate_debug_symbols"
   ];
 
   postInstall = ''
diff --git a/pkgs/development/tools/vsce/default.nix b/pkgs/development/tools/vsce/default.nix
index caddb568c65f0..911ee57a6932c 100644
--- a/pkgs/development/tools/vsce/default.nix
+++ b/pkgs/development/tools/vsce/default.nix
@@ -12,13 +12,13 @@
 
 buildNpmPackage rec {
   pname = "vsce";
-  version = "2.21.1";
+  version = "2.22.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "vscode-vsce";
     rev = "v${version}";
-    hash = "sha256-cFqjoWQu/6cvbT1vxReERybuKpeL4LCVl5qhvSwr6fs=";
+    hash = "sha256-zpZ/PsqZ9yRDKTXkSrcBgSxYer7JdjNZqsseHwfzkEY=";
   };
 
   npmDepsHash = "sha256-Difk9a9TYmfwzP9SawEuaxm7iHVjdfO+FxFCE7aEMzM=";
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index 9dbbd19d46808..35066727de98d 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.40.1";
+  version = "4.40.3";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    hash = "sha256-S2hsZkospf1VMH/fDLiALEraOA8dbG62JejGY2T/tRU=";
+    hash = "sha256-id8KhHOOpRruANLGxdHIvs86ZEIDzhdbXtgXqWtl5Tc=";
   };
 
-  vendorHash = "sha256-ggb8ZX2KBj/oY+vomCme/7KlnfsykMm4l027kwlxpWY=";
+  vendorHash = "sha256-9gLtVO4HFra1FaFjTwE02x8q1MkrI/Vo/mYZ2iIa7cU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -23,7 +23,7 @@ buildGoModule rec {
   '';
 
   passthru.tests = {
-    simple = runCommand "${pname}-test" {} ''
+    simple = runCommand "${pname}-test" { } ''
       echo "test: 1" | ${yq-go}/bin/yq eval -j > $out
       [ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ]
     '';
diff --git a/pkgs/development/tools/zed/default.nix b/pkgs/development/tools/zed/default.nix
index 557e0aff6e271..884b73e9ede8b 100644
--- a/pkgs/development/tools/zed/default.nix
+++ b/pkgs/development/tools/zed/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "zed";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "brimdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-d/XJirgJlS4jTlmATQpFH+Yn7M4EdY0yNDKM1A2NjoA=";
+    sha256 = "sha256-jW++0am4UfMR9f4Qib7LSald06MzjDVTBWJKV4Ebbsw=";
   };
 
-  vendorHash = "sha256-n/7HV3dyV8qsJeEk+vikZvuM5G7nf0QOwVBtInJdU2k=";
+  vendorHash = "sha256-BWvMy1dc3PzAc3kDTXtI6Y8kjRGLWR+aUleItg5EgRU=";
 
   subPackages = [ "cmd/zed" "cmd/zq" ];
 
diff --git a/pkgs/games/doom-ports/zandronum/add_gitinfo.patch b/pkgs/games/doom-ports/zandronum/add_gitinfo.patch
index 4d8d7c8379618..33f51ecb125dd 100644
--- a/pkgs/games/doom-ports/zandronum/add_gitinfo.patch
+++ b/pkgs/games/doom-ports/zandronum/add_gitinfo.patch
@@ -1,15 +1,15 @@
-diff -Naur blah/src/gitinfo.h blah2/src/gitinfo.h
---- blah/src/gitinfo.h	1969-12-31 16:00:00.000000000 -0800
-+++ blah2/src/gitinfo.h	2017-09-15 01:44:43.953562714 -0700
+diff -r 4178904d7698 src/gitinfo.h
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/src/gitinfo.h	Fri Dec 01 13:02:42 2023 -0300
 @@ -0,0 +1,11 @@
-+// dd3c3b57023f64cda84f09ed13e4c03a4ad2b920
++// 4178904d769879e6c2919fb647ee6dd2736399e9
 +//
 +// This file was automatically generated by the
 +// updaterevision tool. Do not edit by hand.
 +
-+#define GIT_DESCRIPTION "ZA_3.0-0-dd3c3b57023f"
-+#define GIT_HASH "dd3c3b57023f64cda84f09ed13e4c03a4ad2b920"
-+#define GIT_TIME "2017-09-01 06:40:50 -0500"
-+#define HG_REVISION_NUMBER 1504266050
-+#define HG_REVISION_HASH_STRING "dd3c3b57023f"
-+#define HG_TIME "170901-1140"
++#define GIT_DESCRIPTION "ZA_3.0.1-572-4178904d7698"
++#define GIT_HASH "4178904d769879e6c2919fb647ee6dd2736399e9"
++#define GIT_TIME "2021-12-11 16:35:55 -0500"
++#define HG_REVISION_NUMBER 1639258555
++#define HG_REVISION_HASH_STRING "4178904d7698"
++#define HG_TIME "211211-2135"
diff --git a/pkgs/games/doom-ports/zandronum/default.nix b/pkgs/games/doom-ports/zandronum/default.nix
index 436a8738b5b12..0006ea3c7ce54 100644
--- a/pkgs/games/doom-ports/zandronum/default.nix
+++ b/pkgs/games/doom-ports/zandronum/default.nix
@@ -1,36 +1,54 @@
-{ stdenv, lib, fetchhg, cmake, pkg-config, makeWrapper, callPackage
-, soundfont-fluid, SDL, libGL, glew, bzip2, zlib, libjpeg, fluidsynth, openssl, gtk2, python3, game-music-emu
+{ stdenv
+, lib
+, fetchhg
+, cmake
+, pkg-config
+, makeWrapper
+, callPackage
+, soundfont-fluid
+, SDL_compat
+, libGL
+, glew
+, bzip2
+, zlib
+, libjpeg
+, fluidsynth
+, fmodex
+, openssl
+, gtk2
+, python3
+, game-music-emu
 , serverOnly ? false
 }:
 
 let
   suffix = lib.optionalString serverOnly "-server";
-  fmod = callPackage ./fmod.nix { };
+  fmod = fmodex; # fmodex is on nixpkgs now
   sqlite = callPackage ./sqlite.nix { };
   clientLibPath = lib.makeLibraryPath [ fluidsynth ];
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "zandronum${suffix}";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchhg {
-    url = "https://hg.osdn.net/view/zandronum/zandronum-stable";
-    rev = "ZA_${version}";
-    sha256 = "16v5b6wfrmabs3ky6isbfhlrqdjrr1pvfxlxwk0im02kcpxxw9qw";
+    # expired ssl certificate
+    url = "http://hg.osdn.net/view/zandronum/zandronum-stable";
+    rev = "4178904d7698";
+    hash = "sha256-5t36CoRPPjDKQE0DVSv2Qqpqko6JAXBI53tuAYiylHQ=";
   };
 
   # zandronum tries to download sqlite now when running cmake, don't let it
-
   # it also needs the current mercurial revision info embedded in gitinfo.h
   # otherwise, the client will fail to connect to servers because the
   # protocol version doesn't match.
-
-  patches = [ ./zan_configure_impurity.patch ./add_gitinfo.patch ./dont_update_gitinfo.patch ];
+  patches = [ ./zan_configure_impurity.patch ./dont_update_gitinfo.patch ./add_gitinfo.patch ];
 
   # I have no idea why would SDL and libjpeg be needed for the server part!
   # But they are.
-  buildInputs = [ openssl bzip2 zlib SDL libjpeg sqlite game-music-emu ]
-             ++ lib.optionals (!serverOnly) [ libGL glew fmod fluidsynth gtk2 ];
+  buildInputs = [ openssl bzip2 zlib SDL_compat libjpeg sqlite game-music-emu ]
+    ++ lib.optionals (!serverOnly) [ libGL glew fmod fluidsynth gtk2 ];
 
   nativeBuildInputs = [ cmake pkg-config makeWrapper python3 ];
 
@@ -53,6 +71,7 @@ in stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  # Won't work well without C or en_US. Setting LANG might not be enough if the user is making use of LC_* so wrap with LC_ALL instead
   installPhase = ''
     mkdir -p $out/bin
     mkdir -p $out/lib/zandronum
@@ -61,6 +80,8 @@ in stdenv.mkDerivation rec {
        ${lib.optionalString (!serverOnly) "liboutput_sdl.so"} \
        $out/lib/zandronum
     makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}
+    wrapProgram $out/bin/zandronum${suffix} \
+      --set LC_ALL="C"
   '';
 
   postFixup = lib.optionalString (!serverOnly) ''
@@ -76,7 +97,7 @@ in stdenv.mkDerivation rec {
     homepage = "https://zandronum.com/";
     description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
     maintainers = with maintainers; [ lassulus MP2E ];
-    license = licenses.unfreeRedistributable;
+    license = licenses.sleepycat;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch b/pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch
index d6dd3a58f4577..d1cf831819c32 100644
--- a/pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch
+++ b/pkgs/games/doom-ports/zandronum/dont_update_gitinfo.patch
@@ -1,10 +1,10 @@
-diff -r dd3c3b57023f src/CMakeLists.txt
---- a/src/CMakeLists.txt	Fri Sep 01 06:40:50 2017 -0500
-+++ b/src/CMakeLists.txt	Fri Sep 15 01:46:34 2017 -0700
-@@ -636,15 +636,6 @@
-	add_definitions( -DBACKPATCH )
+diff -r 4178904d7698 src/CMakeLists.txt
+--- a/src/CMakeLists.txt	Sat Dec 11 16:35:55 2021 -0500
++++ b/src/CMakeLists.txt	Fri Dec 01 13:00:32 2023 -0300
+@@ -642,15 +642,6 @@
+ 	add_definitions( -DBACKPATCH )
  endif( BACKPATCH )
-
+ 
 -# Update gitinfo.h
 -
 -get_target_property( UPDATEREVISION_EXE updaterevision LOCATION )
@@ -15,5 +15,5 @@ diff -r dd3c3b57023f src/CMakeLists.txt
 -	DEPENDS updaterevision )
 -
  # Libraries ZDoom needs
-
+ 
  message( STATUS "Fluid synth libs: ${FLUIDSYNTH_LIBRARIES}" )
diff --git a/pkgs/games/doom-ports/zandronum/sqlite.nix b/pkgs/games/doom-ports/zandronum/sqlite.nix
index c7687f89589d7..67dbb84f515a8 100644
--- a/pkgs/games/doom-ports/zandronum/sqlite.nix
+++ b/pkgs/games/doom-ports/zandronum/sqlite.nix
@@ -8,8 +8,8 @@ stdenv.mkDerivation {
   version = "3.0";
 
   src = fetchurl {
-    url = "https://www.sqlite.org/2017/sqlite-autoconf-3180000.tar.gz";
-    hash = "sha256-N1dhJGOXbn0IxenwrzAhYT/CS7z+HFEZfWd2uezprFw=";
+    url = "https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz";
+    sha256 = "1qxwkfvd185dfcqbakrzikrsw6ffr5jp1gl3dch9dsdyjvmw745x";
   };
 
   buildPhase = ''
diff --git a/pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch b/pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch
index 0cf7150502e4e..9dafc6219d296 100644
--- a/pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch
+++ b/pkgs/games/doom-ports/zandronum/zan_configure_impurity.patch
@@ -1,13 +1,13 @@
-diff -r 6d5130e4ae52 sqlite/CMakeLists.txt
---- a/sqlite/CMakeLists.txt	Sun Sep 10 18:53:00 2017 +0200
-+++ b/sqlite/CMakeLists.txt	Fri Sep 15 00:12:11 2017 -0700
-@@ -1,62 +1,5 @@
+diff -r 4178904d7698 sqlite/CMakeLists.txt
+--- a/sqlite/CMakeLists.txt	Sat Dec 11 16:35:55 2021 -0500
++++ b/sqlite/CMakeLists.txt	Fri Dec 01 12:57:55 2023 -0300
+@@ -1,65 +1,5 @@
  cmake_minimum_required( VERSION 2.4 )
-
+ 
 -# [BB/EP] Download SQLite archive and extract the sources if necessary.
--set( ZAN_SQLITE_VERSION 3180000 ) # SQL version 3.18.0
--set( ZAN_SQLITE_YEAR 2017 )
--set( ZAN_SQLITE_SHA1 "74559194e1dd9b9d577cac001c0e9d370856671b" )
+-set( ZAN_SQLITE_VERSION 3360000 ) # SQL version 3.36.0
+-set( ZAN_SQLITE_YEAR 2021 )
+-set( ZAN_SQLITE_SHA1 "a4bcf9e951bfb9745214241ba08476299fc2dc1e" )
 -set( ZAN_SQLITE_DOWNLOAD_NAME "sqlite-autoconf-${ZAN_SQLITE_VERSION}" )
 -set( ZAN_SQLITE_TEMP_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz" )
 -set( ZAN_SQLITE_HASHED_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/sqlite-${ZAN_SQLITE_SHA1}.tar.gz" )
@@ -15,38 +15,41 @@ diff -r 6d5130e4ae52 sqlite/CMakeLists.txt
 -if( IS_DIRECTORY ${ZAN_SQLITE_HASHED_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_HASHED_ARCHIVE} )
 -	message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_HASHED_ARCHIVE} must be a valid file.\n"
 -				"SQLite: Please remove it and try again." )
--elseif( NOT EXISTS ${ZAN_SQLITE_HASHED_ARCHIVE} )
+-elseif( ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3.c ) OR ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3.h ) OR ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3ext.h ) )
 -
--	if( IS_DIRECTORY ${ZAN_SQLITE_TEMP_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_TEMP_ARCHIVE} )
--		message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_TEMP_ARCHIVE} must be a valid file.\n"
+-	if( NOT EXISTS ${ZAN_SQLITE_HASHED_ARCHIVE} )
+-		if( IS_DIRECTORY ${ZAN_SQLITE_TEMP_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_TEMP_ARCHIVE} )
+-			message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_TEMP_ARCHIVE} must be a valid file.\n"
 -					"SQLite: Please remove it and try again." )
--	endif()
--	message( STATUS "SQLite: downloading the archive..." )
+-		endif()
 -
--	file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz ${ZAN_SQLITE_TEMP_ARCHIVE}
--			SHOW_PROGRESS
--			STATUS ZAN_SQLITE_DOWNLOAD_STATUS )
+-		message( STATUS "SQLite: downloading the archive..." )
 -
--	# Report any problem if present and abort immediately.
--	list( GET ZAN_SQLITE_DOWNLOAD_STATUS 0 ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
--	if( ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
--		list( GET ZAN_SQLITE_DOWNLOAD_STATUS 1 ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE )
--		message( FATAL_ERROR "SQLite: download failed. Reason: ${ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE}" )
--	endif()
+-		file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz ${ZAN_SQLITE_TEMP_ARCHIVE}
+-				SHOW_PROGRESS
+-				STATUS ZAN_SQLITE_DOWNLOAD_STATUS )
+-
+-		# Report any problem if present and abort immediately.
+-		list( GET ZAN_SQLITE_DOWNLOAD_STATUS 0 ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
+-		if( ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
+-			list( GET ZAN_SQLITE_DOWNLOAD_STATUS 1 ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE )
+-			message( FATAL_ERROR "SQLite: download failed. Reason: ${ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE}" )
+-		endif()
 -
--	# Check the hash. Abort immediately if it's not valid (something is wrong with the download)
--	file( SHA1 ${ZAN_SQLITE_TEMP_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 )
--	if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 )
--		message( FATAL_ERROR "SQLite: download failed. The downloaded file has a different hash:\n"
--					"SQLite:    valid:      ${ZAN_SQLITE_SHA1}\n"
--					"SQLite:    downloaded: ${ZAN_SQLITE_CURRENT_SHA1}" )
+-		# Check the hash. Abort immediately if it's not valid (something is wrong with the download)
+-		file( SHA1 ${ZAN_SQLITE_TEMP_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 )
+-		if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 )
+-			message( FATAL_ERROR "SQLite: download failed. The downloaded file has a different hash:\n"
+-						"SQLite:    valid:      ${ZAN_SQLITE_SHA1}\n"
+-						"SQLite:    downloaded: ${ZAN_SQLITE_CURRENT_SHA1}" )
+-		endif()
+-
+-		# Rename the archive.
+-		execute_process( COMMAND ${CMAKE_COMMAND} -E rename ${ZAN_SQLITE_TEMP_ARCHIVE} ${ZAN_SQLITE_HASHED_ARCHIVE} )
 -	endif()
 -
 -	message( STATUS "SQLite: saving the source files into the 'sqlite' directory." )
 -
--	# Rename the archive.
--	execute_process( COMMAND ${CMAKE_COMMAND} -E rename ${ZAN_SQLITE_TEMP_ARCHIVE} ${ZAN_SQLITE_HASHED_ARCHIVE} )
--
 -	# Extract the archive.
 -	execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ZAN_SQLITE_HASHED_ARCHIVE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
 -
@@ -61,5 +64,6 @@ diff -r 6d5130e4ae52 sqlite/CMakeLists.txt
 -	message( STATUS "SQLite: done." )
 -endif()
 -
- add_library( sqlite3 sqlite3.c )
- target_link_libraries( sqlite3 ${CMAKE_DL_LIBS} )
+ # [BB] Silence all GCC warnings
+ IF ( CMAKE_COMPILER_IS_GNUCXX )
+ 	ADD_DEFINITIONS ( -w )
diff --git a/pkgs/games/gcompris/default.nix b/pkgs/games/gcompris/default.nix
index 4a5670bb9c3e0..a9e9f860d8528 100644
--- a/pkgs/games/gcompris/default.nix
+++ b/pkgs/games/gcompris/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   version = "3.3";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-${version}.tar.xz";
+    url = "mirror://kde/stable/gcompris/qt/src/gcompris-qt-${version}.tar.xz";
     hash = "sha256-8hqiq1wYw4irbOXCrwcJqTMuLISzSmSqPuw2Rn8XzQA=";
   };
 
diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix
index 88c27d864cf10..9d390292733fc 100644
--- a/pkgs/games/runelite/default.nix
+++ b/pkgs/games/runelite/default.nix
@@ -6,6 +6,7 @@
 , jre
 , xorg
 , gitUpdater
+, libGL
 }:
 
 maven.buildMavenPackage rec {
@@ -45,7 +46,7 @@ maven.buildMavenPackage rec {
     ln -s ${desktop}/share/applications/RuneLite.desktop $out/share/applications/RuneLite.desktop
 
     makeWrapper ${jre}/bin/java $out/bin/runelite \
-      --prefix LD_LIBRARY_PATH : "${xorg.libXxf86vm}/lib" \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xorg.libXxf86vm libGL ]}" \
       --add-flags "-jar $out/share/RuneLite.jar"
   '';
 
diff --git a/pkgs/games/starsector/default.nix b/pkgs/games/starsector/default.nix
index e1bc4a8dbbcfe..2d70022049e1b 100644
--- a/pkgs/games/starsector/default.nix
+++ b/pkgs/games/starsector/default.nix
@@ -1,6 +1,7 @@
 { lib
 , fetchzip
 , libXxf86vm
+, libGL
 , makeWrapper
 , openal
 , openjdk
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ copyDesktopItems makeWrapper ];
-  buildInputs = [ xorg.libXxf86vm openal ];
+  buildInputs = [ xorg.libXxf86vm openal libGL ];
 
   dontBuild = true;
 
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 424781dd89580..aebe85f891bdf 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -31,13 +31,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "ultrastardx";
-  version = "2023.9.0";
+  version = "2023.11.0";
 
   src = fetchFromGitHub {
     owner = "UltraStar-Deluxe";
     repo = "USDX";
     rev = "v${version}";
-    hash = "sha256-KvYfWdpgN72F8Y5iFNba0SCjPoS33O3FAdrrC49xoGo=";
+    hash = "sha256-y+6RptHOYtNQXnWIe+e0MPyGK7t6x4+FTUQZkQSI3OA=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix
index 8630cc859917d..a1c8fb43c20f6 100644
--- a/pkgs/misc/scrcpy/default.nix
+++ b/pkgs/misc/scrcpy/default.nix
@@ -16,12 +16,12 @@
 }:
 
 let
-  version = "2.2";
+  version = "2.3.1";
   prebuilt_server = fetchurl {
     name = "scrcpy-server";
     inherit version;
     url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
-    hash = "sha256-yFxKqEMF77aRFc1JehIOvdECWJk7TPEjqCRbPZnUmHQ=";
+    hash = "sha256-9oFIIvwwinpTLyU0hckDgYPGKWpsXfRwqeODtPjnYFs=";
   };
 in
 stdenv.mkDerivation rec {
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = "scrcpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2/IsDZJAtERs2AG6J4LR/ffy4XYmaj0KeSwZLQ849Lc=";
+    hash = "sha256-RM29WjzsYnn26x/Xr2RKp0p87/v+Jl8skEcAwxhZEtU=";
   };
 
   #   display.c: When run without a hardware accelerator, this allows the command to continue working rather than failing unexpectedly.
diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 25b28539bc39d..dfbd892615fd7 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -1,19 +1,19 @@
 {
     "testing": {
-        "version": "6.7-rc3",
-        "hash": "sha256:1bi80271g76pcajzmzr0dxcmzzlzicqddm38mr7pkz8zi0070arf"
+        "version": "6.7-rc4",
+        "hash": "sha256:1igynlm5pv62brfkyjh6w8lzvmmy8c3g8phrn5wgdyy8svc48r8h"
     },
     "6.5": {
         "version": "6.5.13",
         "hash": "sha256:1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq"
     },
     "6.1": {
-        "version": "6.1.64",
-        "hash": "sha256:1ry7dp39010hfja1wial6r6q6ilgygwm7gdz22bg4rzaycwam7b2"
+        "version": "6.1.65",
+        "hash": "sha256:02mj394ina3npp6qqinc4pc6afp5pg1rlbjc90g4p902d29jjwj0"
     },
     "5.15": {
-        "version": "5.15.140",
-        "hash": "sha256:0isa9si9wjn10lw41431wdqsbp9y685ch5lzhwswng3g6j5ywaxy"
+        "version": "5.15.141",
+        "hash": "sha256:1yicgvq413801qrfzr0rdzwgg45dszrvfd6y9dmrhak9bk36lvck"
     },
     "5.10": {
         "version": "5.10.202",
@@ -32,7 +32,7 @@
         "hash": "sha256:03sk82dgvccv70i3hy8gf2hw0n4m305f7rxjw93p7jnjrbpdrp1r"
     },
     "6.6": {
-        "version": "6.6.3",
-        "hash": "sha256:19wmjkyyv5glv1w647qisrv829hhhpba5x905a7p7kch9wyzrv98"
+        "version": "6.6.4",
+        "hash": "sha256:0i9ym5nqf704iz5674k66kn9a5hkm0y0sdhqy5c6v39xr5h9dr29"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
index 85c8a8b8a10ea..8aaf8c5ecb16d 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "6.1.59-rt16"; # updated by ./update-rt.sh
+  version = "6.1.64-rt17"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
-    sha256 = "1860r1aan258yi2jq68bp1kdbcyy7ygc7d8g54wnc0vmqqj7fzv2";
+    sha256 = "1ry7dp39010hfja1wial6r6q6ilgygwm7gdz22bg4rzaycwam7b2";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1cmgw6a8zlj89172mp85lxaksz1pvc155mj2fq59l1ry35gwb5q7";
+      sha256 = "1vvn21bprsqqzmqvcmj1jx3xn1dc6kih5fib9qpcyrh0j1c7s077";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index e72df64c4a22e..4a1bd7543b1b9 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.6.3"; #zen
+    version = "6.6.4"; #zen
     suffix = "zen1"; #zen
-    sha256 = "0hjn4qq8dppa0cn4rx7n98cxvzhkbn30hlm3bgcv97fwyvglsdwc"; #zen
+    sha256 = "1zks4fpbw788aaw9rysdpfhmqzr8l5y6afq92md1gizyyl1rjhq1"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.6.3"; #lqx
+    version = "6.6.4"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "1mh2pngz589z1c4jqdx2slh1dsmjqq7f1yriz2yp50kkv8abff8z"; #lqx
+    sha256 = "049pga9bc5pbnwki5vmnz9pdx0p5r7sssb66b4580h9x9skzi9m2"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/os-specific/linux/light/default.nix b/pkgs/os-specific/linux/light/default.nix
index 6caa8e3945086..5a5064719fefa 100644
--- a/pkgs/os-specific/linux/light/default.nix
+++ b/pkgs/os-specific/linux/light/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     description = "GNU/Linux application to control backlights";
     homepage = "https://haikarainen.github.io/light/";
     license = lib.licenses.gpl3;
+    mainProgram = "light";
     maintainers = with lib.maintainers; [ puffnfresh dtzWill ];
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index ecfc04115d000..d9caae7f457fc 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -59,11 +59,11 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "535.43.16";
+    version = "535.43.19";
     persistencedVersion = "535.98";
     settingsVersion = "535.98";
-    sha256_64bit = "sha256-c93CJSMPlGZgk+jhp9zTHCKSZ0LdnJu+ifLo+qMvIIk=";
-    openSha256 = "sha256-509KaBavGIOOpzdrdJuAR1PYq91Clwo8n+nhruxO1wM=";
+    sha256_64bit = "sha256-zxyZnXpNQuYJ17NDm3s8P/7GzQ4xD4Q4oCZA0ei+Wqs=";
+    openSha256 = "sha256-K14Av5fCda1J9o5pkQBhmwW34d2hgqrF3J99FWPsNjM=";
     settingsSha256 = "sha256-jCRfeB1w6/dA27gaz6t5/Qo7On0zbAPIi74LYLel34s=";
     persistencedSha256 = "sha256-WviDU6B50YG8dO64CGvU3xK8WFUX8nvvVYm/fuGyroM=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index a8bd3ba5a7a1b..b45cf273dfd6b 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -38,12 +38,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
-  version = "3.12.7";
+  version = "3.12.8";
 
   # when updating, consider bumping elixir version in all-packages.nix
   src = fetchurl {
     url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-EX7+f6R1dfU2hYt2ftEjpevmaUtAJ1wHcr+X30z5Bb8=";
+    hash = "sha256-ggqTlKGeMr5jq64KkLIIHDmaR/otfE1nSSRjQICiR+Q=";
   };
 
   nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ];
diff --git a/pkgs/servers/komga/default.nix b/pkgs/servers/komga/default.nix
index f29a9b5f701e3..e35f552a347d2 100644
--- a/pkgs/servers/komga/default.nix
+++ b/pkgs/servers/komga/default.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "komga";
-  version = "1.6.4";
+  version = "1.8.3";
 
   src = fetchurl {
-    url = "https://github.com/gotson/${pname}/releases/download/v${version}/${pname}-${version}.jar";
-    sha256 = "sha256-tqrC3l2njYGRVIdvt86JVKTCVaAK7GPoYacx3hFRggg=";
+    url = "https://github.com/gotson/${pname}/releases/download/${version}/${pname}-${version}.jar";
+    sha256 = "sha256-kZzyDzFDVrzjScpvCFw5xXk3uCYW01sP7y28YDADVHc=";
   };
 
   nativeBuildInputs = [
@@ -27,12 +27,12 @@ stdenvNoCC.mkDerivation rec {
     komga = nixosTests.komga;
   };
 
-  meta = with lib; {
+  meta = {
     description = "Free and open source comics/mangas server";
     homepage = "https://komga.org/";
-    license = licenses.mit;
+    license = lib.licenses.mit;
     platforms = jdk17_headless.meta.platforms;
-    maintainers = with maintainers; [ govanify ];
+    maintainers = with lib.maintainers; [ govanify ];
     mainProgram = "komga";
   };
 
diff --git a/pkgs/servers/krill/default.nix b/pkgs/servers/krill/default.nix
index 46619bc960fd3..bff404b244e94 100644
--- a/pkgs/servers/krill/default.nix
+++ b/pkgs/servers/krill/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krill";
-  version = "0.13.1";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-UwvSwV1EHcEsF+IScdDiuuU56sXojEWGObzPKrLvlEQ=";
+    hash = "sha256-cAKH05iTLtHgujxfyiyU2e+Ns4en1loYUduh1X9OmuI=";
   };
 
-  cargoHash = "sha256-ts0yr1BY/StEmklUB29blR4K6RfHbH5WzIP2Zs2sVR4=";
+  cargoHash = "sha256-RcsAfdyCIBtcFdyPGbqRuY9NDygnBwz+0Jp2xgJLBFo=";
 
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
   nativeBuildInputs = [ pkg-config ];
@@ -26,6 +26,9 @@ rustPlatform.buildRustPackage rec {
   # Needed to get openssl-sys to use pkgconfig.
   OPENSSL_NO_VENDOR = 1;
 
+  # disable failing tests on darwin
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "RPKI Certificate Authority and Publication Server written in Rust";
     longDescription = ''
diff --git a/pkgs/servers/misc/virtiofsd/default.nix b/pkgs/servers/misc/virtiofsd/default.nix
index 8a1a1aca85a9d..db725261dbc3d 100644
--- a/pkgs/servers/misc/virtiofsd/default.nix
+++ b/pkgs/servers/misc/virtiofsd/default.nix
@@ -25,6 +25,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://gitlab.com/virtio-fs/virtiofsd";
     description = "vhost-user virtio-fs device backend written in Rust";
     maintainers = with maintainers; [ qyliss astro ];
+    mainProgram = "virtiofsd";
     platforms = platforms.linux;
     license = with licenses; [ asl20 /* and */ bsd3 ];
   };
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index 18af89b946b00..96487015df8c6 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -14,16 +14,16 @@
 
 buildGoModule rec {
   pname = "grafana-agent";
-  version = "0.38.0";
+  version = "0.38.1";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "agent";
     rev = "v${version}";
-    hash = "sha256-lXjtKZJNkYffizNiX+rrRVu94mr+WXnsKKpEaLdd2Rs=";
+    hash = "sha256-caqJE92yEzqU/UQS7Cgxe+4+wGqBqPshhhPAyPP2WPQ=";
   };
 
-  vendorHash = "sha256-+6ReDdjCHED8kYVt7WSUFT+Gsmg+AIyS3oIfj2kTCGo=";
+  vendorHash = "sha256-aN/vIBbezieMhWG/czwXxx+/M40mDySZmM8pxVVs3Vs=";
   proxyVendor = true; # darwin/linux hash mismatch
 
   frontendYarnOfflineCache = fetchYarnDeps {
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index c4c9c75903a2c..2cc7042068d49 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,27 +2,36 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "10.2.0";
+  version = "10.2.2";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" "modowners" ];
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    hash = "sha256-PNKvu7DfVHzBaRGM/Zej0oI5pbi6gPta+ZzVEXXmTsI=";
+    rev = "v${version}";
+    hash = "sha256-MlrGBa/ZQwfETr5vt7CyJxtvZC021aeWsgKtfuc8wAc=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    hash = "sha256-KE026VWxlJYzRqTqry4h8vm1NIXB7sJUucz+W/s1eoE=";
+    hash = "sha256-Mt0si5TxkXGQp5vmVD37fl3WKXuuIcJNtiTcEYCroZ8=";
   };
 
-  vendorHash = "sha256-Mybo7ZVP7fwmBwloC3jHJnqPmhbj1DQSwz8T2onkL3Y=";
+  vendorHash = "sha256-z2eDbnezG9TWrqLPxAXHBgdtXvaEf8ccUQUe9MnhjtQ=";
 
   nativeBuildInputs = [ wire ];
 
-  preBuild = ''
+  preBuild = let
+    skipTest = lineOffset: testCase: file:
+      let
+        jumpAndAppend = lib.concatStringsSep ";" (lib.replicate (lineOffset - 1) "n" ++ [ "a" ]);
+      in ''
+        sed -i -e '/${testCase}/{
+        ${jumpAndAppend} t.Skip();
+        }' ${file}
+      '';
+  in ''
     # Generate DI code that's required to compile the package.
     # From https://github.com/grafana/grafana/blob/v8.2.3/Makefile#L33-L35
     wire gen -tags oss ./pkg/server
@@ -42,12 +51,14 @@ buildGoModule rec {
     # [...]
     # grafana> t=2021-12-02T14:24:58+0000 lvl=dbug msg="Failed to get latest.json repo from github.com" logger=update.checker error="Get \"https://raw.githubusercontent.com/grafana/grafana/main/latest.json\": dial tcp: lookup raw.githubusercontent.com on [::1]:53: read udp [::1]:36391->[::1]:53: read: connection refused"
     # grafana> t=2021-12-02T14:24:58+0000 lvl=dbug msg="Failed to get plugins repo from grafana.com" logger=plugin.manager error="Get \"https://grafana.com/api/plugins/versioncheck?slugIn=&grafanaVersion=\": dial tcp: lookup grafana.com on [::1]:53: read udp [::1]:41796->[::1]:53: read: connection refused"
-    sed -i -e '/Request is not forbidden if from an admin/a t.Skip();' pkg/tests/api/plugins/api_plugins_test.go
+    ${skipTest 1 "Request is not forbidden if from an admin" "pkg/tests/api/plugins/api_plugins_test.go"}
 
     # Skip a flaky test (https://github.com/NixOS/nixpkgs/pull/126928#issuecomment-861424128)
-    sed -i -e '/it should change folder successfully and return correct result/{N;s/$/\nt.Skip();/}'\
-      pkg/services/libraryelements/libraryelements_patch_test.go
+    ${skipTest 2 "it should change folder successfully and return correct result" "pkg/services/libraryelements/libraryelements_patch_test.go"}
 
+    # Skip flaky tests (https://logs.ofborg.org/?key=nixos/nixpkgs.263185&attempt_id=5b056a17-67a7-4b74-9dc7-888eb1d6c2dd)
+    ${skipTest 1 "TestIntegrationRulerAccess" "pkg/tests/api/alerting/api_alertmanager_test.go"}
+    ${skipTest 1 "TestIntegrationRulePause" "pkg/tests/api/alerting/api_ruler_test.go"}
 
     # main module (github.com/grafana/grafana) does not contain package github.com/grafana/grafana/scripts/go
     rm -r scripts/go
diff --git a/pkgs/servers/nosql/immudb/default.nix b/pkgs/servers/nosql/immudb/default.nix
index 716f9f0a9f743..ff6e314984367 100644
--- a/pkgs/servers/nosql/immudb/default.nix
+++ b/pkgs/servers/nosql/immudb/default.nix
@@ -14,13 +14,13 @@ let
 in
 buildGoModule rec {
   pname = "immudb";
-  version = "1.5.0";
+  version = "1.9DOM.0";
 
   src = fetchFromGitHub {
     owner = "codenotary";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xvbks6dUiS14cntydAjSNTujxsSwYzmf+B4Zh4V/NwI=";
+    sha256 = "sha256-4N6E2dA7hF5sxHDLO5MMlKraXtwu7eHVB5WKs7J8ZmA=";
   };
 
   preBuild = ''
@@ -29,7 +29,7 @@ buildGoModule rec {
     go generate -tags webconsole ./webconsole
   '';
 
-  vendorHash = "sha256-7mMutYx2/jmTx+7h9S412fYCFXiJnTGz0qwDSO7BIzM=";
+  vendorHash = "sha256-Yvxra/B5Z8qfxh7zsFDj7H+G7SYRfdP7U8UZ9g2os6A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/servers/nosql/janusgraph/default.nix b/pkgs/servers/nosql/janusgraph/default.nix
index 36385fd46cca4..0c16f90db60da 100644
--- a/pkgs/servers/nosql/janusgraph/default.nix
+++ b/pkgs/servers/nosql/janusgraph/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "janusgraph";
-  version = "0.6.4";
+  version = "1.0.0";
 
   src = fetchzip {
     url = "https://github.com/JanusGraph/janusgraph/releases/download/v${version}/janusgraph-${version}.zip";
-    sha256 = "sha256-rfqZE7HYgudVjrz+Ij+ggltaBXvYbczgRwCqsNTojTg=";
+    sha256 = "sha256-X/ZHvmCJzo0X/sUpbm1CkQcnNi3NMNAaVXep6cpoIAA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix
index 9e43e30559dbe..a2fca49db2d3a 100644
--- a/pkgs/servers/prowlarr/default.nix
+++ b/pkgs/servers/prowlarr/default.nix
@@ -21,15 +21,15 @@ let
   }.${stdenv.hostPlatform.system} or unsupported;
 
   hash = {
-    aarch64-darwin = "sha256-5K18Vd0Ly/2YSmAvTbgiSQR8ifaz9wMs3vI0WFtB90g=";
-    aarch64-linux = "sha256-QI4+TVW/Zj1sI4yoxTGpzYNPufKnp68fLgDmajzD+6Y=";
-    x86_64-darwin = "sha256-qofWOMJIen8dI1wDFwNWeYuV9Ett3KvaTLfuK/v2USs=";
-    x86_64-linux = "sha256-qqAoXPdsjpn6Al5CLcvqfsZe9PRp8Swg1Wiy0w20hHs=";
+    aarch64-darwin = "sha256-l2HS1/HoKYf93qKxfMU80J3QOXjMRtX2A9hJm8E2Kh4=";
+    aarch64-linux = "sha256-ab5xavO2TVL1j9vqNv97bgAmQLZQJxnbam08DzdgDVE=";
+    x86_64-darwin = "sha256-nXas2i2eq7qdTFV0S+F5sPuqzSwE4qeJ+ms4fcJgZmQ=";
+    x86_64-linux = "sha256-HltmiQSJSwoW5+iEiXlJiCWwKRmuxDBcPbvOkJwLQXA=";
   }.${stdenv.hostPlatform.system} or unsupported;
 
 in stdenv.mkDerivation rec {
   inherit pname;
-  version = "1.9.4.4039";
+  version = "1.10.5.4116";
 
   src = fetchurl {
     url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/rmfakecloud/webui.nix b/pkgs/servers/rmfakecloud/webui.nix
index f870dc013b5a3..2555bf50801cc 100644
--- a/pkgs/servers/rmfakecloud/webui.nix
+++ b/pkgs/servers/rmfakecloud/webui.nix
@@ -1,4 +1,4 @@
-{ version, src, stdenv, lib, fetchFromGitHub, fetchYarnDeps, fixup_yarn_lock, yarn, nodejs }:
+{ version, src, stdenv, lib, fetchFromGitHub, fetchYarnDeps, prefetch-yarn-deps, yarn, nodejs }:
 
 stdenv.mkDerivation rec {
   inherit version src;
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-37P+acjaeG7TCyLoIHIHsB+DCUOsQOJ1H9T5SgajtLc=";
   };
 
-  nativeBuildInputs = [ fixup_yarn_lock yarn nodejs ];
+  nativeBuildInputs = [ prefetch-yarn-deps yarn nodejs ];
 
   buildPhase = ''
     export HOME=$(mktemp -d)
     cd ui
-    fixup_yarn_lock yarn.lock
+    fixup-yarn-lock yarn.lock
     yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
     yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
     patchShebangs node_modules
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
index 2a0f3de88499e..827fc57af62bb 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
@@ -1,27 +1,48 @@
 { lib
 , fetchFromGitHub
-, buildPgxExtension
+, buildPgrxExtension
 , postgresql
 , nixosTests
-, cargo-pgx_0_7_1
+, cargo-pgrx
+, fetchCrate
 , nix-update-script
 , stdenv
 }:
 
-(buildPgxExtension.override {cargo-pgx = cargo-pgx_0_7_1;})rec {
+let
+
+  cargo-pgrx_0_10_2 = cargo-pgrx.overrideAttrs (old: rec {
+    name = "cargo-pgrx-${version}";
+    version = "0.10.2";
+
+    src = fetchCrate {
+      pname = "cargo-pgrx";
+      inherit version;
+      hash = "sha256-FqjfbJmSy5UCpPPPk4bkEyvQCnaH9zYtkI7txgIn+ls=";
+    };
+
+    cargoDeps = old.cargoDeps.overrideAttrs (_: {
+      inherit src;
+      outputHash = "sha256-itU000vyVGnDUUZx6qOLJqiPdyNHikW2KNFzBmJPqv0=";
+    });
+  });
+
+in
+
+(buildPgrxExtension.override { cargo-pgrx = cargo-pgrx_0_10_2; }) rec {
   inherit postgresql;
 
   pname = "timescaledb_toolkit";
-  version = "1.16.0";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = "timescaledb-toolkit";
     rev = version;
-    sha256 = "sha256-aivGURTsm0dGaFq75qR3wIkXwsbvBiDEg+qLMcqKMj8=";
+    hash = "sha256-Lm/LFBkG91GeWlJL9RBqP8W0tlhBEeGQ6kXUzzv4xRE=";
   };
 
-  cargoSha256 = "sha256-AO5nSgQYvTmohXbzjWvDylnBgS2WpKP6wFOnkUx7ksI=";
+  cargoHash = "sha256-LME8oftHmmiN8GU3eTBTSB6m0CE+KtDFRssL1g2Cjm8=";
   buildAndTestSubdir = "extension";
 
   passthru = {
diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix
index b5b855a4b6983..1767b544f21ac 100644
--- a/pkgs/servers/sunshine/default.nix
+++ b/pkgs/servers/sunshine/default.nix
@@ -31,6 +31,7 @@
 , libepoxy
 , libva
 , libvdpau
+, libglvnd
 , numactl
 , amf-headers
 , intel-media-sdk
@@ -131,6 +132,7 @@ stdenv.mkDerivation rec {
     mesa
     xorg.libXrandr
     libxcb
+    libglvnd
   ];
 
   cmakeFlags = [
diff --git a/pkgs/servers/web-apps/netbox/default.nix b/pkgs/servers/web-apps/netbox/default.nix
index ab648d7daa7b4..4c19eaf0a4d2e 100644
--- a/pkgs/servers/web-apps/netbox/default.nix
+++ b/pkgs/servers/web-apps/netbox/default.nix
@@ -22,8 +22,8 @@ lib.fix (self: {
   };
 
   netbox_3_6 = callPackage generic {
-    version = "3.6.3";
-    hash = "sha256-8Xir2Gvwh2cllHu5qVAzumuH0lknMMtjd8BuFuuf9A0=";
+    version = "3.6.6";
+    hash = "sha256-viC4grOqpWvG2pqcSi+MJykpEXSQYqfpkKF9it9Tj1g=";
     extraPatches = [
       # Allow setting the STATIC_ROOT from within the configuration and setting a custom redis URL
       ./config.patch
diff --git a/pkgs/tools/admin/pulumi-bin/data.nix b/pkgs/tools/admin/pulumi-bin/data.nix
index 299d77ff8acf4..00cd07621ae98 100644
--- a/pkgs/tools/admin/pulumi-bin/data.nix
+++ b/pkgs/tools/admin/pulumi-bin/data.nix
@@ -1,12 +1,12 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.94.0";
+  version = "3.95.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.94.0-linux-x64.tar.gz";
-        sha256 = "1yn97xxqwgrcd5psrrimcz1gjv34s7mri40nwb2mgmqj7xs4hyi3";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-linux-x64.tar.gz";
+        sha256 = "1ig942izr0bjjnmccjdrna1fy1245s0l5mbr80xbxm5lima9z66p";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-linux-amd64.tar.gz";
@@ -17,52 +17,52 @@
         sha256 = "0pf1pka8pq4cizlnf5hm5ji1hf5nchkj21mwpi2cxdk2w4ghw0ds";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.2-linux-amd64.tar.gz";
-        sha256 = "0qi3wp5iy9pym4yqzx1186paz80dv7lppcd0jw4fgpi8lclfygbm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-linux-amd64.tar.gz";
+        sha256 = "0cp4f5syq1jbkvw1gjxyfwf6kv1qkzb68x7gqm2xdb9j4glx4wab";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.4.2-linux-amd64.tar.gz";
-        sha256 = "06ycizhynnmr9g0awqn9y8jglxl7brxrzibxh9lb55kiy5vl8vry";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-linux-amd64.tar.gz";
+        sha256 = "0gha4nm5gg4s3hqy7whdywkd0mpndmgjq9xmswqzvapjj7hjcnh6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-linux-amd64.tar.gz";
-        sha256 = "0vyhmdyln0cpcf1fgc0v641c78a66dzx97i7xq6isspl6zx9njn5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "05mhvif4minkr5mi0yjghsd9ffx9wyb5chjp0kz3256d4clld6ai";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.8.0-linux-amd64.tar.gz";
-        sha256 = "112rd5hhmcp2h7r6jzihcb8g1w1r4g1ba1mwk808nwqfgswfi2wf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-linux-amd64.tar.gz";
+        sha256 = "1p4k8fx6ix8y7bb8mjvk0avq5r7lam3yywncb05vxiw5qwqls9s0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.44.0-linux-amd64.tar.gz";
-        sha256 = "0slbvp9pg2yrrm5i4z7zhyksn8lmz82xymvwadr69z71h59s3b1x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-linux-amd64.tar.gz";
+        sha256 = "0dl60nrgilg9ccn28dnyrv0lw6sqrcy26r4kgcbdqkw0f15isjhv";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-linux-amd64.tar.gz";
         sha256 = "029xymc6ynb7aq5wdkvksgqhjl9aix5j3rn8dfzlbmrmmz0xyvxr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.55.0-linux-amd64.tar.gz";
-        sha256 = "0hk2niplgjhkq7fhkwhhka33cikdami7r6g2f80c7d94g8wpgf5x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-linux-amd64.tar.gz";
+        sha256 = "17q3186a3awbh0v0rxby4a8qdl49zbbc46a1fjaqhsg14sizryfl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.14.0-linux-amd64.tar.gz";
-        sha256 = "1vn3rayqdg8hff0bcbmzy2nz9pzbki00y729jxdlkv2k4y4raik6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-linux-amd64.tar.gz";
+        sha256 = "05k325y99wcg3584bbgkrh20zq46y6hi1sk2bi0jm6njvwyb786w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.10.0-linux-amd64.tar.gz";
-        sha256 = "1h7rxzax73hq6dyldb6dqxrjhbddamaljn2h0cabdjlvrvbnkg0l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-linux-amd64.tar.gz";
+        sha256 = "1v8x27yi6mqj8sxwwl7jvw5960pv98y4lkyj9gyx3260a3hsgav2";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-linux-amd64.tar.gz";
         sha256 = "0bsbfsc7wxsjyqyz5klxn91hd1lwini4pbpm0lw5pf78af7z8v0z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.23.0-linux-amd64.tar.gz";
-        sha256 = "1r1sfxngwkf89lni0l8zalh2vz5a7m9ap4p15cs4bc98zmkin762";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-linux-amd64.tar.gz";
+        sha256 = "1j7zkyjn7v98l5m9a3cgpy5ckx5y4kirda8i3im58dbyripwzppi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.5-linux-amd64.tar.gz";
-        sha256 = "1m44dwr8q8w60s5clm4n1hini1bm5bqc7p7h1gvbh5zg1482hn5q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-linux-amd64.tar.gz";
+        sha256 = "0v4bg7iz6fnvca59z74ymqilkra4mldbs1xa4w1ijw4jvbnyq3vr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz";
@@ -73,32 +73,32 @@
         sha256 = "1l3pqshzxscv3pxp5wjyrc83irkhh6g7hbdi51x2jhdywjz5r55m";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.0.0-linux-amd64.tar.gz";
-        sha256 = "1047qlwrv42llknx25r2iqdchparcrc5krpbjcqq194rpzq73m02";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-linux-amd64.tar.gz";
+        sha256 = "0llybkwlzzd8ylxcch4hns3xbba715iyf1mrfy9vnn60kfn2jprc";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-linux-amd64.tar.gz";
         sha256 = "0hnaanqg991xy4jmk09rcd5adzx760707133yaax0nx6r1g0lbdc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.5.0-linux-amd64.tar.gz";
-        sha256 = "0x22g7rdywxk1crgcf424n6w2h1jslk4fhhh66g642d553jpz1ci";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-linux-amd64.tar.gz";
+        sha256 = "10cxlavxvb98207plgrvmf8c8sgp5w2hpnpcj493i033am07g7yc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-linux-amd64.tar.gz";
-        sha256 = "1xq92rsk7bimkr52c13mjypd0ygs7qc9ijyi2ghnf0585d1z5bk5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-amd64.tar.gz";
+        sha256 = "1zra1ck64gs4nwqf62ksfmpbx24lxw6vsgi47j4v8q051m89fgq3";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-linux-amd64.tar.gz";
         sha256 = "0f5sii66fffq5qrri8r1a3xzskvj9yx6chr7j2s34kgc11dqrbxc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.4-linux-amd64.tar.gz";
-        sha256 = "1r079igvw2cv90sq5c7ldfvyfni3a6vh8bwj9hzbjwmcmpdf2lri";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-linux-amd64.tar.gz";
+        sha256 = "13nrdwka7pxyqjy5hjc3678sfayfs11hwqfj7r4apml8sws0g3xj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.5-linux-amd64.tar.gz";
-        sha256 = "10llnm73xzm8p2jjiny1zbx9snh633vi8psbaxc2hrjv8ks803i0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-linux-amd64.tar.gz";
+        sha256 = "10a0kr20ai5qhhxsr5210ag5ijkzxjihm7afy2mzsslqv4zdc953";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-linux-amd64.tar.gz";
@@ -121,20 +121,20 @@
         sha256 = "1v59k0m4rrad5vbd2x4znb985cbwj9py6ki60x1skq704pmcli5g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.39.0-linux-amd64.tar.gz";
-        sha256 = "1g5rx5vy8miwlz66dwv6nks9jk0pjyxb37w6wgnpcgw02m9famrl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-linux-amd64.tar.gz";
+        sha256 = "10m3mqqi1gr5n7phsjyrdpy6vd9f3qri7vryj10p6fp7my9sgr3q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.58.1-linux-amd64.tar.gz";
-        sha256 = "1k3xipaw1nrfc0vms20xcxnaz4f0wni3a3w85lwiyi4vx5pd0kn7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-linux-amd64.tar.gz";
+        sha256 = "00mml1dpyjc683yrp7g7w49pvjyd5mdm6bls26q9rbirgblajcnf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-linux-amd64.tar.gz";
-        sha256 = "1knsb0ha7xbgvlna67nhxmmrr6rw3h52va3dh4ra47b7r8ii7dca";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-linux-amd64.tar.gz";
+        sha256 = "0nssdk2zp42ssnkgq87mw4rk1lzlzgi3adr4l5g9ipmqjfphw3bx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-linux-amd64.tar.gz";
-        sha256 = "06gvx51nl93rj244yximp6059yiyxh4jcdqqcrjic8r7wabzsiiw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-linux-amd64.tar.gz";
+        sha256 = "148ifpnjh8jm4x9f9snlzfq1z7f2z0c630bhhx6a86ankaavyr00";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-linux-amd64.tar.gz";
@@ -149,8 +149,8 @@
         sha256 = "044w1qwjadrz0ylr00qnwppvq6mc8c8z759b0wfn69a2r25az19f";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.8.1-linux-amd64.tar.gz";
-        sha256 = "1y8yfzmgxx2x15ljwjyc5kyrkmai1if59hz65avsf67615xisnyy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-linux-amd64.tar.gz";
+        sha256 = "1dp9vldrs2b0ml542rn0jna0rbz2hxx7il86bliamj5fwr89k49w";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-linux-amd64.tar.gz";
@@ -163,8 +163,8 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.94.0-darwin-x64.tar.gz";
-        sha256 = "0v854xz9imq9kxslvyx3km20jzcia8m6wkq6ga1gxlsrbx3ajgrn";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-darwin-x64.tar.gz";
+        sha256 = "13lb757py7ls6p4l2x5s20xy5mp21a10y8cdnbfsr9l03kz50yhi";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-darwin-amd64.tar.gz";
@@ -175,52 +175,52 @@
         sha256 = "0i4kjngs8ly5cxikxc1jz2lcma31sx87vbdbny2j7xxz3fqsyi19";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.2-darwin-amd64.tar.gz";
-        sha256 = "0rrs93qrqz4bs66ydjb2y4jl6l7pdycs4hqpgp110mipn54bkfix";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-darwin-amd64.tar.gz";
+        sha256 = "0ld394yzmhmagn2mb1ds7mg30v283f1q1xg67r1bs3wmf4zkxi8l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.4.2-darwin-amd64.tar.gz";
-        sha256 = "03rvwmslb8z5y0whfw8n9ycdi943kniacw5jxasi4crciz5ynldf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-darwin-amd64.tar.gz";
+        sha256 = "1ci55mz72y68wwcih0sx500n3pmrkq798janhc7nksyn8qdj14ik";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-darwin-amd64.tar.gz";
-        sha256 = "04imkdrj388nk88r734f0p0a6z1hffzmplwgmx55kfwqz3zpz4y5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "16yqva40xq8xfqjnxx7r9kx3r6nrxsqivqpm056hpnad6bjy5d7s";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.8.0-darwin-amd64.tar.gz";
-        sha256 = "08acycw7qz7dz6hb7yrja38gkqb309nbski68g9vpbvgg71b4kkm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-darwin-amd64.tar.gz";
+        sha256 = "1abmbagldr2bv73qz39kpbpyjjwy3c8slikwvak9mmzxjpk2lvay";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.44.0-darwin-amd64.tar.gz";
-        sha256 = "1b01rnms4fzi0w4pmyxjrp06001fz99dpas4r06ri2mm21kdbyvf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-darwin-amd64.tar.gz";
+        sha256 = "0gr4is4k9hzjncg5qvy1n4j4hzvmn8f37f119bdgima1s6r9aiz4";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-darwin-amd64.tar.gz";
         sha256 = "16zc13z31p92775v3vsn6j6pmz1wcjqb8rhzxpnr03zbqviws7mi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.55.0-darwin-amd64.tar.gz";
-        sha256 = "1jdxf418lrh1rzhmkcjpvx1l5pc7gjigyxdxfzf9ig8fxhwrnwhm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-darwin-amd64.tar.gz";
+        sha256 = "06nr217ymzfkr6l4fgwj9fjp724v08lyvxap7xw56mq9z0bf1vgk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.14.0-darwin-amd64.tar.gz";
-        sha256 = "0h6lsjh7243792x943900aw714i7nkjcyn8sgcy4y2z2c43ic1pz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-darwin-amd64.tar.gz";
+        sha256 = "1v3axsc678s7w0pkpc4b8l32rl2yb0jcdwba6i8v9jlawg4rv4z0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.10.0-darwin-amd64.tar.gz";
-        sha256 = "0wyjcpl5iw3f97k0s372lh4xrpdibsrczwdprl55w56wxd7kdjq1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-darwin-amd64.tar.gz";
+        sha256 = "07iwdpvxqf3vkd1l1daazhs3agbbq067bcyp0vr2jqapz355yjad";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-darwin-amd64.tar.gz";
         sha256 = "1qyb6v3bxg7hsr5viwpc4nzdgq63frjqgxs7kqyg1pp40rcmh2bm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.23.0-darwin-amd64.tar.gz";
-        sha256 = "0iymy2rjyxya49w7awrjns4pnj4m2m66iqf59f1a6ww4i5qmx5f1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-darwin-amd64.tar.gz";
+        sha256 = "0hm1jx48i6315xykn5fx3zw1m4cp5blizjmvcidrs5x1j1fwpcl4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.5-darwin-amd64.tar.gz";
-        sha256 = "0g8rcdbfbpmsw3wqx9jy5kz6pcmr9im2njisi3rlkkyfazm7fmqd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-darwin-amd64.tar.gz";
+        sha256 = "0arzbimf0rwn6j41ia6fl90xnkz7yyhc3lnnzr51sw4g8y3jihj9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz";
@@ -231,32 +231,32 @@
         sha256 = "0xdfxxlfxm44bkljc5c8h3ici7dlkbgbg6z2ns4870p15lhq34n5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.0.0-darwin-amd64.tar.gz";
-        sha256 = "159p2fxfhgck431cbzs5ik6s4bprx8jp5nxi28ir52qyfaj3xx6x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-darwin-amd64.tar.gz";
+        sha256 = "0974a34i4im82ccc4b25l6v3hdvi0hkh2xadhdn765g2bdcr7vh8";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-darwin-amd64.tar.gz";
         sha256 = "1547hc9jdg0j6n66sk5j7iid5m5pvkv8q9j09q9vkcrkj3kkjcvb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.5.0-darwin-amd64.tar.gz";
-        sha256 = "1kipsvsji6s9j2644ka46rpg4mhscj3hb61b5g3ghfmm66hxijs6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-darwin-amd64.tar.gz";
+        sha256 = "0a03z495j6yy3y5aqbd4515iwm601pzr6is7lq885vcripxvs4x7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-darwin-amd64.tar.gz";
-        sha256 = "18vqn7cs5l6fyxmplvcmb779sa91ka8vzz40giggdxzsdjjj9dpx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-amd64.tar.gz";
+        sha256 = "0ddd0pgpyywq291r9q8w6bn41r2px595017iihx4n2cnb1c4v6d5";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-darwin-amd64.tar.gz";
         sha256 = "19zm781g8ii062dp48wf11pdyrddk10c5rf18xk4bpf2prbg5vsi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.4-darwin-amd64.tar.gz";
-        sha256 = "1mj438fnidycdbxi168z3bkc8fxpw1fzagssxzwawd2d6faxv919";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-darwin-amd64.tar.gz";
+        sha256 = "1ikshq05lkh39m5z7p72mv3cnd9ji16b09cb5g78zlrdzlgq2086";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.5-darwin-amd64.tar.gz";
-        sha256 = "087i49sx3cw7vylq01vby1mhblr03ib302yhss7sx944brzc53hv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-darwin-amd64.tar.gz";
+        sha256 = "0h177vx31q53xpqrvfdajf4knwchhrz7l605s50v5isqbpgagl5m";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-darwin-amd64.tar.gz";
@@ -279,20 +279,20 @@
         sha256 = "1jg3qdm331dvnq2igf6q0xd2ld21jnhm0h756pmxszngadfnmcdw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.39.0-darwin-amd64.tar.gz";
-        sha256 = "19pm2qfjmdfz32py93xcmw85byyffgq1xpv6rdk31r25ys9qhdbl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-darwin-amd64.tar.gz";
+        sha256 = "144rydj53334sj11p55npmgss3kam2lxrm7shrcjvb1v28m8vdnx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.58.1-darwin-amd64.tar.gz";
-        sha256 = "19i67kpf5ghw9w5mdww10njz7cf0v7975in0nrp2i6l61p9c9yl1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-darwin-amd64.tar.gz";
+        sha256 = "0yxqhzx5rdy0a7g8q8c1s9w52h1clssnx70pp8900vdfsviwxqvf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-darwin-amd64.tar.gz";
-        sha256 = "0xgihb099s99qb5bk6wavwm9227z73jgqrysmvjrqkn83kh7942v";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-darwin-amd64.tar.gz";
+        sha256 = "06cwx6642byqb953g8xa9a3s9jcp8cf6ib12agchkwmpfws5piz1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-darwin-amd64.tar.gz";
-        sha256 = "1pm5j9q4kvv70c6paficcfb664df6666mq559zvdklf5ndjpw5z9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-darwin-amd64.tar.gz";
+        sha256 = "0mpwjrbayckaapvz8vs2x918ya5a3rk44f3cx1dri18wq82klln7";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-darwin-amd64.tar.gz";
@@ -307,8 +307,8 @@
         sha256 = "19wmv952wn2njbd1ppl1lfzf1f47wf11m4qiiqc3wyd1qc33qsn1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.8.1-darwin-amd64.tar.gz";
-        sha256 = "0ghxpf03h1gg1fc0wpzzdij9dydc9knvjyn9xvjhwr7ar3bvswq5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-darwin-amd64.tar.gz";
+        sha256 = "18kai9s283hip893867hc65pr0jpgydw0b2gwqdj2zi3mibbm08x";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-darwin-amd64.tar.gz";
@@ -321,8 +321,8 @@
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.94.0-linux-arm64.tar.gz";
-        sha256 = "075pyjjinc77283cqd81745sdjxlcrdn02nx17jis28w4gp7y88n";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-linux-arm64.tar.gz";
+        sha256 = "0sf96mbqlj4q6lf6xlx6bd4v12byg929m2vx4w7smqdd7w27gsja";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-linux-arm64.tar.gz";
@@ -333,52 +333,52 @@
         sha256 = "0y1i2lwvy0wjvngpjf5rscidrlqb3mhhkhqvj227alz3c4xhf091";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.2-linux-arm64.tar.gz";
-        sha256 = "1mncqhlr8ga43pkay8cn0nj9b3kzd8jb65wp02gqsgf8adracrks";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-linux-arm64.tar.gz";
+        sha256 = "0fas3734vf8ibx36ikgwjr5ky1sprxh7qn95jd43d13ii9a8ic9l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.4.2-linux-arm64.tar.gz";
-        sha256 = "0x6k6ng49nnh72ca1jcqg1nci8i4qhnw90xwgwi0mxc7dndnx73x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-linux-arm64.tar.gz";
+        sha256 = "0ahp2aqlp9j7hr6c8rxzwrabyn1cfxqcncfax4sbj1prqw0jrac2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-linux-arm64.tar.gz";
-        sha256 = "11ph5yjy754sb55sncdlgibrmijg2jsylrjfpvy4mclrwg64cari";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "0ivkm1cidvc6fz6k65z386qw0d7skh31i81yqccaql1i0n67mlsh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.8.0-linux-arm64.tar.gz";
-        sha256 = "0l8kqxk85vskg4jw2m9qvqjp9bdlzbllbhzj4q1fifmcwj5ks649";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-linux-arm64.tar.gz";
+        sha256 = "0329lf1r9lga72x0crdwgx7m2xg14ydl6hb1c5jj76lkisqqzzyp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.44.0-linux-arm64.tar.gz";
-        sha256 = "0fkjdd51b3pa224ycf9fi1zdcrf6vcbp9vph1rgqynz9ha7axyiz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-linux-arm64.tar.gz";
+        sha256 = "045mc5ifkbpwp74z6826nzi16a2p5h44szxfn8h4mn3zjq86yjsi";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-linux-arm64.tar.gz";
         sha256 = "11gx8zlkakfbwf7vc4j29cd0bfakjf6flgp0a05d8ka5kjq3qkcx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.55.0-linux-arm64.tar.gz";
-        sha256 = "0gvvzv2qrdma9qah36giwgxgs7vhq86xjmxrsbja2n6jxzdrfszk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-linux-arm64.tar.gz";
+        sha256 = "0yfsci2jc0az4n4mkr0wfd6npzxqw1mkci09wagrs7wibwb4wx5d";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.14.0-linux-arm64.tar.gz";
-        sha256 = "0v5665apxp9bg8vj73p8bni7dqqa2cqawx4dda9rfv35a63rd89w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-linux-arm64.tar.gz";
+        sha256 = "1iq7phnx0sz539vgsc6j6md6djw7rdnywfmlbjrc6f31fsx2v0ln";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.10.0-linux-arm64.tar.gz";
-        sha256 = "0980s2a1c3pkswf8ai91wb526hyghcbzjnykf5ivam4vy0mlc8k5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-linux-arm64.tar.gz";
+        sha256 = "1x92ls4p3l44p276rdgy1dxf5qy29ssw3zgjajf6jlfimgp8746f";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-linux-arm64.tar.gz";
         sha256 = "1h7yh118iqr0bdkkagf3m0yxnphz5na7vyqqmzs7d9y9kcgfg8gi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.23.0-linux-arm64.tar.gz";
-        sha256 = "11q7cnncwdmjp8klk74wrnm6674ap5lrdjfq7413ps8rbdjpyvhl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-linux-arm64.tar.gz";
+        sha256 = "10dvhbv5l1wwb6r7c9aiy0pqpwsj2s8s6gdyabvqm8hcza37jlnd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.5-linux-arm64.tar.gz";
-        sha256 = "1dxam51n9r2nmkw29fdwl5b0664ll2a1qczva0fgh1wpdslisp8s";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-linux-arm64.tar.gz";
+        sha256 = "0447lckkgq6vs8a2ra4wi86yir8w61mm41ahp9nn6xxmnsqrn3jm";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz";
@@ -389,32 +389,32 @@
         sha256 = "11dfjx05inx1fdknzli0q7gma4hc1217jmfn4bx9ky635nqh5ckq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.0.0-linux-arm64.tar.gz";
-        sha256 = "0w2zwbz9slbwnk2zaw88y5npiqh2b5klw1j33c5wv1lr75fy2192";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-linux-arm64.tar.gz";
+        sha256 = "00b9b6zpkd88j5vsfff1q3q5wna22h2jvfhri6kap372whvdbpac";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-linux-arm64.tar.gz";
         sha256 = "0gwdlk1m4f91fbqnlv3jb83fi66nay261180nr72bk4hc9757y8i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.5.0-linux-arm64.tar.gz";
-        sha256 = "03j4ka8jdyxzkbsd0bgiqnnz1a8472mb0v3mlfnyvi0c6gs4y7cq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-linux-arm64.tar.gz";
+        sha256 = "14dk14j27kbjbda02x62621kjfvr6g2fc65cxdgcl0qb662fms2x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-linux-arm64.tar.gz";
-        sha256 = "17bykmfj9kxw2c94wjxcfakd10apnc88axr3wx2pa2k5idxd3ih0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-arm64.tar.gz";
+        sha256 = "0d8m2krbzxjhfm82dgf8p4vm3kk9gk98l798q4ayjrddqqb4mxq4";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-linux-arm64.tar.gz";
         sha256 = "1z67c7jwfs2z2hi0fqsxzsb426iv82n9sv3ik6smhq2agcxlaas2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.4-linux-arm64.tar.gz";
-        sha256 = "0b81vgi6n1j3gh8kbf3g3fxlix7iyrn08kkrizmpc7bv5wd0i9ry";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-linux-arm64.tar.gz";
+        sha256 = "0mxw0f756b4p0far801vwpsw2md0pph33bsh5xij5is5c1kiqwjr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.5-linux-arm64.tar.gz";
-        sha256 = "1wvl8h7wfkr1d7rff8j0n30xdc9yx1q3ps7zm8b485isx8hhq4f4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-linux-arm64.tar.gz";
+        sha256 = "0s1gk18fszs6vwy3kwask0vsyykvxwwgigml1va67i9w0bqp199l";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-linux-arm64.tar.gz";
@@ -437,20 +437,20 @@
         sha256 = "18wkr5sfa9v8b9b4c3hdgnq8wd8qpykcyqbcmiypykj8y954hxjk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.39.0-linux-arm64.tar.gz";
-        sha256 = "0a8vzhiy7jdxyvfmqd6z9n7iqvpdxc51qcwy212r9vy84mqxjsig";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-linux-arm64.tar.gz";
+        sha256 = "0j4qhlxkpxr7j4s76vkkqxwhjb9b4kvdn19wcd83j2ybxlz698zw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.58.1-linux-arm64.tar.gz";
-        sha256 = "1nv5vd4cv8bfvihv2m316pw39yip7i61xx29lxvyvi5pib2yl0h2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-linux-arm64.tar.gz";
+        sha256 = "0p2wlfs2lwwiz0az4kdb2jpaswn8z8yrv2mwk1hhcjn7g8xyn5zc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-linux-arm64.tar.gz";
-        sha256 = "1kqv70w3d84a9a0kj0w2hmd88h50zlfc35xkf57kgd43l948wcin";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-linux-arm64.tar.gz";
+        sha256 = "1pzkcm9nw8q8i440lc3xgpg9l5qrkxf1x22y7llvm5k0z1vv5rpq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-linux-arm64.tar.gz";
-        sha256 = "1rlf5gl7a7ym8zl4h0v7i42a9830zi401axw032h0v4q6w4zki3n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-linux-arm64.tar.gz";
+        sha256 = "1hyff2mkpkkbg8li0kblqmb17xcjql77wly33fjph6gw66wymnqb";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-linux-arm64.tar.gz";
@@ -465,8 +465,8 @@
         sha256 = "0gx4n9palj6yana77hs3aiv96ck4vzvnqblb1h7h9z1jfmdl7m01";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.8.1-linux-arm64.tar.gz";
-        sha256 = "1qj7640s3kqiz3x30k7dvd4v2anzqm1mb9qf045igmmf2bm6q5fm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-linux-arm64.tar.gz";
+        sha256 = "1pkkm24f4n6qd5hsgb6ayv38jfs6k77mb3xcvdzsy3bmynxn7662";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-linux-arm64.tar.gz";
@@ -479,8 +479,8 @@
     ];
     aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.94.0-darwin-arm64.tar.gz";
-        sha256 = "05yyw5pjbmzgqimcd72xidwzqsvvkj7ayafwy701smmxdpck31b0";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-darwin-arm64.tar.gz";
+        sha256 = "0k09shsrpzi378xfqggx532szq35w67nja91ysljm8w5q8f1s06a";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-darwin-arm64.tar.gz";
@@ -491,52 +491,52 @@
         sha256 = "1lz73k8v5iixivydvfrwr239sw6i5qx4h7qkd0l3hvbih3v97v6a";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.2-darwin-arm64.tar.gz";
-        sha256 = "1prm3b7w0i751rpvwglfkm2wkq24318k2ra8z6rkjsdkcvxa1i5j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-darwin-arm64.tar.gz";
+        sha256 = "1dqs6ygjpah10g47k4d3ms2cin5k76c2kbzgg86ipar3gcyn2lx9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.4.2-darwin-arm64.tar.gz";
-        sha256 = "10blif15dymdbdr40lazaiq8sncfp0gd9phahzcr2m9fh6rx4lpd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-darwin-arm64.tar.gz";
+        sha256 = "0f3nd7sy17sg522lxsc5ypsqpk8allw0wvzw7i6vc5781xa40xqi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-darwin-arm64.tar.gz";
-        sha256 = "07f30h74hyg3j9dj78a0al5v9i5n105y52yn362mlyvfh807blml";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "02hlp97294ds7cpj775lks5w05hxwv644y8v9pil5y6n2xllkrqg";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.8.0-darwin-arm64.tar.gz";
-        sha256 = "05ifn20vn66k6sy69l3z1nmnjajfjazlq12cm1vz4apxa8yqxqn4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-darwin-arm64.tar.gz";
+        sha256 = "042hqdj5j8ib1l9r0h62m2x79x2iglz2fnvw6007absn6vi3qhsq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.44.0-darwin-arm64.tar.gz";
-        sha256 = "1v9xk41876gcsgggr3igjj8n8ff3zd5fvqbp81s7g180z1pgsrkk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-darwin-arm64.tar.gz";
+        sha256 = "0l0g5qgv5f6q0fij8mkvawdkm7h3wfqcg6mfskw6s0kwbmrbavpj";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-darwin-arm64.tar.gz";
         sha256 = "0asaq5gg22jgq5x2bn89m9qn3jm7cmdhkypdl5barkmccvsbpfg0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.55.0-darwin-arm64.tar.gz";
-        sha256 = "1vnh7d4n7sd5bfms9vxgr87k9r1ahchmmfng0wml60jvssjbgiyf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-darwin-arm64.tar.gz";
+        sha256 = "0rmgha9nxabkdb7z3asi16zbslz69jxchlw2awjsv0dq1nyn4pvq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.14.0-darwin-arm64.tar.gz";
-        sha256 = "1q5474wibhb0y600mcbw1wa59dadcjj2l6p7ihrv6yvdals39408";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-darwin-arm64.tar.gz";
+        sha256 = "0zi7zzn7kpvmjfmaviyf1bzzrlilbgkz6dcm4fqa73qcbm1rq515";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.10.0-darwin-arm64.tar.gz";
-        sha256 = "0q4150r8c31c2bxa7hkc820bhrihxwxkjgrmn5wzgjpjbq3aw5ja";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-darwin-arm64.tar.gz";
+        sha256 = "0qz4cqxvwn5wzq3wh5cfwxh0ch22p7wi2wcvjgymlar6q57flk75";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-darwin-arm64.tar.gz";
         sha256 = "066w46l9dv02pnq59h632w1f7sjj8qqh6867cb33bbh6if681fpa";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.23.0-darwin-arm64.tar.gz";
-        sha256 = "1glpfbinny7cm7bk3q5y7g7lyrzmhdlsfjyiaxqwpkwx2960p5iv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-darwin-arm64.tar.gz";
+        sha256 = "1x579nqa93yi68zwq0ax6a3rs06bxfqh5snfiiwflp5x68yvbnl0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.5-darwin-arm64.tar.gz";
-        sha256 = "0kcivc4bs720s7cdjphjcy1sss7pfsands37c8gikhiq0cnl39mb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-darwin-arm64.tar.gz";
+        sha256 = "0z2s6yy3m871p5zhvcvgb7v7v51mr1y0msm71pqbqr9jj6mdlvpj";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz";
@@ -547,32 +547,32 @@
         sha256 = "16m568zmhfh9y0ynjs789yiawn22r23i1zz9xsrq1kfx8raq94an";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.0.0-darwin-arm64.tar.gz";
-        sha256 = "1g2qds6iciclawr343ps693ndnwjnss8pxfb5mxc69gf7qz8j03i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-darwin-arm64.tar.gz";
+        sha256 = "14ar812kqjccam04wyzzn46620vp4fym70fq1qzdawh7a5njzdab";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-darwin-arm64.tar.gz";
         sha256 = "04svj7zrhwfy5hjccy2dn4a5il793fncj0b83bvkrvh4qcs8c8as";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.5.0-darwin-arm64.tar.gz";
-        sha256 = "15vh197lvrbb5x08xxkdsgmjaqq9qvvcm4ncj5xjrm4jaczbpd2a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-darwin-arm64.tar.gz";
+        sha256 = "0dwx5bkp7n7jjikk1nr55brma4dg0gldpf7mfwc62dzc36lgfyny";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-darwin-arm64.tar.gz";
-        sha256 = "0wcxrcpijn6jzz0l5azfqvh31xzg5q5bvk39iifczimdvw37xnva";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-arm64.tar.gz";
+        sha256 = "0caz4kgnnrmdr7n571xc7yqscac9jnjwwpjzbnvx4ib6a91wvsdn";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-darwin-arm64.tar.gz";
         sha256 = "0i0lhxzvxvgi695x9g1nnqrzlipsydjsc3xz8zd7n9438pav3cmc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.4-darwin-arm64.tar.gz";
-        sha256 = "10phh7s0d83z4n9plh77wqjjr8h5h3zmsjdxk7fj7d72p2awf111";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-darwin-arm64.tar.gz";
+        sha256 = "09r89pxzk18pb65vd47bp31sbilgbpbp7j3a30b39lfff3larwd5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.5-darwin-arm64.tar.gz";
-        sha256 = "08aigahkv3calhcdyws3pm1nac5mdxk81jbys8qxr3c9x3b8wgqz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-darwin-arm64.tar.gz";
+        sha256 = "0qj26bd23qgz8pibsvhsb1gzlk96jh2hkh3l9s23jvlvbxd53hql";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-darwin-arm64.tar.gz";
@@ -595,20 +595,20 @@
         sha256 = "08llqzf509ds0nbcllpq5k3zl6l656yxx0bx0z9pibd9iwzjy3wj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.39.0-darwin-arm64.tar.gz";
-        sha256 = "1vk4kdxxx2rk3rhqwgw97xyfl53kxzc209xx8wh1fd3wd676rc2q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-darwin-arm64.tar.gz";
+        sha256 = "1z3sc1ihwn3g02mwm99shizdzfgzsqxivmkwmw5p5r2gxaflz1gh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.58.1-darwin-arm64.tar.gz";
-        sha256 = "1gf4p1x0mxv2zjz266inkz468p125wn68ls08az7naf4qmh4j50w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-darwin-arm64.tar.gz";
+        sha256 = "15cn9gfc957zalmwl3xxjrpyxh50gkdkzph31akwfw1lil1y6ws5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-darwin-arm64.tar.gz";
-        sha256 = "17ngmwyh6z1g6x3lrd77pxa9wwwarh4mqdcq7aiwf57plx4a4l6j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-darwin-arm64.tar.gz";
+        sha256 = "1h4q8s8bzs2w8b0hvlaw9awa0m3kzw22z38avaryv85n4jvq6zn2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-darwin-arm64.tar.gz";
-        sha256 = "09agrp3sb7mzhwaja4rvz0p25rpsb2n4v3s2kyzcx3pyfyhigvfn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-darwin-arm64.tar.gz";
+        sha256 = "0cq1cvvmfki8v0861ylckpchlm5xzshirixz95d7kvdchr6j4ds7";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-darwin-arm64.tar.gz";
@@ -623,8 +623,8 @@
         sha256 = "0xlxx5i1ph57vn5q00hv8s0d5vj5jy3hrrkm7qvmjf47d7flqqv8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.8.1-darwin-arm64.tar.gz";
-        sha256 = "0nqyk1jn1d1s5s5kdzfzpqzz44gy6rif0l781jk10fq9lw7bvwld";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-darwin-arm64.tar.gz";
+        sha256 = "039lsilaazm80p07l08skcmplz45qpiq122rnscc25cwkjnmv0lg";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-darwin-arm64.tar.gz";
diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix
index ef43a412482e7..88da6f0d33f43 100644
--- a/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix
+++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix
@@ -8,7 +8,7 @@ buildGoModule rec {
 
   sourceRoot = "${src.name}/sdk/go/pulumi-language-go";
 
-  vendorHash = "sha256-6JnRPns+qOLXP2RBjsgq4v6nuLn3uX8jF4+uinr2Wt8";
+  vendorHash = "sha256-mBK9VEatuxeoZtXXOKdwj7wtZ/lo4Bi2h7N00zK6Hpw=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix
index dc1368afe2dff..f6d3cbec0c237 100644
--- a/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix
+++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix
@@ -9,7 +9,7 @@ buildGoModule rec {
 
   sourceRoot = "${src.name}/sdk/nodejs/cmd/pulumi-language-nodejs";
 
-  vendorHash = "sha256-gbZoDUJCKb5wcLhJ7DRSGHT3Q0xUlptUeS6Wen4dle0";
+  vendorHash = "sha256-gEOVtAyn7v8tsRU11NgrD3swMFFBxOTIjMWCqSSvHlI=";
 
   postPatch = ''
     # Gives github.com/pulumi/pulumi/pkg/v3: is replaced in go.mod, but not marked as replaced in vendor/modules.txt etc
diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix
index 16610c2f46f67..6994f26b92c69 100644
--- a/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix
+++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-python.nix
@@ -9,7 +9,7 @@ buildGoModule rec {
 
   sourceRoot = "${src.name}/sdk/python/cmd/pulumi-language-python";
 
-  vendorHash = "sha256-aLCgAcrgnNH/eYpGkr5Kj4xWjSgP76nz0YoV6998i9M=";
+  vendorHash = "sha256-upRXs8Bo0dpnANNetfXqkatip9bA+Fqhg72Cd60ltz8=";
 
   postPatch = ''
     substituteInPlace main_test.go \
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
index 3aa9e58985c54..1998eec1bfcdb 100644
--- a/pkgs/tools/admin/pulumi/default.nix
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -14,7 +14,7 @@
 
 buildGoModule rec {
   pname = "pulumi";
-  version = "3.90.1";
+  version = "3.93.0";
 
   # Used in pulumi-language packages, which inherit this prop
   sdkVendorHash = lib.fakeHash;
@@ -23,12 +23,12 @@ buildGoModule rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-dAQpQapkdccRr/O8XT8dHrLwPvIPqeV8f3HS+GtK2GM=";
+    hash = "sha256-EaYYIbV7IItnmVfyEHtaAbAXvrZ8CXMjW+yNXOBIxg8=";
     # Some tests rely on checkout directory name
     name = "pulumi";
   };
 
-  vendorHash = "sha256-ijFYlHVH0axDpFoPGvthGVRt8UIUZDsWv3vAOe0U4H4";
+  vendorHash = "sha256-G+LspC6b2TvboMU6rKB0qrhhMNaLPVt/nUYZzkiVr/Q=";
 
   sourceRoot = "${src.name}/pkg";
 
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index 7bea67dc621bd..4b9951f2e2eaf 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
     "LIBDIR=$(out)/lib/bup"
   ];
 
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error=implicit-function-declaration";
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-function-declaration -Wno-error=implicit-int";
 
   postInstall = ''
     wrapProgram $out/bin/bup \
diff --git a/pkgs/tools/compression/ouch/default.nix b/pkgs/tools/compression/ouch/default.nix
index b2e4bafc3af13..a1b4131ca7032 100644
--- a/pkgs/tools/compression/ouch/default.nix
+++ b/pkgs/tools/compression/ouch/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ouch";
-  version = "0.4.2";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ouch-org";
     repo = "ouch";
     rev = version;
-    hash = "sha256-XJOv7JFUJulEkGCMLxGi9nldHaPM/CUzyENIC2TdtoE=";
+    hash = "sha256-WqV04GhX7lIla5BEdHRgRZsAWBSweb1HFAC9XZYqpYo=";
   };
 
-  cargoHash = "sha256-TfAAU46rH6Jq0MuLRjbaVMRjzoSLYNAWBnUcT8DyIVg=";
+  cargoHash = "sha256-A3YcgHed5mp7//FMoC/02KAU7Y+7YiG50eWE9tP5mF8=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
 
diff --git a/pkgs/tools/games/igir/default.nix b/pkgs/tools/games/igir/default.nix
new file mode 100644
index 0000000000000..51b8060d32dcd
--- /dev/null
+++ b/pkgs/tools/games/igir/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "igir";
+  version = "2.0.6";
+
+  src = fetchFromGitHub {
+    owner = "emmercm";
+    repo = "igir";
+    rev = "v${version}";
+    hash = "sha256-HIhk60I5VUMHBUp5EQGpE7RZ0KiYwVMl1jEX9zb5ttA=";
+  };
+
+  npmDepsHash = "sha256-P+H6q+jwfJFMb5qtOS3OCVUu9MtZ+Knaog0qyP3FpFo=";
+
+  # I have no clue why I have to do this
+  postPatch = ''
+    patchShebangs scripts/update-readme-help.sh
+  '';
+
+  meta = with lib; {
+    description = "A video game ROM collection manager to help filter, sort, patch, archive, and report on collections on any OS";
+    homepage = "https://igir.io";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ TheBrainScrambler ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch b/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch
index a01822c0366e9..38d5dcd3af16f 100644
--- a/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch
+++ b/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch
@@ -1,14 +1,14 @@
-From ccbe5c0401d6965a6daaa0b7bb022f63908c8942 Mon Sep 17 00:00:00 2001
+From c9ca58262045b82537bd8284d426c91582cc7ed7 Mon Sep 17 00:00:00 2001
 From: Philipp Rintz <git@rintz.net>
-Date: Mon, 28 Aug 2023 19:19:41 +0200
+Date: Thu, 28 Sep 2023 21:22:18 +0200
 Subject: [PATCH] uncommited
 
 ---
- pocket_updater.csproj | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ pocket_updater.csproj | 1 +
+ 1 file changed, 1 insertion(+)
 
 diff --git a/pocket_updater.csproj b/pocket_updater.csproj
-index 11f604c..410bd47 100644
+index 30f77d5..ad6bf69 100644
 --- a/pocket_updater.csproj
 +++ b/pocket_updater.csproj
 @@ -12,6 +12,7 @@
@@ -19,13 +19,6 @@ index 11f604c..410bd47 100644
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="CommandLineParser" Version="2.9.1" />
-@@ -26,4 +27,4 @@
-   <ItemGroup>
-     <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true" />
-   </ItemGroup>
--</Project>
-\ No newline at end of file
-+</Project>
 -- 
 2.40.1
 
diff --git a/pkgs/tools/games/pocket-updater-utility/default.nix b/pkgs/tools/games/pocket-updater-utility/default.nix
index 2d841c00c5168..3fb5acb27aae4 100644
--- a/pkgs/tools/games/pocket-updater-utility/default.nix
+++ b/pkgs/tools/games/pocket-updater-utility/default.nix
@@ -7,17 +7,18 @@
 , openssl ? pkgs.openssl
 , zlib ? pkgs.zlib
 , hostPlatform ? stdenv.hostPlatform
+, nix-update-script ? stdenv.nix-update-script
 }:
 
 buildDotnetModule rec {
   pname = "pocket-updater-utility";
-  version = "2.31.0";
+  version = "2.37.0";
 
   src = fetchFromGitHub {
     owner = "mattpannella";
     repo = "${pname}";
     rev = "${version}";
-    hash = "sha256-z90YITAW2Nv+Mq2q56As4PoHqGPEnvDUPH73bhz/xnw=";
+    hash = "sha256-J9FYmoUNkMhLWsRCf64qBDAJaP8AIWGcuH0UjWx90ls=";
   };
 
   buildInputs = [
@@ -48,6 +49,10 @@ buildDotnetModule rec {
   dotnet-sdk = dotnetCorePackages.sdk_6_0;
   dotnet-runtime = dotnetCorePackages.runtime_6_0;
 
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/mattpannella/pocket-updater-utility";
     description = "Analogue Pocket Updater Utility";
diff --git a/pkgs/tools/games/pocket-updater-utility/deps.nix b/pkgs/tools/games/pocket-updater-utility/deps.nix
index 0e9f626012d95..eea7ea49accbd 100644
--- a/pkgs/tools/games/pocket-updater-utility/deps.nix
+++ b/pkgs/tools/games/pocket-updater-utility/deps.nix
@@ -3,6 +3,7 @@
 
 { fetchNuGet }: [
   (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; })
+  (fetchNuGet { pname = "ConsoleMenu-simple"; version = "2.6.1"; sha256 = "1vbi77schslq3nsardm4v8mrk0zi0phczwm2np1bl9z7c84h5cym"; })
   (fetchNuGet { pname = "Crc32.NET"; version = "1.2.0"; sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix
index e148f51d86893..d590ac7d340c6 100644
--- a/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, buildPackages
 , cmake
 , pkg-config
 , python3
@@ -72,12 +73,14 @@ stdenv.mkDerivation rec {
 
   dontPatchELF = true;
 
+  env.PKG_CONFIG_WAYLAND_SCANNER_WAYLAND_SCANNER="${buildPackages.wayland-scanner}/bin/wayland-scanner";
+
   cmakeFlags = [
     # Don't build the mock ICD as it may get used instead of other drivers, if installed
     "-DBUILD_ICD=OFF"
     # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
     "-DCMAKE_INSTALL_RPATH=${libraryPath}"
-    "-DPKG_CONFIG_EXECUTABLE=${pkg-config}/bin/pkg-config"
+    "-DPKG_CONFIG_EXECUTABLE=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config"
     "-DGLSLANG_INSTALL_DIR=${glslang}"
     # Hide dev warnings that are useless for packaging
     "-Wno-dev"
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix
new file mode 100644
index 0000000000000..b8e34332e8ae8
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-bamboo.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, fcitx5
+, gettext
+, go
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fcitx5-bamboo";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "fcitx";
+    repo = "fcitx5-bamboo";
+    rev = finalAttrs.version;
+    hash = "sha256-EcpuZN2JU6HSuiQgBPBsoYftdHypiyFlrUxDBlVW6eo=";
+    fetchSubmodules = true;
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    gettext
+    go
+  ];
+
+  buildInputs = [
+    fcitx5
+    extra-cmake-modules
+  ];
+
+  preConfigure = ''
+    export GOCACHE=$TMPDIR/go-cache
+  '';
+
+  meta = {
+    description = "Vietnamese input method engine support for Fcitx";
+    homepage = "https://github.com/fcitx/fcitx5-bamboo";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = with lib.maintainers; [ eclairevoyant ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/tools/inputmethods/fusuma/Gemfile b/pkgs/tools/inputmethods/fusuma/Gemfile
index deeb923579641..7cee961df4a06 100644
--- a/pkgs/tools/inputmethods/fusuma/Gemfile
+++ b/pkgs/tools/inputmethods/fusuma/Gemfile
@@ -1,13 +1,15 @@
 source 'https://rubygems.org'
-gem "fusuma"
+gem "fusuma", ">=3.0.0"
 gem "fusuma-plugin-appmatcher"
 gem "fusuma-plugin-keypress"
 gem "fusuma-plugin-sendkey"
-gem "fusuma-plugin-tap"
 gem "fusuma-plugin-wmctrl"
 
 # I've not activated the following plugins for the reasons given below.
 
+# tap has been archived by upstream
+# gem "fusuma-plugin-tap"
+
 # touchscreen needs specific h/w support I don't have access to, so I can't confirm
 # if it's problem free.  A quick check didn't reveal any problems.
 #gem "fusuma-plugin-touchscreen"
diff --git a/pkgs/tools/inputmethods/fusuma/Gemfile.lock b/pkgs/tools/inputmethods/fusuma/Gemfile.lock
index e6055e890d474..283d4c3fa5e1b 100644
--- a/pkgs/tools/inputmethods/fusuma/Gemfile.lock
+++ b/pkgs/tools/inputmethods/fusuma/Gemfile.lock
@@ -1,35 +1,32 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    fusuma (3.1.0)
-    fusuma-plugin-appmatcher (0.6.0)
-      fusuma (~> 3.0)
+    fusuma (3.3.1)
+    fusuma-plugin-appmatcher (0.6.1)
+      fusuma (>= 3.0)
       rexml
       ruby-dbus
-    fusuma-plugin-keypress (0.8.0)
-      fusuma (~> 2.0)
+    fusuma-plugin-keypress (0.9.0)
+      fusuma (>= 3.1)
     fusuma-plugin-sendkey (0.10.1)
-      fusuma (~> 3.1)
+      fusuma (>= 3.1)
       revdev
-    fusuma-plugin-tap (0.4.2)
-      fusuma (~> 2.0)
     fusuma-plugin-wmctrl (1.3.1)
-      fusuma (~> 3.1)
+      fusuma (>= 3.1)
     revdev (0.2.1)
-    rexml (3.2.5)
-    ruby-dbus (0.19.0)
+    rexml (3.2.6)
+    ruby-dbus (0.23.1)
       rexml
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  fusuma
+  fusuma (>= 3.0.0)
   fusuma-plugin-appmatcher
   fusuma-plugin-keypress
   fusuma-plugin-sendkey
-  fusuma-plugin-tap
   fusuma-plugin-wmctrl
 
 BUNDLED WITH
-   2.4.6
+   2.4.22
diff --git a/pkgs/tools/inputmethods/fusuma/gemset.nix b/pkgs/tools/inputmethods/fusuma/gemset.nix
index a118e56687d4f..47d5f62159957 100644
--- a/pkgs/tools/inputmethods/fusuma/gemset.nix
+++ b/pkgs/tools/inputmethods/fusuma/gemset.nix
@@ -4,10 +4,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "163an1yv8lasbdmdjsj2a4byq1rljg7vf5z86ip33xpb9l133xmm";
+      sha256 = "13pbvmkjriq6myynv4gfismiqa9y7bfbvvrfcv25670l4zyiakhm";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.3.1";
   };
   fusuma-plugin-appmatcher = {
     dependencies = ["fusuma" "rexml" "ruby-dbus"];
@@ -15,10 +15,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "28e8c59d5984a5723510f19868c37c363bec93e51f6cb7a573170cf7f5b9189f";
+      sha256 = "1qkir4a657znq0fnx91lik7bw5kyq54jwhiy2zrlplln78xs5yai";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "0.6.1";
   };
   fusuma-plugin-keypress = {
     dependencies = ["fusuma"];
@@ -26,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "045c1820d909307abb1d232c0cf26bbd88eafa0453004124c07b15fff5d680de";
+      sha256 = "0as95haqa943i740xs7czcaibb8lvy4gn6kr8nbldq20nly64bih";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "0.9.0";
   };
   fusuma-plugin-sendkey = {
     dependencies = ["fusuma" "revdev"];
@@ -37,29 +37,18 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "f792fec194b611d5d79b93b6694876292c43bee55635d9422f885b6509eeb765";
+      sha256 = "0rdpxq4nanw85x1djdanwnz46b19fr46kdlkkgbxa4dnjk0zx4pp";
       type = "gem";
     };
     version = "0.10.1";
   };
-  fusuma-plugin-tap = {
-    dependencies = ["fusuma"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0jlw08iw20fpykjglzj4c2fy3z13zsnmi63zbfpn0gmvs05869ys";
-      type = "gem";
-    };
-    version = "0.4.2";
-  };
   fusuma-plugin-wmctrl = {
     dependencies = ["fusuma"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "067939b2d8b99cf8fce43be40341cda3de3371596a8a4fb24eb13ca84c0bffe5";
+      sha256 = "1rgz1d6ahg5i9sr4z2kab5qk7pm3rm0h7r1vwkygi75rv2r3jy86";
       type = "gem";
     };
     version = "1.3.1";
@@ -79,10 +68,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.6";
   };
   ruby-dbus = {
     dependencies = ["rexml"];
@@ -90,9 +79,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18zbsr03drpx7mknm927i2kz5b49s0lwmrbmsdknfa674z0xy6sm";
+      sha256 = "0hf9y5lbi1xcadc2fw87wlif75s1359c2wwlvvd0gag7cq5dm0pm";
       type = "gem";
     };
-    version = "0.19.0";
+    version = "0.23.1";
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 8e072ffeb3b46..c5f02f4c8a227 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table";
-  version = "1.17.3";
+  version = "1.17.4";
 
   src = fetchFromGitHub {
     owner  = "kaio";
     repo   = "ibus-table";
     rev    = version;
-    sha256 = "sha256-rolnpjJojtL+0tUbZIQgL1IIkv+d3MoMWoedfEMpr8A=";
+    sha256 = "sha256-XljpwsDsdZkcnXimnN7BzPhOZdUmEEJbBM53Sv/9rIo=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix
index ff2a7363d90e1..04f8c7f74c151 100644
--- a/pkgs/tools/inputmethods/input-remapper/default.nix
+++ b/pkgs/tools/inputmethods/input-remapper/default.nix
@@ -33,21 +33,21 @@
 let
   maybeXmodmap = lib.optional withXmodmap xmodmap;
 in
-(buildPythonApplication {
+(buildPythonApplication rec {
   pname = "input-remapper";
-  version = "1.5.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
-    rev = "e31a1b2bc5d23fe13130afcc242063196335399f";
     owner = "sezanzeb";
     repo = "input-remapper";
-    hash = "sha256-KPQLgXSonuOgphagYN2JN+CMIpmjTIPUTCqOPDk0UYU=";
+    rev = version;
+    hash = "sha256-rwlVGF/cWSv6Bsvhrs6nMDQ8avYT80aasrhWyQv55/A=";
   };
 
   postPatch = ''
     # fix FHS paths
     substituteInPlace inputremapper/configs/data.py \
-      --replace "/usr/share/input-remapper"  "$out/usr/share/input-remapper"
+      --replace "/usr/share"  "$out/usr/share"
   '' + lib.optionalString withDebugLogLevel ''
     # if debugging
     substituteInPlace inputremapper/logger.py --replace "logger.setLevel(logging.INFO)"  "logger.setLevel(logging.DEBUG)"
diff --git a/pkgs/tools/inputmethods/keymapper/default.nix b/pkgs/tools/inputmethods/keymapper/default.nix
index b9517722a04ed..e93acecb62bf8 100644
--- a/pkgs/tools/inputmethods/keymapper/default.nix
+++ b/pkgs/tools/inputmethods/keymapper/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "keymapper";
-  version = "2.7.2";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "houmain";
     repo = "keymapper";
     rev = finalAttrs.version;
-    hash = "sha256-QgrMkGja8kMhXUE/kvPMq66xv/9tE/mEphlaEyDPHnM=";
+    hash = "sha256-X2Qk/cAczdkteB+6kyURGjvm1Ryio6WHj3Ga2POosCA=";
   };
 
   # all the following must be in nativeBuildInputs
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index f355d30290677..ac13cb69370ad 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -10,14 +10,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.8";
+  version = "1.8.1";
   pname = "goaccess";
 
   src = fetchFromGitHub {
     owner = "allinurl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nZqjC6PEpD/md+mWRhuro2hAxVAGiUhETfZMVHlfP5o=";
+    sha256 = "sha256-GTW7ECSHjFBw8O2NewvMgC+3aheusupDlSBTxZriHHc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/hyfetch/default.nix b/pkgs/tools/misc/hyfetch/default.nix
index 3621ad675b242..2e906541bda13 100644
--- a/pkgs/tools/misc/hyfetch/default.nix
+++ b/pkgs/tools/misc/hyfetch/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "hyfetch";
-  version = "1.4.10";
+  version = "1.4.11";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "hykilpikonna";
     repo = "hyfetch";
     rev = "refs/tags/${version}";
-    hash = "sha256-B8FAMXot+QV7Q2bJuTsRsrxHSr/2f+WNTKrZqFXewdE=";
+    hash = "sha256-xzN/tbS5BUvpKeozesE99gNp3NRDjvf4Qx7BHLc4svo=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index f99789dfc1c10..1f494dea84387 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "14.2.0";
+  version = "15.0.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-U4eqIzvYzUfwprVpPHV/OFPKiBXK4/5z2p8kknX2iME=";
+    sha256 = "sha256-DpWYZa6Oe+Lkzga7Fol/8bTujb58wTFDpNJTaDEWBx8=";
   };
 
-  cargoSha256 = "sha256-g63Kfi4xJZO/+fq6eK2iB1dUGoSGWIIRaJr8BWO/txM=";
+  cargoHash = "sha256-+3cpAL+8X8L833kmZapUoGSwHOj+hnDN6oDNJZ6y24Q=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
 
diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix
index 6bcbd8a9ac410..c4508d4424786 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.18.4";
+  version = "1.18.5";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zF+Hnsmw5TJCYYoItrwcnyh3NSmKrV9JoTPwTMVyw7Y=";
+    hash = "sha256-3s95PjuHIQ0qeTtVOXqsrWFrCeuUUaaA9Lgab4ATetg=";
   };
 
   vendorHash = "sha256-x6BeU6JDayCOi8T8+NvXZe59QmTaO9RAYwSiFlDPL/c=";
diff --git a/pkgs/tools/misc/panoply/default.nix b/pkgs/tools/misc/panoply/default.nix
index 5a333a38a4bcb..0f6471c322c70 100644
--- a/pkgs/tools/misc/panoply/default.nix
+++ b/pkgs/tools/misc/panoply/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "panoply";
-  version = "5.2.10";
+  version = "5.3.0";
 
   src = fetchurl {
     url = "https://www.giss.nasa.gov/tools/panoply/download/PanoplyJ-${version}.tgz";
-    sha256 = "sha256-en/CAmk9Rj2MrUF5vfsZu1fUDJFaAifL7PYgUT3Uu8k=";
+    sha256 = "sha256-UU+CVLUSysDercLvPzDwO0f+w0DNgHmQ/JrC/MJ7Qtg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/rkvm/default.nix b/pkgs/tools/misc/rkvm/default.nix
index 688c774209c6b..bf6ef6e482d00 100644
--- a/pkgs/tools/misc/rkvm/default.nix
+++ b/pkgs/tools/misc/rkvm/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rkvm";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "htrefil";
     repo = pname;
     rev = version;
-    hash = "sha256-3IdwBMN+VZBrcoT5vF7pF6xoNWZBn4k/jRJqADlpM7k=";
+    hash = "sha256-bWDVc5pWc5gtwGF3vwUgjDhqZP7E79nteKiuAEEbw6E=";
   };
 
-  cargoHash = "sha256-/SZKJI4gMkike2m8UVzbwfMqj697A8zbJEKAnnbSx3s=";
+  cargoHash = "sha256-FUaycVxW7QJ5gTZ/8bWjqSaMSepRF5iqlBNJLaDRNxc=";
 
   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook makeWrapper ];
   buildInputs = [ libevdev ];
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 865bd0eb8077f..dd50b9a040892 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.10.6";
+  version = "0.10.7";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "sha256-tKxjzJ69wr48QQEgYLp7G6aOqxs9CCUiTHV1kaRCiHM=";
+    sha256 = "sha256-ELhWVimZWKaHL/PK7HtALKCTmzjcZN2ScDS0yOX3lVs=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/misc/sshx/default.nix b/pkgs/tools/misc/sshx/default.nix
new file mode 100644
index 0000000000000..9ae65dcaee1ce
--- /dev/null
+++ b/pkgs/tools/misc/sshx/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, callPackage
+, rustPlatform
+, fetchFromGitHub
+, protobuf
+, darwin
+, stdenv
+, buildNpmPackage
+}:
+let
+  version = "unstable-2023-11-23";
+
+  src = fetchFromGitHub {
+    owner = "ekzhang";
+    repo = "sshx";
+    rev = "2677f7e1fa3b369132cc7f27f6028a04b92ba5cf";
+    hash = "sha256-9fo8hNUzJr4gse0J2tw7j+alqE82+y8McADzTkxryWk=";
+  };
+
+  mkSshxPackage = { pname, cargoHash, ... }@args:
+    rustPlatform.buildRustPackage (rec {
+      inherit
+        pname
+        version
+        src
+        cargoHash;
+
+      nativeBuildInputs = [ protobuf ];
+      buildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+
+      cargoBuildFlags = [ "--package" pname ];
+      cargoTestFlags = cargoBuildFlags;
+
+      meta = {
+        description = "Fast, collaborative live terminal sharing over the web";
+        homepage = "https://github.com/ekzhang/sshx";
+        license = lib.licenses.mit;
+        maintainers = with lib.maintainers; [ pinpox kranzes ];
+        mainProgram = pname;
+      };
+    } // args);
+in
+{
+  sshx = mkSshxPackage {
+    pname = "sshx";
+    cargoHash = "sha256-dA5Aen/qANW8si75pj/RsBknvOo3KDyU5UISAmmcfRE=";
+  };
+
+  sshx-server = mkSshxPackage rec {
+    pname = "sshx-server";
+    cargoHash = "sha256-1GRWCMXsOzqvORgtwfuywV4wLyX3r4nURhM3Dl5V9Ss=";
+
+    postPatch = ''
+      substituteInPlace crates/sshx-server/src/web.rs \
+        --replace 'ServeDir::new("build")' 'ServeDir::new("${passthru.web.outPath}")' \
+        --replace 'ServeFile::new("build/spa.html")' 'ServeFile::new("${passthru.web.outPath}/spa.html")'
+    '';
+
+    passthru.web = buildNpmPackage {
+      pname = "sshx-web";
+
+      inherit
+        version
+        src;
+
+      postPatch = ''
+        substituteInPlace vite.config.ts \
+          --replace 'execSync("git rev-parse --short HEAD").toString().trim()' '"${src.rev}"'
+      '';
+
+      npmDepsHash = "sha256-bKePCxo6+n0EG+4tbbMimPedJ0Hu1O8yZsgspmhobOs=";
+
+      installPhase = ''
+        mkdir -p "$out"
+        cp -r build/* "$out"
+      '';
+    };
+  };
+}
diff --git a/pkgs/tools/networking/dirb/default.nix b/pkgs/tools/networking/dirb/default.nix
index 1ff6c33bcc26b..17a518bdea212 100644
--- a/pkgs/tools/networking/dirb/default.nix
+++ b/pkgs/tools/networking/dirb/default.nix
@@ -32,8 +32,9 @@ in stdenv.mkDerivation rec {
   env.NIX_CFLAGS_COMPILE = "-fcommon";
 
   postInstall = ''
-    mkdir -p $out/share/dirb/
+    mkdir -p $out/share/{dirb,wordlists}
     cp -r wordlists/ $out/share/dirb/
+    ln -s $out/share/dirb/wordlists/ $out/share/wordlists/dirb
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/mockoon/default.nix b/pkgs/tools/networking/mockoon/default.nix
index 9f5f579e5889c..63e4e3c28030f 100644
--- a/pkgs/tools/networking/mockoon/default.nix
+++ b/pkgs/tools/networking/mockoon/default.nix
@@ -5,11 +5,11 @@
 
 let
   pname = "mockoon";
-  version = "5.0.0";
+  version = "5.1.0";
 
   src = fetchurl {
     url = "https://github.com/mockoon/mockoon/releases/download/v${version}/mockoon-${version}.AppImage";
-    hash = "sha256-CxWjnDNobeDbvNx5gVLGfVxrQyMITZJYmJMzf2XlzQQ=";
+    hash = "sha256-FF2F16ulKerNnwgumaz2Theff7pRN4Up3FooCNW8kbg=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/tools/networking/nikto/default.nix b/pkgs/tools/networking/nikto/default.nix
index e1abcb6c140d0..df03cc8c3ce77 100644
--- a/pkgs/tools/networking/nikto/default.nix
+++ b/pkgs/tools/networking/nikto/default.nix
@@ -6,20 +6,23 @@
 , installShellFiles
 }:
 
+let
+  version = "2.5.0";
+in
 stdenv.mkDerivation rec {
   pname = "nikto";
-  version = "2.2.0";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "sullo";
     repo = "nikto";
-    rev = "c83d0461edd75c02677dea53da2896644f35ecab";
-    sha256 = "0vwq2zdxir67cn78ls11qf1smd54nppy266v7ajm5rqdc47q7fy2";
+    rev = version;
+    sha256 = "sha256-lWiDbWc2BWAUgyaIm0tvZytja02WogYRoc7na4sHiNM=";
   };
 
   # Nikto searches its configuration file based on its current path
   # This fixes the current path regex for the wrapped executable.
-  patches = [ ./NIKTODIR-nix-wrapper-fix.patch ];
+  patches = [ ./nix-wrapper-fix.patch ];
 
   postPatch = ''
     # EXECDIR needs to be changed to the path where we copy the programs stuff
@@ -31,10 +34,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
-  propagatedBuildInputs = [ perlPackages.NetSSLeay ];
-
   buildInputs = [
     perlPackages.perl
+    perlPackages.NetSSLeay
   ];
 
   installPhase = ''
@@ -44,7 +46,6 @@ stdenv.mkDerivation rec {
     install -Dm 755 "program/nikto.pl" "$out/bin/nikto"
     install -Dm 644 program/nikto.conf.default "$out/etc/nikto.conf"
     installManPage documentation/nikto.1
-    install -Dm 644 program/docs/nikto_manual.html "$out/share/doc/${pname}/manual.html"
     install -Dm 644 README.md "$out/share/doc/${pname}/README"
     runHook postInstall
   '';
@@ -58,6 +59,7 @@ stdenv.mkDerivation rec {
     description = "Web server scanner";
     license = licenses.gpl2Plus;
     homepage = "https://cirt.net/Nikto2";
+    changelog = "https://github.com/sullo/nikto/releases/tag/${version}";
     maintainers = with maintainers; [ shamilton ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch b/pkgs/tools/networking/nikto/nix-wrapper-fix.patch
index d3caea1b26fdd..bc05d774577e7 100644
--- a/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch
+++ b/pkgs/tools/networking/nikto/nix-wrapper-fix.patch
@@ -1,26 +1,26 @@
-diff --color -ur a/program/nikto.pl b/program/nikto.pl
---- a/program/nikto.pl	2021-01-30 12:05:54.915072538 +0100
-+++ b/program/nikto.pl	2021-01-30 12:36:42.877729231 +0100
-@@ -223,7 +223,8 @@
+diff --git a/program/nikto.pl b/program/nikto.pl
+index 2cb07f9..323e666 100755
+--- a/program/nikto.pl
++++ b/program/nikto.pl
+@@ -243,7 +243,7 @@ sub config_init {
      # Guess Nikto current directory
      my $NIKTODIR = abs_path($0);
      chomp($NIKTODIR);
 -    $NIKTODIR =~ s#[\\/]nikto.pl$##;
 +    $NIKTODIR =~ s#[\\/]bin[\\/]\.nikto-wrapped$##;
-+
  
      # Guess user's home directory -- to support Windows
      foreach my $var (split(/ /, "HOME USERPROFILE")) {
-@@ -231,10 +232,10 @@
+@@ -251,10 +251,10 @@ sub config_init {
      }
  
      # Read the conf files in order (previous values are over-written with each, if multiple found)
--    push(@CF,"$NIKTODIR/nikto.conf.default");
+-    push(@CF, "$NIKTODIR/nikto.conf.default");
 +    push(@CF,"$NIKTODIR/etc/nikto.conf.default");
-     push(@CF,"/etc/nikto.conf");
-     push(@CF,"$home/nikto.conf");
--    push(@CF,"$NIKTODIR/nikto.conf");
+     push(@CF, "/etc/nikto.conf");
+     push(@CF, "$home/nikto.conf");
+-    push(@CF, "$NIKTODIR/nikto.conf");
 +    push(@CF,"$NIKTODIR/etc/nikto.conf");
-     push(@CF,"nikto.conf");
-     push(@CF,"$VARIABLES{'configfile'}");
+     push(@CF, "nikto.conf");
+     push(@CF, "$VARIABLES{'configfile'}");
  
diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix
index d29bbe1292db5..d75a49f6c9e6e 100644
--- a/pkgs/tools/networking/sing-box/default.nix
+++ b/pkgs/tools/networking/sing-box/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "sing-box";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "SagerNet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-XD4xWOQumqbXMBbzHgCIgFIegUqJnFZsAvk1VZXX5rc=";
+    hash = "sha256-5n5AnuJQvw/26X3UWdLvegFhwYzjtS7o0d4cN3c3bfQ=";
   };
 
-  vendorHash = "sha256-U70FjJ0HO5dyFj50qpyjy+k2r7IR/6gOLDi2LM3M3No=";
+  vendorHash = "sha256-UvLZY4vMS6dI6z9kPcSzbB/cW/7rfbrlhcWh51q5sak=";
 
   tags = [
     "with_quic"
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index fe4950d5c2407..992303ec60721 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, perl, gettext, pkg-config, libidn2, libiconv }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, perl, gettext, pkg-config, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
   version = "5.5.20";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-0vQ6GBBtNA6Phlqhl3NZvEJqoyZ1um7VdkpsIRKhsm4=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/macports/macports-ports/raw/93de4e9fc1e5e8427bf98f48209e783a5e8fab57/net/whois/files/implicit.patch";
+      extraPrefix = "";
+      hash = "sha256-ogVylQz//tpXxPNIWIHkhghvToU1z1D1FfnUBdZLyRY=";
+    })
+  ];
+
   nativeBuildInputs = [ perl gettext pkg-config ];
   buildInputs = [ libidn2 libiconv ];
 
diff --git a/pkgs/tools/security/argocd-vault-plugin/default.nix b/pkgs/tools/security/argocd-vault-plugin/default.nix
index d2557b36dc2e8..bd6e4c15fa27d 100644
--- a/pkgs/tools/security/argocd-vault-plugin/default.nix
+++ b/pkgs/tools/security/argocd-vault-plugin/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "argocd-vault-plugin";
-  version = "1.16.1";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "argoproj-labs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7bUpshg+OqlS5wvFkZkovQVaLglvSpp7FsVA9qNOk1U=";
+    hash = "sha256-YH7yNRaKdYzasaxYSManuiImyxglmIwgLvDKjUg3MR8=";
   };
 
-  vendorHash = "sha256-r9Pcm95gU0QTiREdiQiyJMOKZb5Lt2bIJywLerzgbdg=";
+  vendorHash = "sha256-0PrGrcS8Gx0cVImGrlmXlycFgWCTLjg2ISi0OhYoPpw=";
 
   # integration tests require filesystem and network access for credentials
   doCheck = false;
diff --git a/pkgs/tools/security/pinentry-bemenu/default.nix b/pkgs/tools/security/pinentry-bemenu/default.nix
index aec655d0b5594..ed43ee3825979 100644
--- a/pkgs/tools/security/pinentry-bemenu/default.nix
+++ b/pkgs/tools/security/pinentry-bemenu/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pinentry-bemenu";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "t-8ch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5ll4a/1Ughx0s2l/mcIsp1g4oNoNhm0RWvY/tXDvPGE=";
+    sha256 = "sha256-h+PC8IGwCW5ZroLGpypcmpejOo+JGM7zG4N5fguBWvM=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/tools/security/pynitrokey/default.nix b/pkgs/tools/security/pynitrokey/default.nix
index 690d566c476d8..2d1979c1b0c13 100644
--- a/pkgs/tools/security/pynitrokey/default.nix
+++ b/pkgs/tools/security/pynitrokey/default.nix
@@ -1,63 +1,82 @@
 { lib
-, python3Packages
+, buildPythonApplication
 , fetchPypi
-, nrfutil
+, pythonRelaxDepsHook
+, installShellFiles
 , libnitrokey
-, nix-update-script
+, flit-core
+, certifi
+, cffi
+, click
+, cryptography
+, ecdsa
+, fido2
+, intelhex
+, nkdfu
+, python-dateutil
+, pyusb
+, requests
+, spsdk
+, tqdm
+, tlv8
+, typing-extensions
+, pyserial
+, protobuf
+, click-aliases
+, semver
+, nethsm
+, importlib-metadata
 }:
 
-with python3Packages;
-
-buildPythonApplication rec {
+let
   pname = "pynitrokey";
-  version = "0.4.40";
-  format = "pyproject";
+  version = "0.4.43";
+  mainProgram = "nitropy";
+in
+
+buildPythonApplication {
+  inherit pname version;
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Hu+8UooDzv4GhkWt0sCckQQyHjWn4V/zt2ADlVCoHmk=";
+    hash = "sha256-dYOdokqALDg4Xn7N6Yd0skM/tit+j5+xY73sm9k76hE=";
   };
 
   propagatedBuildInputs = [
     certifi
     cffi
     click
-    click-aliases
     cryptography
     ecdsa
-    frozendict
     fido2
     intelhex
     nkdfu
-    nrfutil
     python-dateutil
     pyusb
     requests
-    semver
     spsdk
     tqdm
-    urllib3
     tlv8
     typing-extensions
+    pyserial
+    protobuf
+    click-aliases
+    semver
+    nethsm
     importlib-metadata
   ];
 
   nativeBuildInputs = [
     flit-core
+    installShellFiles
     pythonRelaxDepsHook
   ];
 
-  # FIXME: does pythonRelaxDepsHook not work for pypaBuildHook + flit-core?
-  pypaBuildFlags = [ "--skip-dependency-check" ];
+  pythonRelaxDeps = true;
 
-  pythonRelaxDeps = [
-    "click"
-    "cryptography"
-    "protobuf"
-    "python-dateutil"
-    "spsdk"
-    "typing_extensions"
-  ];
+  # pythonRelaxDepsHook runs in postBuild so cannot be used
+  pypaBuildFlags = [ "--skip-dependency-check" ];
 
   # libnitrokey is not propagated to users of the pynitrokey Python package.
   # It is only usable from the wrapped bin/nitropy
@@ -70,13 +89,19 @@ buildPythonApplication rec {
 
   pythonImportsCheck = [ "pynitrokey" ];
 
-  passthru.updateScript = nix-update-script { };
+  postInstall = ''
+    installShellCompletion --cmd ${mainProgram} \
+      --bash <(_NITROPY_COMPLETE=bash_source $out/bin/${mainProgram}) \
+      --zsh <(_NITROPY_COMPLETE=zsh_source $out/bin/${mainProgram}) \
+      --fish <(_NITROPY_COMPLETE=fish_source $out/bin/${mainProgram})
+  '';
 
   meta = with lib; {
     description = "Python client for Nitrokey devices";
     homepage = "https://github.com/Nitrokey/pynitrokey";
+    changelog = "https://github.com/Nitrokey/pynitrokey/releases/tag/v${version}";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ frogamic ];
-    mainProgram = "nitropy";
+    inherit mainProgram;
   };
 }
diff --git a/pkgs/tools/security/srm/default.nix b/pkgs/tools/security/srm/default.nix
index ba776b8af3e3f..7cde2be4fbc5f 100644
--- a/pkgs/tools/security/srm/default.nix
+++ b/pkgs/tools/security/srm/default.nix
@@ -1,14 +1,18 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchsvn, autoreconfHook }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "srm";
-  version = "1.2.15";
+  version = "1.2.15-unstable-2017-12-18";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/project/srm/${version}/srm-${version}.tar.gz";
-    sha256 = "10sjarhprs6s4zandndg720528rcnd4xk8dl48pjj7li1q9c30vm";
+  src = fetchsvn {
+    url = "svn://svn.code.sf.net/p/srm/srm/trunk/";
+    rev = "268";
+    sha256 = "sha256-bY8p6IS5zeByoe/uTmvBAaBN4Wu7J19dVSpbtqx4OeQ=";
   };
 
+  patches = [ ./fix-output-in-verbose-mode.patch ];
+  nativeBuildInputs = [ autoreconfHook ];
+
   meta = with lib; {
     description = "Delete files securely";
     longDescription = ''
@@ -22,5 +26,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ edwtjo ];
     platforms = platforms.unix;
   };
-
 }
diff --git a/pkgs/tools/security/srm/fix-output-in-verbose-mode.patch b/pkgs/tools/security/srm/fix-output-in-verbose-mode.patch
new file mode 100644
index 0000000000000..966d7ba4612ea
--- /dev/null
+++ b/pkgs/tools/security/srm/fix-output-in-verbose-mode.patch
@@ -0,0 +1,57 @@
+diff --git a/src/sunlink.c b/src/sunlink.c
+index 7050713..ffcb8d3 100644
+--- a/src/sunlink.c
++++ b/src/sunlink.c
+@@ -468,6 +468,8 @@ static int overwrite_selector(struct srm_target *srm)
+       if(overwrite_byte(srm, 5, 0x00) < 0) return -1;
+       if(overwrite_byte(srm, 6, 0xFF) < 0) return -1;
+       if(overwrite_random(srm, 7, 1) < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else if(srm->options & SRM_MODE_DOE)
+     {
+@@ -475,6 +477,8 @@ static int overwrite_selector(struct srm_target *srm)
+ 	error("US DoE mode");
+       if(overwrite_random(srm, 1, 2) < 0) return -1;
+       if(overwrite_bytes(srm, 3, 'D', 'o', 'E') < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else if(srm->options & SRM_MODE_OPENBSD)
+     {
+@@ -483,12 +487,16 @@ static int overwrite_selector(struct srm_target *srm)
+       if(overwrite_byte(srm, 1, 0xFF) < 0) return -1;
+       if(overwrite_byte(srm, 2, 0x00) < 0) return -1;
+       if(overwrite_byte(srm, 3, 0xFF) < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else if(srm->options & SRM_MODE_SIMPLE)
+     {
+       if((srm->options&SRM_OPT_V) > 1)
+ 	error("Simple mode");
+       if(overwrite_byte(srm, 1, 0x00) < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else if(srm->options & SRM_MODE_RCMP)
+     {
+@@ -497,6 +505,8 @@ static int overwrite_selector(struct srm_target *srm)
+       if(overwrite_byte(srm, 1, 0x00) < 0) return -1;
+       if(overwrite_byte(srm, 2, 0xFF) < 0) return -1;
+       if(overwrite_string(srm, 3, "RCMP") < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+   else
+     {
+@@ -535,6 +545,8 @@ static int overwrite_selector(struct srm_target *srm)
+       if(overwrite_random(srm, 32, 4) < 0) return -1;
+       /* if you want to backup your partition or shrink your vmware image having the file zero-ed gives best compression results. */
+       if(overwrite_byte(srm, 36, 0x00) < 0) return -1;
++      if((srm->options&SRM_OPT_V) > 1)
++	printf("\n");
+     }
+ #if 0
+   if((srm->options & SRM_OPT_V) > 1)
diff --git a/pkgs/tools/security/sss-cli/default.nix b/pkgs/tools/security/sss-cli/default.nix
new file mode 100644
index 0000000000000..80daa4a6627ea
--- /dev/null
+++ b/pkgs/tools/security/sss-cli/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "sss-cli";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "dsprenkels";
+    repo = "sss-cli";
+    rev = "v${version}";
+    hash = "sha256-9Wht+t48SsWpj1z2yY6P7G+h9StmuqfMdODtyPffhak=";
+  };
+
+  cargoPatches = [ ./fix-cargo-lock.patch ];
+
+  cargoHash = "sha256-nKb0J9ym3ZYC80KemwQwT5vVtQUngYD4/091hAIYAiU=";
+
+  meta = with lib; {
+    homepage = "https://github.com/dsprenkels/sss-cli";
+    description = "Command line program for secret-sharing strings";
+    license = licenses.mit;
+    maintainers = with maintainers; [ laalsaas ];
+  };
+}
diff --git a/pkgs/tools/security/sss-cli/fix-cargo-lock.patch b/pkgs/tools/security/sss-cli/fix-cargo-lock.patch
new file mode 100644
index 0000000000000..4af581c4962d8
--- /dev/null
+++ b/pkgs/tools/security/sss-cli/fix-cargo-lock.patch
@@ -0,0 +1,21 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index a57c5d8..27278d9 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,5 +1,7 @@
+ # This file is automatically @generated by Cargo.
+ # It is not intended for manual editing.
++version = 3
++
+ [[package]]
+ name = "aho-corasick"
+ version = "0.7.15"
+@@ -253,7 +255,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "shamirsecretsharing-cli"
+-version = "0.1.0"
++version = "0.1.1"
+ dependencies = [
+  "atty",
+  "clap",
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index fb9ce6fd6d5a6..c13f33f9115e9 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "vault";
-  version = "1.14.4";
+  version = "1.14.7";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-E7lEKsbl2L6KhLgAZbemCaTIjbsvl3wg3oCURn/Judc=";
+    sha256 = "sha256-ubMHvKV5OOmQOrjm2J56/XCxsj+qDBPOKgS6hF75g28=";
   };
 
-  vendorHash = "sha256-8ytAT7qVXAIfoeMyTBMJ6DiWn74sRM1WrrOYaKTlKMo=";
+  vendorHash = "sha256-zpHjZjgCgf4b2FAJQ22eVgq0YGoVvxGYJ3h/3ZRiyrQ=";
 
   proxyVendor = true;
 
diff --git a/pkgs/tools/system/openseachest/default.nix b/pkgs/tools/system/openseachest/default.nix
index 1bdcf796f7504..ab17c23bc61e9 100644
--- a/pkgs/tools/system/openseachest/default.nix
+++ b/pkgs/tools/system/openseachest/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openseachest";
-  version = "23.03.1";
+  version = "23.12";
 
   src = fetchFromGitHub {
     owner = "Seagate";
     repo = "openSeaChest";
     rev = "v${version}";
-    sha256 = "sha256-jDCCozHeOazB3cM/9TlwHq1pu7yTiD818jykHeQ+RBo=";
+    sha256 = "sha256-2snxruIC/93+yI7g/9cCXcms8FaoXnoyWq9py8GTwrs=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index 8904d1bf690e8..fc6c21551fe87 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -17,7 +17,7 @@ mkDerivation rec {
   version = "1.10.6";
 
   src = fetchurl {
-    url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
+    url = "mirror://kde/stable/kdiff3/kdiff3-${version}.tar.xz";
     hash = "sha256-EzOu+dZjbGs0ZqF/0sXZbpGdTrUh6isjUoJUETau+zE=";
   };
 
diff --git a/pkgs/tools/text/languagetool/default.nix b/pkgs/tools/text/languagetool/default.nix
index 65fcb5b71e7bc..ed4543140e863 100644
--- a/pkgs/tools/text/languagetool/default.nix
+++ b/pkgs/tools/text/languagetool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "LanguageTool";
-  version = "6.2";
+  version = "6.3";
 
   src = fetchzip {
     url = "https://www.languagetool.org/download/${pname}-${version}.zip";
-    sha256 = "sha256-I0Blp3o+NVL0b/86UTztufwKVkgO9KNXtBuUrUnbWco=";
+    sha256 = "sha256-S6iBg7nEKCLrFzUnCseTaxFl6/YeRic2tJnBPLuXmWw=";
   };
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
diff --git a/pkgs/tools/text/tuc/default.nix b/pkgs/tools/text/tuc/default.nix
index 3598a317633f7..f51d81dc7a17e 100644
--- a/pkgs/tools/text/tuc/default.nix
+++ b/pkgs/tools/text/tuc/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchFromGitHub, rustPlatform }:
 rustPlatform.buildRustPackage rec {
   pname = "tuc";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "riquito";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zEWQ1wGpEowVPdlezC/LZhoPGS546nuqREfavo3fbTs=";
+    sha256 = "sha256-83tS0sYqQqGQVXFBQ/mIDxL9QKqPjAM48vTXA8NKdtE=";
   };
 
-  cargoHash = "sha256-YRw1HxVy1/SOWfareR6rh6M78xFm+Im//klhXGGt95g=";
+  cargoHash = "sha256-ka6h60ettSsho7QnWmpWrEPEyHIIyTVSW2r1Hk132CY=";
 
   meta = with lib; {
     description = "When cut doesn't cut it";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ddfdb4d6ccfea..c854b17495fe9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -226,6 +226,12 @@ with pkgs;
 
   chkservice = callPackage ../tools/admin/chkservice { };
 
+  # addDriverRunpath is the preferred package name, as this enables
+  # many more scenarios than just opengl now.
+  addDriverRunpath = callPackage ../build-support/add-driver-runpath { };
+
+  # addOpenGLRunpath should be added to aliases.nix after the 24.05 branch-off.
+  # Post 24.11 branch-off, this should throw an error in aliases.nix.
   addOpenGLRunpath = callPackage ../build-support/add-opengl-runpath { };
 
   quickemu = callPackage ../development/quickemu { };
@@ -1766,6 +1772,8 @@ with pkgs;
 
   davinci-resolve-studio = callPackage ../applications/video/davinci-resolve { studioVariant = true; };
 
+  dehinter = with python3Packages; toPythonApplication dehinter;
+
   dolbybcsoftwaredecode = callPackage ../applications/audio/dolbybcsoftwaredecode { };
 
   donkey = callPackage ../tools/security/donkey { };
@@ -1806,6 +1814,10 @@ with pkgs;
 
   ethq = callPackage ../os-specific/linux/ethq { };
 
+  font-v = with python3Packages; toPythonApplication font-v;
+
+  fontbakery = with python3Packages; toPythonApplication fontbakery;
+
   weidu = callPackage ../tools/games/weidu { };
 
   weylus = callPackage ../applications/graphics/weylus  {
@@ -1890,6 +1902,8 @@ with pkgs;
 
   hyperpotamus = callPackage ../tools/misc/hyperpotamus { };
 
+  igir = callPackage ../tools/games/igir { };
+
   immich-cli = callPackage ../tools/misc/immich-cli { };
 
   inherit (callPackage ../tools/networking/ivpn/default.nix {}) ivpn ivpn-service;
@@ -2024,6 +2038,8 @@ with pkgs;
 
   sgrep = callPackage ../tools/text/sgrep { };
 
+  shaperglot = with python3Packages; toPythonApplication shaperglot;
+
   shell-genie = callPackage  ../applications/misc/shell-genie { };
 
   sloth = callPackage ../tools/misc/sloth { };
@@ -2094,6 +2110,8 @@ with pkgs;
 
   ttchat = callPackage ../tools/misc/ttchat { };
 
+  ufolint = with python3Packages; toPythonApplication ufolint;
+
   ukmm = callPackage ../tools/games/ukmm { };
 
   unflac = callPackage ../tools/audio/unflac { };
@@ -2673,10 +2691,7 @@ with pkgs;
 
   emulationstation = callPackage ../applications/emulators/emulationstation { };
 
-  fceux = callPackage ../applications/emulators/fceux {
-    lua = lua5_1;
-    inherit (libsForQt5) wrapQtAppsHook;
-  };
+  fceux = libsForQt5.callPackage ../applications/emulators/fceux { lua = lua5_1; };
 
   firebird-emu = libsForQt5.callPackage ../applications/emulators/firebird-emu { };
 
@@ -3024,7 +3039,12 @@ with pkgs;
 
   blackbox-terminal = callPackage ../applications/terminal-emulators/blackbox-terminal { };
 
-  contour = libsForQt5.callPackage ../applications/terminal-emulators/contour { fmt = fmt_8; };
+  contour = qt6.callPackage ../applications/terminal-emulators/contour {
+    inherit (darwin.apple_sdk_11_0.libs) utmp;
+    inherit (darwin) sigtool;
+    stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
+    fmt = fmt_9;
+  };
 
   cool-retro-term = libsForQt5.callPackage ../applications/terminal-emulators/cool-retro-term { };
 
@@ -3892,6 +3912,8 @@ with pkgs;
 
   gopacked = callPackage ../applications/misc/gopacked { };
 
+  goperf = callPackage ../development/tools/goperf { };
+
   gotktrix = callPackage ../applications/networking/instant-messengers/gotktrix { };
 
   graphite-cli = nodePackages.graphite-cli;
@@ -5691,7 +5713,7 @@ with pkgs;
   hyprpaper = callPackage ../applications/window-managers/hyprwm/hyprpaper { };
 
   hyprpicker = callPackage ../applications/window-managers/hyprwm/hyprpicker {
-    wlroots = wlroots_0_15;
+    wlroots = wlroots_0_16;
   };
 
   hyprshade = python311Packages.callPackage ../applications/window-managers/hyprwm/hyprshade { };
@@ -6982,7 +7004,7 @@ with pkgs;
   keymapper = callPackage ../tools/inputmethods/keymapper { };
 
   twitch-tui = callPackage ../applications/networking/instant-messengers/twitch-tui {
-    inherit (darwin.apple_sdk_11_0.frameworks) Security CoreServices;
+    inherit (darwin.apple_sdk_11_0.frameworks) Security CoreServices SystemConfiguration;
   };
 
   gebaar-libinput = callPackage ../tools/inputmethods/gebaar-libinput { stdenv = gcc10StdenvCompat; };
@@ -8085,6 +8107,8 @@ with pkgs;
 
   fcitx5-with-addons = libsForQt5.callPackage ../tools/inputmethods/fcitx5/with-addons.nix { };
 
+  fcitx5-bamboo = callPackage ../tools/inputmethods/fcitx5/fcitx5-bamboo.nix { };
+
   fcitx5-chinese-addons = libsForQt5.callPackage ../tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix { };
 
   fcitx5-mozc = libsForQt5.callPackage ../tools/inputmethods/fcitx5/fcitx5-mozc.nix {
@@ -13506,6 +13530,10 @@ with pkgs;
 
   sshuttle = callPackage ../tools/security/sshuttle { };
 
+  inherit (callPackages ../tools/misc/sshx { })
+    sshx
+    sshx-server;
+
   ssldump = callPackage ../tools/networking/ssldump { };
 
   sslsplit = callPackage ../tools/networking/sslsplit { };
@@ -13570,6 +13598,8 @@ with pkgs;
 
   ssocr = callPackage ../applications/misc/ssocr { };
 
+  sss-cli = callPackage ../tools/security/sss-cli { };
+
   ssss = callPackage ../tools/security/ssss { };
 
   stabber = callPackage ../misc/stabber { };
@@ -16914,7 +16944,7 @@ with pkgs;
       targetPlatform = lib.systems.elaborate {
         # lib.systems.elaborate won't recognize "unknown" as the last component.
         config = "wasm32-unknown-wasi";
-        rust.config = "wasm32-unknown-unknown";
+        rust.rustcTarget = "wasm32-unknown-unknown";
       };
     };
   }).overrideAttrs (old: {
@@ -19691,10 +19721,6 @@ with pkgs;
 
   openai = with python3Packages; toPythonApplication openai;
 
-  openai-full = with python3Packages; toPythonApplication (openai.override {
-   withOptionalDependencies = true;
-  });
-
   openai-whisper = with python3.pkgs; toPythonApplication openai-whisper;
 
   openai-whisper-cpp = darwin.apple_sdk_11_0.callPackage ../tools/audio/openai-whisper-cpp {
@@ -20918,7 +20944,8 @@ with pkgs;
   ctranslate2 = callPackage ../development/libraries/ctranslate2 rec {
     stdenv = if withCUDA then gcc11Stdenv else pkgs.stdenv;
     withCUDA = pkgs.config.cudaSupport;
-    withCuDNN = pkgs.config.cudaSupport;
+    withCuDNN = withCUDA && (cudaPackages ? cudnn);
+    cudaPackages = pkgs.cudaPackages;
   };
 
   ubus = callPackage ../development/libraries/ubus { };
@@ -22065,7 +22092,7 @@ with pkgs;
 
   hwloc = callPackage ../development/libraries/hwloc { };
 
-  hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_18; };
+  hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_19; };
 
   hydra-cli = callPackage ../development/tools/misc/hydra-cli { };
 
@@ -23615,6 +23642,8 @@ with pkgs;
 
   libuldaq = callPackage ../development/libraries/libuldaq { };
 
+  libunicode = callPackage ../development/libraries/libunicode { fmt = fmt_8; };
+
   libunwind =
     if stdenv.isDarwin then darwin.libunwind
     else if stdenv.hostPlatform.system == "riscv32-linux" then llvmPackages_14.libunwind
@@ -25308,6 +25337,8 @@ with pkgs;
 
   tepl = callPackage ../development/libraries/tepl { };
 
+  termbench-pro = callPackage ../development/libraries/termbench-pro { fmt = fmt_8; };
+
   telepathy-glib = callPackage ../development/libraries/telepathy/glib { };
 
   telepathy-farstream = callPackage ../development/libraries/telepathy/farstream { };
@@ -29159,9 +29190,7 @@ with pkgs;
 
   comfortaa = callPackage ../data/fonts/comfortaa { };
 
-  colloid-kde = callPackage ../data/themes/colloid-kde {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  colloid-kde = libsForQt5.callPackage ../data/themes/colloid-kde { };
 
   comic-mono = callPackage ../data/fonts/comic-mono { };
 
@@ -29377,9 +29406,7 @@ with pkgs;
 
   graphite-gtk-theme = callPackage ../data/themes/graphite-gtk-theme { };
 
-  graphite-kde-theme = callPackage ../data/themes/graphite-kde-theme {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  graphite-kde-theme = libsForQt5.callPackage ../data/themes/graphite-kde-theme { };
 
   greybird = callPackage ../data/themes/greybird { };
 
@@ -29516,9 +29543,7 @@ with pkgs;
 
   layan-gtk-theme = callPackage ../data/themes/layan-gtk-theme { };
 
-  layan-kde = callPackage ../data/themes/layan-kde {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  layan-kde = libsForQt5.callPackage ../data/themes/layan-kde { };
 
   lao = callPackage ../data/fonts/lao { };
 
@@ -29722,9 +29747,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Foundation SystemConfiguration;
   };
 
-  nordic = callPackage ../data/themes/nordic {
-    inherit (libsForQt5) breeze-icons plasma-framework plasma-workspace;
-  };
+  nordic = libsForQt5.callPackage ../data/themes/nordic { };
 
   nordzy-cursor-theme = callPackage ../data/icons/nordzy-cursor-theme { };
 
@@ -29883,9 +29906,7 @@ with pkgs;
 
   qogir-icon-theme = callPackage ../data/icons/qogir-icon-theme { };
 
-  qogir-kde = callPackage ../data/themes/qogir-kde {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  qogir-kde = libsForQt5.callPackage ../data/themes/qogir-kde { };
 
   qogir-theme = callPackage ../data/themes/qogir { };
 
@@ -30175,9 +30196,7 @@ with pkgs;
 
   unscii = callPackage ../data/fonts/unscii { };
 
-  utterly-nord-plasma = callPackage ../data/themes/utterly-nord-plasma {
-    inherit (libsForQt5) breeze-icons kdeclarative kirigami2 plasma-framework plasma-workspace;
-  };
+  utterly-nord-plasma = libsForQt5.callPackage ../data/themes/utterly-nord-plasma { };
 
   utterly-round-plasma-style = callPackage ../data/themes/utterly-round-plasma-style { };
 
@@ -30223,9 +30242,7 @@ with pkgs;
 
   whitesur-icon-theme = callPackage ../data/icons/whitesur-icon-theme { };
 
-  whitesur-kde = callPackage ../data/themes/whitesur-kde {
-    inherit (libsForQt5) kdeclarative plasma-framework plasma-workspace;
-  };
+  whitesur-kde = libsForQt5.callPackage ../data/themes/whitesur-kde { };
 
   wireless-regdb = callPackage ../data/misc/wireless-regdb { };
 
@@ -33489,8 +33506,6 @@ with pkgs;
 
   handlr = callPackage ../tools/misc/handlr { };
 
-  handlr-regex = callPackage ../tools/misc/handlr-regex { };
-
   jftui = callPackage ../applications/video/jftui { };
 
   lime = callPackage ../development/libraries/lime { };
@@ -34537,8 +34552,6 @@ with pkgs;
 
   vgmtools = callPackage ../tools/audio/vgmtools { };
 
-  vieb = callPackage ../applications/networking/browsers/vieb { };
-
   vital = callPackage ../applications/audio/vital { };
 
   vivaldi = callPackage ../applications/networking/browsers/vivaldi { };
@@ -35276,9 +35289,7 @@ with pkgs;
 
   simple-scan = gnome.simple-scan;
 
-  sioyek = callPackage ../applications/misc/sioyek {
-    inherit (libsForQt5) qmake qt3d qtbase wrapQtAppsHook;
-  };
+  sioyek = libsForQt5.callPackage ../applications/misc/sioyek { };
 
   siproxd = callPackage ../applications/networking/siproxd { };
 
@@ -36349,9 +36360,7 @@ with pkgs;
 
   vwm = callPackage ../applications/window-managers/vwm { };
 
-  vym = callPackage ../applications/misc/vym {
-    inherit (libsForQt5) qmake qtscript qtsvg qtbase wrapQtAppsHook;
-  };
+  vym = libsForQt5.callPackage ../applications/misc/vym { };
 
   wad = callPackage ../tools/security/wad { };
 
@@ -41712,7 +41721,7 @@ with pkgs;
 
   xrq = callPackage ../applications/misc/xrq { };
 
-  pynitrokey = callPackage ../tools/security/pynitrokey { };
+  pynitrokey = python3Packages.callPackage ../tools/security/pynitrokey { };
 
   nitrokey-app = libsForQt5.callPackage ../tools/security/nitrokey-app { };
 
@@ -42133,4 +42142,6 @@ with pkgs;
   mdhtml = callPackage ../tools/text/mdhtml { };
 
   insulator2 = callPackage ../applications/misc/insulator2 {};
+
+  animdl = python3Packages.callPackage ../applications/video/animdl { };
 }
diff --git a/pkgs/top-level/hare-third-party.nix b/pkgs/top-level/hare-third-party.nix
index 524df05659f42..084e749c676cc 100644
--- a/pkgs/top-level/hare-third-party.nix
+++ b/pkgs/top-level/hare-third-party.nix
@@ -4,4 +4,6 @@ lib.makeScope newScope (self:
 let
   inherit (self) callPackage;
 in
-{ })
+{
+  hare-json = callPackage ../development/hare-packages/hare-json { };
+})
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b40753d041966..ebf97327f53fc 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -516,6 +516,8 @@ self: super: with self; {
 
   amqtt = callPackage ../development/python-modules/amqtt { };
 
+  anchor-kr = callPackage ../development/python-modules/anchor-kr { };
+
   ancp-bids = callPackage ../development/python-modules/ancp-bids { };
 
   android-backup = callPackage ../development/python-modules/android-backup { };
@@ -538,6 +540,8 @@ self: super: with self; {
 
   aniso8601 = callPackage ../development/python-modules/aniso8601 { };
 
+  anitopy = callPackage ../development/python-modules/anitopy { };
+
   annexremote = callPackage ../development/python-modules/annexremote { };
 
   annotated-types = callPackage ../development/python-modules/annotated-types { };
@@ -999,6 +1003,8 @@ self: super: with self; {
 
   axis = callPackage ../development/python-modules/axis { };
 
+  axisregistry = callPackage ../development/python-modules/axisregistry { };
+
   azure-appconfiguration = callPackage ../development/python-modules/azure-appconfiguration { };
 
   azure-applicationinsights = callPackage ../development/python-modules/azure-applicationinsights { };
@@ -1251,6 +1257,8 @@ self: super: with self; {
 
   babelfish = callPackage ../development/python-modules/babelfish { };
 
+  babelfont = callPackage ../development/python-modules/babelfont { };
+
   babelgladeextractor = callPackage ../development/python-modules/babelgladeextractor { };
 
   bambi = callPackage ../development/python-modules/bambi { };
@@ -1420,6 +1428,8 @@ self: super: with self; {
 
   betterproto = callPackage ../development/python-modules/betterproto { };
 
+  beziers = callPackage ../development/python-modules/beziers { };
+
   bibtexparser = callPackage ../development/python-modules/bibtexparser { };
 
   bidict = callPackage ../development/python-modules/bidict { };
@@ -2210,6 +2220,8 @@ self: super: with self; {
 
   collections-extended = callPackage ../development/python-modules/collections-extended { };
 
+  collidoscope = callPackage ../development/python-modules/collidoscope { };
+
   colorama = callPackage ../development/python-modules/colorama { };
 
   colorcet = callPackage ../development/python-modules/colorcet { };
@@ -2244,6 +2256,8 @@ self: super: with self; {
 
   comm = callPackage ../development/python-modules/comm { };
 
+  commandlines = callPackage ../development/python-modules/commandlines { };
+
   commandparse = callPackage ../development/python-modules/commandparse { };
 
   commentjson = callPackage ../development/python-modules/commentjson { };
@@ -2726,6 +2740,8 @@ self: super: with self; {
 
   defusedxml = callPackage ../development/python-modules/defusedxml { };
 
+  dehinter = callPackage ../development/python-modules/dehinter { };
+
   deid = callPackage ../development/python-modules/deid { };
 
   delegator-py = callPackage ../development/python-modules/delegator-py { };
@@ -4165,6 +4181,10 @@ self: super: with self; {
 
   fontawesomefree = callPackage ../development/python-modules/fontawesomefree { };
 
+  fontbakery = callPackage ../development/python-modules/fontbakery { };
+
+  fontfeatures = callPackage ../development/python-modules/fontfeatures { };
+
   fontforge = toPythonModule (pkgs.fontforge.override {
     withPython = true;
     inherit python;
@@ -4180,6 +4200,8 @@ self: super: with self; {
 
   fontmake = callPackage ../development/python-modules/fontmake { };
 
+  font-v = callPackage ../development/python-modules/font-v { };
+
   skia-pathops = callPackage ../development/python-modules/skia-pathops {
     inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices OpenGL;
   };
@@ -4196,8 +4218,12 @@ self: super: with self; {
 
   openstep-plist = callPackage ../development/python-modules/openstep-plist { };
 
+  glyphsets = callPackage ../development/python-modules/glyphsets { };
+
   glyphslib = callPackage ../development/python-modules/glyphslib { };
 
+  glyphtools = callPackage ../development/python-modules/glyphtools { };
+
   foobot-async = callPackage ../development/python-modules/foobot-async { };
 
   foolscap = callPackage ../development/python-modules/foolscap { };
@@ -4463,6 +4489,8 @@ self: super: with self; {
 
   gflags = callPackage ../development/python-modules/gflags { };
 
+  gflanguages = callPackage ../development/python-modules/gflanguages { };
+
   ghapi = callPackage ../development/python-modules/ghapi { };
 
   ghdiff = callPackage ../development/python-modules/ghdiff { };
@@ -5122,6 +5150,8 @@ self: super: with self; {
 
   hstspreload = callPackage ../development/python-modules/hstspreload { };
 
+  html2image = callPackage ../development/python-modules/html2image { };
+
   html2text = callPackage ../development/python-modules/html2text { };
 
   html5lib = callPackage ../development/python-modules/html5lib { };
@@ -6046,6 +6076,8 @@ self: super: with self; {
 
   kubernetes = callPackage ../development/python-modules/kubernetes { };
 
+  kurbopy = callPackage ../development/python-modules/kurbopy { };
+
   l18n = callPackage ../development/python-modules/l18n { };
 
   labelbox = callPackage ../development/python-modules/labelbox { };
@@ -8112,6 +8144,8 @@ self: super: with self; {
 
   netdisco = callPackage ../development/python-modules/netdisco { };
 
+  nethsm = callPackage ../development/python-modules/nethsm { };
+
   netifaces = callPackage ../development/python-modules/netifaces { };
 
   netmiko = callPackage ../development/python-modules/netmiko { };
@@ -8621,6 +8655,8 @@ self: super: with self; {
 
   opentsne = callPackage ../development/python-modules/opentsne { };
 
+  opentypespec = callPackage ../development/python-modules/opentypespec { };
+
   openvino = callPackage ../development/python-modules/openvino {
     openvino-native = pkgs.openvino.override {
       inherit python;
@@ -8717,6 +8753,8 @@ self: super: with self; {
 
   ossfs = callPackage ../development/python-modules/ossfs { };
 
+  ots-python = callPackage ../development/python-modules/ots-python { };
+
   outcome = callPackage ../development/python-modules/outcome { };
 
   ovh = callPackage ../development/python-modules/ovh { };
@@ -11754,6 +11792,8 @@ self: super: with self; {
 
   pytimeparse2 = callPackage ../development/python-modules/pytimeparse2 { };
 
+  pytikz-allefeld = callPackage ../development/python-modules/pytikz-allefeld { };
+
   pytm = callPackage ../development/python-modules/pytm { };
 
   pytmx = callPackage ../development/python-modules/pytmx { };
@@ -12531,6 +12571,8 @@ self: super: with self; {
 
   rstcheck-core = callPackage ../development/python-modules/rstcheck-core { };
 
+  rstr = callPackage ../development/python-modules/rstr { };
+
   rtmidi-python = callPackage ../development/python-modules/rtmidi-python {
     inherit (pkgs.darwin.apple_sdk.frameworks) CoreAudio CoreMIDI CoreServices;
   };
@@ -12889,6 +12931,8 @@ self: super: with self; {
 
   shapely = callPackage ../development/python-modules/shapely { };
 
+  shaperglot = callPackage ../development/python-modules/shaperglot { };
+
   sharedmem = callPackage ../development/python-modules/sharedmem { };
 
   sharkiq = callPackage ../development/python-modules/sharkiq { };
@@ -13475,6 +13519,8 @@ self: super: with self; {
 
   squarify = callPackage ../development/python-modules/squarify { };
 
+  sre-yield = callPackage ../development/python-modules/sre-yield { };
+
   srp = callPackage ../development/python-modules/srp { };
 
   srpenergy = callPackage ../development/python-modules/srpenergy { };
@@ -13595,6 +13641,8 @@ self: super: with self; {
 
   strictyaml = callPackage ../development/python-modules/strictyaml { };
 
+  stringbrewer = callPackage ../development/python-modules/stringbrewer { };
+
   stringcase = callPackage ../development/python-modules/stringcase { };
 
   stringly = callPackage ../development/python-modules/stringly { };
@@ -15285,6 +15333,8 @@ self: super: with self; {
 
   ufoLib2 = callPackage ../development/python-modules/ufoLib2 { };
 
+  ufolint = callPackage ../development/python-modules/ufolint { };
+
   ufonormalizer = callPackage ../development/python-modules/ufonormalizer { };
 
   ufoprocessor = callPackage ../development/python-modules/ufoprocessor { };
@@ -15533,6 +15583,8 @@ self: super: with self; {
 
   vg = callPackage ../development/python-modules/vg { };
 
+  vharfbuzz = callPackage ../development/python-modules/vharfbuzz { };
+
   videocr = callPackage ../development/python-modules/videocr { };
 
   vidstab = callPackage ../development/python-modules/vidstab { };
@@ -16067,6 +16119,8 @@ self: super: with self; {
 
   youless-api = callPackage ../development/python-modules/youless-api { };
 
+  youseedee = callPackage ../development/python-modules/youseedee { };
+
   youtube-dl = callPackage ../tools/misc/youtube-dl { };
 
   youtube-dl-light = callPackage ../tools/misc/youtube-dl {
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 3cd06387bf9d7..2a068d5afd719 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -80,6 +80,8 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP
 
   ### LIBRARIES
 
+  accounts-qml-module = callPackage ../development/libraries/accounts-qml-module { };
+
   accounts-qt = callPackage ../development/libraries/accounts-qt { };
 
   alkimia = callPackage ../development/libraries/alkimia { };