about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/alice-lg/default.nix2
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix2
-rw-r--r--pkgs/servers/apache-airflow/default.nix1
-rw-r--r--pkgs/servers/apache-airflow/python-package.nix2
-rw-r--r--pkgs/servers/ariang/default.nix1
-rw-r--r--pkgs/servers/bililiverecorder/default.nix4
-rw-r--r--pkgs/servers/birdwatcher/default.nix2
-rw-r--r--pkgs/servers/calibre-web/db-migrations.patch14
-rw-r--r--pkgs/servers/calibre-web/default-logger.patch17
-rw-r--r--pkgs/servers/calibre-web/default.nix96
-rw-r--r--pkgs/servers/dante/dante-1.4.3-miniupnpc-2.2.8.patch176
-rw-r--r--pkgs/servers/dante/default.nix2
-rw-r--r--pkgs/servers/dcnnt/default.nix2
-rw-r--r--pkgs/servers/dgraph/default.nix6
-rw-r--r--pkgs/servers/dns/coredns/default.nix16
-rw-r--r--pkgs/servers/dns/doh-proxy-rust/default.nix6
-rw-r--r--pkgs/servers/domoticz/default.nix2
-rw-r--r--pkgs/servers/elasticmq-server-bin/default.nix6
-rw-r--r--pkgs/servers/fedigroups/default.nix2
-rw-r--r--pkgs/servers/fishnet/default.nix1
-rw-r--r--pkgs/servers/geospatial/geoserver/default.nix4
-rw-r--r--pkgs/servers/geospatial/geoserver/extensions.nix204
-rw-r--r--pkgs/servers/geospatial/mapproxy/default.nix2
-rw-r--r--pkgs/servers/go-libp2p-daemon/default.nix7
-rw-r--r--pkgs/servers/gonic/default.nix2
-rw-r--r--pkgs/servers/gotosocial/default.nix3
-rw-r--r--pkgs/servers/gpsd/default.nix7
-rw-r--r--pkgs/servers/h2/default.nix2
-rw-r--r--pkgs/servers/holochain-go/deps.nix1056
-rw-r--r--pkgs/servers/home-assistant/appdaemon.nix1
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix127
-rw-r--r--pkgs/servers/home-assistant/custom-components/alarmo/default.nix31
-rw-r--r--pkgs/servers/home-assistant/custom-components/default.nix6
-rw-r--r--pkgs/servers/home-assistant/custom-components/elevenlabs_tts/default.nix26
-rw-r--r--pkgs/servers/home-assistant/custom-components/epex_spot/default.nix4
-rw-r--r--pkgs/servers/home-assistant/custom-components/moonraker/default.nix4
-rw-r--r--pkgs/servers/home-assistant/custom-components/samsungtv-smart/default.nix37
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix6
-rw-r--r--pkgs/servers/home-assistant/default.nix89
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/home-assistant/intents.nix4
-rw-r--r--pkgs/servers/home-assistant/stubs.nix4
-rwxr-xr-xpkgs/servers/home-assistant/update-component-packages.py3
-rw-r--r--pkgs/servers/home-automation/evcc/default.nix18
-rw-r--r--pkgs/servers/homepage-dashboard/default.nix4
-rw-r--r--pkgs/servers/http/angie/default.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--pkgs/servers/http/apache-modules/mod_jk/default.nix (renamed from pkgs/servers/http/apache-modules/tomcat-connectors/default.nix)10
-rw-r--r--pkgs/servers/http/envoy/default.nix8
-rw-r--r--pkgs/servers/http/hiawatha/default.nix4
-rw-r--r--pkgs/servers/http/lwan/default.nix13
-rw-r--r--pkgs/servers/http/nginx/generic.nix2
-rw-r--r--pkgs/servers/http/pomerium/default.nix6
-rw-r--r--pkgs/servers/http/pshs/default.nix27
-rw-r--r--pkgs/servers/http/router/default.nix6
-rw-r--r--pkgs/servers/http/tomcat/default.nix8
-rw-r--r--pkgs/servers/irc/atheme/default.nix2
-rw-r--r--pkgs/servers/irc/ergochat/default.nix4
-rw-r--r--pkgs/servers/irc/inspircd/default.nix4
-rw-r--r--pkgs/servers/irc/ircd-hybrid/default.nix4
-rw-r--r--pkgs/servers/jellyseerr/default.nix6
-rw-r--r--pkgs/servers/jellyseerr/package.json3
-rw-r--r--pkgs/servers/jicofo/default.nix4
-rw-r--r--pkgs/servers/jitsi-videobridge/default.nix4
-rw-r--r--pkgs/servers/klipper/default.nix6
-rw-r--r--pkgs/servers/krill/default.nix6
-rw-r--r--pkgs/servers/ldap/389/default.nix10
-rw-r--r--pkgs/servers/ldap/lldap/default.nix4
-rw-r--r--pkgs/servers/lidarr/default.nix12
-rw-r--r--pkgs/servers/ma1sd/default.nix101
-rw-r--r--pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix4
-rw-r--r--pkgs/servers/mail/mailman/mailman-hyperkitty.nix2
-rw-r--r--pkgs/servers/mastodon/gemset.nix102
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix6
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/plugins/ldap3.nix2
-rw-r--r--pkgs/servers/matrix-synapse/tools/synadm.nix4
-rw-r--r--pkgs/servers/mattermost/default.nix6
-rw-r--r--pkgs/servers/mediamtx/default.nix6
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/metabase/default.nix4
-rw-r--r--pkgs/servers/miniflux/default.nix6
-rw-r--r--pkgs/servers/minio/default.nix6
-rw-r--r--pkgs/servers/misc/gobgpd/default.nix4
-rw-r--r--pkgs/servers/misc/oven-media-engine/default.nix4
-rw-r--r--pkgs/servers/misc/virtiofsd/default.nix6
-rw-r--r--pkgs/servers/monitoring/alerta/client.nix2
-rw-r--r--pkgs/servers/monitoring/alerta/default.nix2
-rw-r--r--pkgs/servers/monitoring/buildkite-agent-metrics/default.nix4
-rw-r--r--pkgs/servers/monitoring/consul-alerts/deps.nix34
-rw-r--r--pkgs/servers/monitoring/do-agent/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix46
-rw-r--r--pkgs/servers/monitoring/grafana/plugins/grafana-oncall-app/default.nix5
-rw-r--r--pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix14
-rw-r--r--pkgs/servers/monitoring/karma/default.nix1
-rw-r--r--pkgs/servers/monitoring/loki/default.nix5
-rw-r--r--pkgs/servers/monitoring/mimir/default.nix4
-rw-r--r--pkgs/servers/monitoring/mtail/default.nix6
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix4
-rw-r--r--pkgs/servers/monitoring/phlare/default.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix1
-rw-r--r--pkgs/servers/monitoring/prometheus/knot-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/node-exporter.nix47
-rw-r--r--pkgs/servers/monitoring/prometheus/prom2json.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/pve-exporter.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix390
-rw-r--r--pkgs/servers/monitoring/prometheus/sql-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix6
-rw-r--r--pkgs/servers/mycorrhiza/default.nix6
-rw-r--r--pkgs/servers/nextcloud/notify_push.nix14
-rw-r--r--pkgs/servers/nfd/default.nix2
-rw-r--r--pkgs/servers/nominatim/default.nix2
-rw-r--r--pkgs/servers/nosql/arangodb/default.nix2
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix2
-rw-r--r--pkgs/servers/nosql/influxdb2/cli.nix10
-rw-r--r--pkgs/servers/nosql/mongodb/6.0.nix4
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--pkgs/servers/nzbhydra2/default.nix14
-rw-r--r--pkgs/servers/osmocom/libasn1c/default.nix2
-rw-r--r--pkgs/servers/osmocom/libosmo-netif/default.nix1
-rw-r--r--pkgs/servers/osmocom/libosmo-sccp/default.nix1
-rw-r--r--pkgs/servers/osmocom/libosmoabis/default.nix1
-rw-r--r--pkgs/servers/osmocom/libosmocore/default.nix1
-rw-r--r--pkgs/servers/osmocom/osmo-bsc/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-bts/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-ggsn/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-hlr/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-hnbgw/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-hnodeb/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-iuh/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-mgw/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-msc/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-pcu/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-sgsn/default.nix2
-rw-r--r--pkgs/servers/osmocom/osmo-sip-connector/default.nix2
-rw-r--r--pkgs/servers/oxigraph/default.nix2
-rw-r--r--pkgs/servers/peertube/default.nix2
-rw-r--r--pkgs/servers/pinnwand/default.nix1
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/pocketbase/default.nix6
-rw-r--r--pkgs/servers/prowlarr/default.nix10
-rw-r--r--pkgs/servers/pufferpanel/default.nix2
-rw-r--r--pkgs/servers/radarr/default.nix10
-rw-r--r--pkgs/servers/readarr/default.nix8
-rw-r--r--pkgs/servers/resgate/default.nix6
-rw-r--r--pkgs/servers/rinetd/default.nix2
-rw-r--r--pkgs/servers/roon-server/default.nix4
-rw-r--r--pkgs/servers/rpcbind/default.nix2
-rw-r--r--pkgs/servers/samba/4.x.nix2
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/search/khoj/default.nix1
-rw-r--r--pkgs/servers/search/meilisearch/Cargo.lock590
-rw-r--r--pkgs/servers/search/meilisearch/default.nix7
-rw-r--r--pkgs/servers/search/qdrant/Cargo.lock275
-rw-r--r--pkgs/servers/search/qdrant/default.nix4
-rw-r--r--pkgs/servers/search/weaviate/default.nix4
-rw-r--r--pkgs/servers/serviio/default.nix4
-rw-r--r--pkgs/servers/shairport-sync/default.nix9
-rw-r--r--pkgs/servers/sickbeard/sickgear.nix4
-rw-r--r--pkgs/servers/simplehttp2server/deps.nix12
-rw-r--r--pkgs/servers/snappymail/default.nix4
-rw-r--r--pkgs/servers/sonarr/default.nix57
-rwxr-xr-xpkgs/servers/sonarr/update.sh43
-rw-r--r--pkgs/servers/sql/dolt/default.nix6
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix4
-rw-r--r--pkgs/servers/sql/mysql/8.0.x.nix4
-rw-r--r--pkgs/servers/sql/pgbouncer/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/smlar.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix2
-rw-r--r--pkgs/servers/sql/rqlite/default.nix6
-rw-r--r--pkgs/servers/squid/default.nix2
-rw-r--r--pkgs/servers/sunshine/0001-fix-upnp-support-newer-miniupnpc-library-2782.patch120
-rw-r--r--pkgs/servers/sunshine/default.nix8
-rw-r--r--pkgs/servers/tailscale/default.nix6
-rw-r--r--pkgs/servers/tarantool/default.nix2
-rw-r--r--pkgs/servers/teleport/14/default.nix4
-rw-r--r--pkgs/servers/teleport/15/default.nix4
-rw-r--r--pkgs/servers/teleport/16/Cargo.lock3441
-rw-r--r--pkgs/servers/teleport/16/default.nix22
-rw-r--r--pkgs/servers/teleport/default.nix3
-rw-r--r--pkgs/servers/teleport/generic.nix3
-rw-r--r--pkgs/servers/teleport/tsh.patch10
-rw-r--r--pkgs/servers/teleport/tsh_14.patch17
-rw-r--r--pkgs/servers/tracing/honeycomb/refinery/default.nix2
-rw-r--r--pkgs/servers/traefik/default.nix6
-rw-r--r--pkgs/servers/trezord/default.nix2
-rw-r--r--pkgs/servers/unpackerr/default.nix8
-rw-r--r--pkgs/servers/web-apps/changedetection-io/default.nix8
-rw-r--r--pkgs/servers/web-apps/discourse/default.nix7
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile1
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock5
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix2
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/Gemfile9
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock23
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix72
-rwxr-xr-xpkgs/servers/web-apps/discourse/update.py16
-rw-r--r--pkgs/servers/web-apps/freshrss/default.nix22
-rw-r--r--pkgs/servers/web-apps/freshrss/extensions/default.nix138
-rw-r--r--pkgs/servers/web-apps/freshrss/extensions/freshrss-utils.nix45
-rw-r--r--pkgs/servers/web-apps/hedgedoc/default.nix4
-rw-r--r--pkgs/servers/web-apps/jitsi-meet/default.nix4
-rw-r--r--pkgs/servers/web-apps/lemmy/package.json149
-rw-r--r--pkgs/servers/web-apps/lemmy/pin.json12
-rw-r--r--pkgs/servers/web-apps/lemmy/server.nix6
-rw-r--r--pkgs/servers/web-apps/lemmy/ui.nix85
-rwxr-xr-xpkgs/servers/web-apps/lemmy/update.py16
-rw-r--r--pkgs/servers/web-apps/livebook/default.nix6
-rw-r--r--pkgs/servers/web-apps/mediawiki/default.nix4
-rw-r--r--pkgs/servers/web-apps/netbox/generic.nix1
-rw-r--r--pkgs/servers/web-apps/nifi/default.nix4
-rw-r--r--pkgs/servers/web-apps/pixelfed/default.nix9
-rw-r--r--pkgs/servers/web-apps/shiori/default.nix22
-rw-r--r--pkgs/servers/web-apps/slskd/default.nix10
-rw-r--r--pkgs/servers/web-apps/slskd/deps.nix132
-rw-r--r--pkgs/servers/webdav/default.nix2
-rw-r--r--pkgs/servers/x11/xorg/default.nix6
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix33
-rw-r--r--pkgs/servers/x11/xorg/tarballs.list2
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix22
-rw-r--r--pkgs/servers/zigbee2mqtt/default.nix6
-rw-r--r--pkgs/servers/zoneminder/default.nix2
225 files changed, 5242 insertions, 3560 deletions
diff --git a/pkgs/servers/alice-lg/default.nix b/pkgs/servers/alice-lg/default.nix
index 28ef35a917a1c..f478c1e4c83a4 100644
--- a/pkgs/servers/alice-lg/default.nix
+++ b/pkgs/servers/alice-lg/default.nix
@@ -81,7 +81,7 @@ buildGoModule rec {
     description = "Looking-glass for BGP sessions";
     changelog = "https://github.com/alice-lg/alice-lg/blob/main/CHANGELOG.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ janik ];
+    maintainers = with maintainers; [ ];
     mainProgram = "alice-lg";
   };
 }
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index c6cac7d7fa082..a8588663a8c1a 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation rec {
     description = "AMQP message broker and a C++ messaging API";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cpages ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/servers/apache-airflow/default.nix b/pkgs/servers/apache-airflow/default.nix
index 735356f8b7789..5021f66390bab 100644
--- a/pkgs/servers/apache-airflow/default.nix
+++ b/pkgs/servers/apache-airflow/default.nix
@@ -17,7 +17,6 @@ let
         };
         nativeBuildInputs = with pySelf; [
           setuptools
-          pythonRelaxDepsHook
         ];
         pythonRelaxDeps = [
           "werkzeug"
diff --git a/pkgs/servers/apache-airflow/python-package.nix b/pkgs/servers/apache-airflow/python-package.nix
index 50d3aaa7fbb51..14c39ede5a855 100644
--- a/pkgs/servers/apache-airflow/python-package.nix
+++ b/pkgs/servers/apache-airflow/python-package.nix
@@ -61,7 +61,6 @@
 , python-slugify
 , python3-openid
 , pythonOlder
-, pythonRelaxDepsHook
 , pyyaml
 , rich
 , rich-argparse
@@ -227,7 +226,6 @@ buildPythonPackage rec {
 
   buildInputs = [
     airflow-frontend
-    pythonRelaxDepsHook
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/servers/ariang/default.nix b/pkgs/servers/ariang/default.nix
index 08094783c7a2c..0427a823c7b85 100644
--- a/pkgs/servers/ariang/default.nix
+++ b/pkgs/servers/ariang/default.nix
@@ -1,5 +1,4 @@
 { lib
-, stdenv
 , fetchFromGitHub
 , buildNpmPackage
 , nix-update-script
diff --git a/pkgs/servers/bililiverecorder/default.nix b/pkgs/servers/bililiverecorder/default.nix
index 4d69c4631d5c8..5a1dcf4f2e798 100644
--- a/pkgs/servers/bililiverecorder/default.nix
+++ b/pkgs/servers/bililiverecorder/default.nix
@@ -13,8 +13,8 @@ let
     aspnetcore_6_0
   ];
 
-  version = "2.11.1";
-  hash = "sha256-GY6YRgebWeJtjAIm64Pf8wx6pUdZjbevNzKRdyPi1ow=";
+  version = "2.12.0";
+  hash = "sha256-2usiJTGA2FcJ9HBs3RDiARfC2yv/UqBgmT+z5F5Y7w0=";
 
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/birdwatcher/default.nix b/pkgs/servers/birdwatcher/default.nix
index 48ba580e1346d..57840e526884d 100644
--- a/pkgs/servers/birdwatcher/default.nix
+++ b/pkgs/servers/birdwatcher/default.nix
@@ -23,7 +23,7 @@ buildGoModule rec {
     description = "Small HTTP server meant to provide an API defined by Barry O'Donovan's birds-eye to the BIRD internet routing daemon";
     changelog = "https://github.com/alice-lg/birdwatcher/blob/master/CHANGELOG";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ janik ];
+    maintainers = with maintainers; [ ];
     mainProgram = "birdwatcher";
   };
 }
diff --git a/pkgs/servers/calibre-web/db-migrations.patch b/pkgs/servers/calibre-web/db-migrations.patch
deleted file mode 100644
index 2e865db68da3f..0000000000000
--- a/pkgs/servers/calibre-web/db-migrations.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/cps/__init__.py b/cps/__init__.py
-index 1ba1f778..fd5dc2f1 100644
---- a/cps/__init__.py
-+++ b/cps/__init__.py
-@@ -116,6 +116,9 @@ def create_app():
-     db.CalibreDB.setup_db(config.config_calibre_dir, cli_param.settings_path)
-     calibre_db.init_db()
-
-+    if os.environ.get('__RUN_MIGRATIONS_AND_EXIT'):
-+        sys.exit(0)
-+
-     updater_thread.init_updater(config, web_server)
-     # Perform dry run of updater and exit afterwards
-     if cli_param.dry_run:
diff --git a/pkgs/servers/calibre-web/default-logger.patch b/pkgs/servers/calibre-web/default-logger.patch
deleted file mode 100644
index c5aecbd3d10cc..0000000000000
--- a/pkgs/servers/calibre-web/default-logger.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/cps/logger.py b/cps/logger.py
-index b204de31..3206e2bf 100644
---- a/cps/logger.py
-+++ b/cps/logger.py
-@@ -32,10 +32,10 @@ ACCESS_FORMATTER_TORNADO = Formatter("[%(asctime)s] %(message)s")
- 
- FORMATTER           = Formatter("[%(asctime)s] %(levelname)5s {%(name)s:%(lineno)d} %(message)s")
- DEFAULT_LOG_LEVEL   = logging.INFO
--DEFAULT_LOG_FILE    = os.path.join(_CONFIG_DIR, "calibre-web.log")
--DEFAULT_ACCESS_LOG  = os.path.join(_CONFIG_DIR, "access.log")
- LOG_TO_STDERR       = '/dev/stderr'
- LOG_TO_STDOUT       = '/dev/stdout'
-+DEFAULT_LOG_FILE    = LOG_TO_STDOUT
-+DEFAULT_ACCESS_LOG  = LOG_TO_STDOUT
- 
- logging.addLevelName(logging.WARNING, "WARN")
- logging.addLevelName(logging.CRITICAL, "CRIT")
diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix
deleted file mode 100644
index 0d0afd185f411..0000000000000
--- a/pkgs/servers/calibre-web/default.nix
+++ /dev/null
@@ -1,96 +0,0 @@
-{ lib
-, fetchFromGitHub
-, nixosTests
-, python3
-}:
-
-let
-  python = python3.override {
-    packageOverrides = self: super: {
-      sqlalchemy = super.sqlalchemy_1_4;
-    };
-  };
-in
-python.pkgs.buildPythonApplication rec {
-  pname = "calibre-web";
-  version = "0.6.21";
-
-  src = fetchFromGitHub {
-    owner = "janeczku";
-    repo = "calibre-web";
-    rev = version;
-    hash = "sha256-tRrOquetn3P2NmrXq7DQHRGP1sWnLR7bV2Lw0W/lUPQ=";
-  };
-
-  propagatedBuildInputs = with python.pkgs; [
-    apscheduler
-    advocate
-    chardet
-    flask-babel
-    flask-login
-    flask-principal
-    flask-wtf
-    flask-limiter
-    iso-639
-    jsonschema
-    lxml
-    pypdf
-    requests
-    sqlalchemy
-    tornado
-    unidecode
-    wand
-    werkzeug
-  ];
-
-  patches = [
-    # default-logger.patch switches default logger to /dev/stdout. Otherwise calibre-web tries to open a file relative
-    # to its location, which can't be done as the store is read-only. Log file location can later be configured using UI
-    # if needed.
-    ./default-logger.patch
-    # DB migrations adds an env var __RUN_MIGRATIONS_ANDEXIT that, when set, instructs calibre-web to run DB migrations
-    # and exit. This is gonna be used to configure calibre-web declaratively, as most of its configuration parameters
-    # are stored in the DB.
-    ./db-migrations.patch
-  ];
-
-  # calibre-web doesn't follow setuptools directory structure. The following is taken from the script
-  # that calibre-web's maintainer is using to package it:
-  # https://github.com/OzzieIsaacs/calibre-web-test/blob/master/build/make_release.py
-  postPatch = ''
-    mkdir -p src/calibreweb
-    mv cps.py src/calibreweb/__init__.py
-    mv cps src/calibreweb
-
-    sed -i "/backports_abc/d" setup.cfg
-
-    substituteInPlace setup.cfg \
-      --replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \
-      --replace "APScheduler>=3.6.3,<3.10.0" "APScheduler>=3.6.3" \
-      --replace "chardet>=3.0.0,<4.1.0" "chardet>=3.0.0,<6" \
-      --replace "Flask>=1.0.2,<2.1.0" "Flask>=1.0.2" \
-      --replace "Flask-Babel>=0.11.1,<3.1.0" "Flask-Babel>=0.11.1" \
-      --replace "Flask-Login>=0.3.2,<0.6.2" "Flask-Login>=0.3.2" \
-      --replace "flask-wtf>=0.14.2,<1.1.0" "flask-wtf>=0.14.2" \
-      --replace "lxml>=3.8.0,<4.9.0" "lxml>=3.8.0" \
-      --replace "tornado>=4.1,<6.2" "tornado>=4.1,<7" \
-      --replace "PyPDF>=3.0.0,<3.6.0" "PyPDF>=3.0.0" \
-      --replace "requests>=2.11.1,<2.29.0" "requests" \
-      --replace "unidecode>=0.04.19,<1.4.0" "unidecode>=0.04.19" \
-      --replace "werkzeug<2.1.0" ""
-  '';
-
-  # Upstream repo doesn't provide any tests.
-  doCheck = false;
-
-  passthru.tests.calibre-web = nixosTests.calibre-web;
-
-  meta = with lib; {
-    description = "Web app for browsing, reading and downloading eBooks stored in a Calibre database";
-    homepage = "https://github.com/janeczku/calibre-web";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ pborzenkov ];
-    platforms = platforms.all;
-    mainProgram = "calibre-web";
-  };
-}
diff --git a/pkgs/servers/dante/dante-1.4.3-miniupnpc-2.2.8.patch b/pkgs/servers/dante/dante-1.4.3-miniupnpc-2.2.8.patch
new file mode 100644
index 0000000000000..6f55c141acd55
--- /dev/null
+++ b/pkgs/servers/dante/dante-1.4.3-miniupnpc-2.2.8.patch
@@ -0,0 +1,176 @@
+diff --git a/include/autoconf.h.in b/include/autoconf.h.in
+index bab2fcfa6c...22bc9202ca 100644
+--- a/include/autoconf.h.in
++++ b/include/autoconf.h.in
+@@ -797,6 +797,9 @@
+ /* UPNP support library 1.7 */
+ #undef HAVE_LIBMINIUPNP17
+ 
++/* UPNP support library 2.2.8 */
++#undef HAVE_LIBMINIUPNP228
++
+ /* Define to 1 if you have the `prldap60' library (-lprldap60). */
+ #undef HAVE_LIBPRLDAP60
+ 
+diff --git a/include/common.h b/include/common.h
+index 137f5ec51f...2c24759b52 100755
+--- a/include/common.h
++++ b/include/common.h
+@@ -1404,8 +1404,14 @@
+ /* return codes from UPNP_GetValidIGD(). */
+ #define UPNP_NO_IGD           (0)
+ #define UPNP_CONNECTED_IGD    (1)
++#if HAVE_LIBMINIUPNP228
++#define UPNP_RESERVED_IGD     (2)
++#define UPNP_DISCONNECTED_IGD (3)
++#define UPNP_UNKNOWN_DEVICE   (4)
++#else /* !HAVE_LIBMINIUPNP_228 */
+ #define UPNP_DISCONNECTED_IGD (2)
+ #define UPNP_UNKNOWN_DEVICE   (3)
++#endif /* !HAVE_LIBMINIUPNP_228 */
+ 
+ #define UPNP_SUCCESS          (1)
+ #define UPNP_FAILURE          (2)
+diff --git a/lib/upnp.c b/lib/upnp.c
+index d9535ca03c...dc99d53c06 100644
+--- a/lib/upnp.c
++++ b/lib/upnp.c
+@@ -154,7 +154,7 @@
+                            addrstring,
+                            NULL,
+                            0
+-#if HAVE_LIBMINIUPNP17
++#if HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228
+                           ,0,
+ 
+ #if MINIUPNPC_API_VERSION >= 14
+@@ -162,7 +162,7 @@
+ #endif /* MINIUPNPC_API_VERSION >= 14 */
+ 
+                           &rc
+-#endif /* HAVE_LIBMINIUPNP17 */
++#endif /* HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228 */
+                          );
+ 
+ #if SOCKS_CLIENT && SOCKSLIBRARY_DYNAMIC
+@@ -208,7 +208,12 @@
+          socks_autoadd_directroute(&commands, &protocols, &saddr, &smask);
+       }
+ 
++#if HAVE_LIBMINIUPNP228
++      devtype = UPNP_GetValidIGD(dev, &url, &data, myaddr, sizeof(myaddr),
++                                 NULL, 0);
++#else /* !HAVE_LIBMINIUPNP228 */
+       devtype = UPNP_GetValidIGD(dev, &url, &data, myaddr, sizeof(myaddr));
++#endif /* !HAVE_LIBMINIUPNP228 */
+       switch (devtype) {
+          case UPNP_NO_IGD:
+             snprintf(emsg, emsglen, "no UPNP IGD discovered on local network");
+@@ -226,9 +231,10 @@
+             rc = 0;
+             break;
+ 
+-         case UPNP_DISCONNECTED_IGD:
++#if HAVE_LIBMINIUPNP228
++         case UPNP_RESERVED_IGD:
+             snprintf(emsg, emsglen,
+-                    "UPNP IGD discovered at url %s, but it is not connected",
++                    "UPNP IGD discovered at url %s, but its IP is reserved",
+                     str2vis(url.controlURL,
+                            strlen(url.controlURL),
+                             vbuf,
+@@ -236,6 +242,18 @@
+ 
+             swarnx("%s: %s", function, emsg);
+             rc = -1;
++#endif /* HAVE_LIBMINIUPNP228 */
++
++         case UPNP_DISCONNECTED_IGD:
++            snprintf(emsg, emsglen,
++                    "UPNP IGD discovered at url %s, but it is not connected",
++                    str2vis(url.controlURL,
++                           strlen(url.controlURL),
++                            vbuf,
++                            sizeof(vbuf)));
++
++            swarnx("%s: %s", function, emsg);
++            rc = -1;
+             break;
+ 
+          case UPNP_UNKNOWN_DEVICE:
+@@ -273,12 +291,12 @@
+ #if HAVE_LIBMINIUPNP13
+       STRCPY_ASSERTLEN(gw->state.data.upnp.servicetype, data.servicetype);
+ 
+-#elif HAVE_LIBMINIUPNP14 || HAVE_LIBMINIUPNP17
++#elif HAVE_LIBMINIUPNP14 || HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228
+       STRCPY_ASSERTLEN(gw->state.data.upnp.servicetype, data.CIF.servicetype);
+ 
+ #else
+ #  error "unexpected miniupnp version"
+-#endif /* HAVE_LIBMINIUPNP17 */
++#endif /* HAVE_LIBMINIUPNP14 || HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228 */
+ 
+       slog(LOG_NEGOTIATE, "%s: inited ok.  controlurl: %s, servicetype: %s",
+            function,
+@@ -756,9 +774,9 @@
+                                        buf,
+                                        protocol,
+                                        NULL
+-#if HAVE_LIBMINIUPNP17
++#if HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228
+                                        ,0
+-#endif /* HAVE_LIBMINIUPNP17 */
++#endif /* HAVE_LIBMINIUPNP17 || HAVE_LIBMINIUPNP228 */
+                                        )) != UPNPCOMMAND_SUCCESS) {
+                snprintf(emsg, emsglen,
+                        "UPNP_AddPortMapping() failed: %s", strupnperror(rc));
+diff --git a/miniupnpc.m4 b/miniupnpc.m4
+index 85086d4917...ebb8875763 100644
+--- a/miniupnpc.m4
++++ b/miniupnpc.m4
+@@ -20,7 +20,7 @@
+ 	LIBS=$oLIBS
+     fi
+     if test x"${have_libminiupnp}" = xt; then
+-        AC_MSG_CHECKING([for miniupnpc version >= 1.7])
++        AC_MSG_CHECKING([for miniupnpc version >= 2.2.8])
+ 	AC_TRY_COMPILE([
+             #include <stdio.h>
+             #include <miniupnpc/miniupnpc.h>
+@@ -30,12 +30,34 @@
+             #ifndef MINIUPNPC_API_VERSION
+ 	    #error "no api version define"
+             #else
+-            # if MINIUPNPC_API_VERSION < 8
++            # if MINIUPNPC_API_VERSION < 18
+             #error "api version too low"
+             # endif
+             #endif],
+          [AC_MSG_RESULT(yes)
+           AC_DEFINE(HAVE_LIBMINIUPNP, 1, [UPNP support library])
++          AC_DEFINE(HAVE_LIBMINIUPNP228, 1, [UPNP support library 2.2.8])
++          unset no_upnp
++	  SOCKDDEPS="${SOCKDDEPS}${SOCKDDEPS:+ }$UPNPLIB"
++	  DLIBDEPS="${DLIBDEPS}${DLIBDEPS:+ }$UPNPLIB"],
++         [AC_MSG_RESULT(no)])
++
++        AC_MSG_CHECKING([for miniupnpc version >= 1.7])
++	AC_TRY_COMPILE([
++            #include <stdio.h>
++            #include <miniupnpc/miniupnpc.h>
++            #include <miniupnpc/upnpcommands.h>
++            #include <miniupnpc/upnperrors.h>], [
++
++            #ifndef MINIUPNPC_API_VERSION
++	    #error "no api version define"
++            #else
++            # if MINIUPNPC_API_VERSION < 8 || MINIUPNPC_API_VERSION > 17
++            #error "api version too low or high"
++            # endif
++            #endif],
++         [AC_MSG_RESULT(yes)
++          AC_DEFINE(HAVE_LIBMINIUPNP, 1, [UPNP support library])
+           AC_DEFINE(HAVE_LIBMINIUPNP17, 1, [UPNP support library 1.7])
+           unset no_upnp
+ 	  SOCKDDEPS="${SOCKDDEPS}${SOCKDDEPS:+ }$UPNPLIB"
diff --git a/pkgs/servers/dante/default.nix b/pkgs/servers/dante/default.nix
index 99eaa5c464586..278c518a8106d 100644
--- a/pkgs/servers/dante/default.nix
+++ b/pkgs/servers/dante/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
     # Fixes several issues with `osint.m4` that causes incorrect check failures when using newer
     # versions of clang: missing `stdint.h` for `uint8_t` and unused `sa_len_ptr`.
     ./clang-osint-m4.patch
+    # Fixes build with miniupnpc 2.2.8.
+    ./dante-1.4.3-miniupnpc-2.2.8.patch
   ] ++ lib.optionals remove_getaddrinfo_checks [
     (fetchpatch {
       name = "0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch";
diff --git a/pkgs/servers/dcnnt/default.nix b/pkgs/servers/dcnnt/default.nix
index 2279c9f116b13..505ee26ab95db 100644
--- a/pkgs/servers/dcnnt/default.nix
+++ b/pkgs/servers/dcnnt/default.nix
@@ -6,7 +6,7 @@ buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-73ZLgb5YcXlAOjbKLVv8oqgS6pstBdJxa7LFUgIHpUE=";
+    hash = "sha256-73ZLgb5YcXlAOjbKLVv8oqgS6pstBdJxa7LFUgIHpUE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/dgraph/default.nix b/pkgs/servers/dgraph/default.nix
index 65379131afcc2..b4e6b4758ab59 100644
--- a/pkgs/servers/dgraph/default.nix
+++ b/pkgs/servers/dgraph/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dgraph";
-  version = "23.1.1";
+  version = "24.0.0";
 
   src = fetchFromGitHub {
     owner = "dgraph-io";
     repo = "dgraph";
     rev = "v${version}";
-    sha256 = "sha256-xmWFRqdGUk+9MKd9cQLquOmike3soNRgPwQ+F27MSAQ=";
+    sha256 = "sha256-vKn1dTP1SOQs9oCPw0R5956D6mR5UuW9GbqGilxeV3c=";
   };
 
-  vendorHash = "sha256-YRfFRCCm25zS+tQer6UcrBBltOxA7+Iqi+Ejyrjdu/A=";
+  vendorHash = "sha256-/Wpnj99yHyEc7uPBo00k6lJawX5HqqVwEHavyH3luaY=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix
index 3e74a8ac19538..bb85bdb320e5b 100644
--- a/pkgs/servers/dns/coredns/default.nix
+++ b/pkgs/servers/dns/coredns/default.nix
@@ -3,8 +3,9 @@
 , buildGoModule
 , fetchFromGitHub
 , installShellFiles
+, nixosTests
 , externalPlugins ? []
-, vendorHash ? "sha256-tp22jj6DNnYFQhtAFW2uLo10ty//dyNqIDH2egDgbOw="
+, vendorHash ? "sha256-mp+0/DQTNsgAZTnLqcQq1HVLAfKr5vUGYSZlIvM7KpE="
 }:
 
 let
@@ -14,13 +15,13 @@ let
     builtins.map ({name, repo, version}: "${repo}@${version}") attrs;
 in buildGoModule rec {
   pname = "coredns";
-  version = "1.11.1";
+  version = "1.11.3";
 
   src = fetchFromGitHub {
     owner = "coredns";
     repo = "coredns";
     rev = "v${version}";
-    sha256 = "sha256-XZoRN907PXNKV2iMn51H/lt8yPxhPupNfJ49Pymdm9Y=";
+    sha256 = "sha256-8LZMS1rAqEZ8k1IWSRkQ2O650oqHLP0P31T8oUeE4fw=";
   };
 
   inherit vendorHash;
@@ -64,12 +65,21 @@ in buildGoModule rec {
   '' + lib.optionalString stdenv.isDarwin ''
     # loopback interface is lo0 on macos
     sed -E -i 's/\blo\b/lo0/' plugin/bind/setup_test.go
+
+    # test is apparently outdated but only exhibits this on darwin
+    substituteInPlace test/corefile_test.go \
+      --replace "TestCorefile1" "SkipCorefile1"
   '';
 
   postInstall = ''
     installManPage man/*
   '';
 
+  passthru.tests = {
+    kubernetes-single-node = nixosTests.kubernetes.dns-single-node;
+    kubernetes-multi-node = nixosTests.kubernetes.dns-multi-node;
+  };
+
   meta = with lib; {
     homepage = "https://coredns.io";
     description = "DNS server that runs middleware";
diff --git a/pkgs/servers/dns/doh-proxy-rust/default.nix b/pkgs/servers/dns/doh-proxy-rust/default.nix
index d59b048a181e1..370388db89a2b 100644
--- a/pkgs/servers/dns/doh-proxy-rust/default.nix
+++ b/pkgs/servers/dns/doh-proxy-rust/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "doh-proxy-rust";
-  version = "0.9.9";
+  version = "0.9.11";
 
   src = fetchCrate {
     inherit version;
     crateName = "doh-proxy";
-    sha256 = "sha256-KvEayC+aY8aC5fSVIV9urNwLJcIfDMaAU+XdlGSmYRI=";
+    sha256 = "sha256-h2LwxqyyBPAXRr6XOmcLEmbet063kkM1ledULp3M2ek=";
   };
 
-  cargoHash = "sha256-eoC90ht9cbMLkPN3S4jxZipbFoZDTU7pIr6GRagGlJE=";
+  cargoHash = "sha256-eXPAn2ziSdciZa6YrOIa7y7Lms681X+yVAD9HrvsZHg=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
 
diff --git a/pkgs/servers/domoticz/default.nix b/pkgs/servers/domoticz/default.nix
index bcfb13ad0dec7..61fcc87624410 100644
--- a/pkgs/servers/domoticz/default.nix
+++ b/pkgs/servers/domoticz/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "domoticz";
     repo = pname;
     rev = version;
-    sha256 = "sha256-bIA7Dx8XV2zT2Cdm4CwKX6xfedBREhevE/bN76o4r78=";
+    hash = "sha256-bIA7Dx8XV2zT2Cdm4CwKX6xfedBREhevE/bN76o4r78=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/elasticmq-server-bin/default.nix b/pkgs/servers/elasticmq-server-bin/default.nix
index f878ef6e64e92..debb1d8a57bcb 100644
--- a/pkgs/servers/elasticmq-server-bin/default.nix
+++ b/pkgs/servers/elasticmq-server-bin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "elasticmq-server";
-  version = "1.6.4";
+  version = "1.6.5";
 
   src = fetchurl {
-    url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/${finalAttrs.pname}-${finalAttrs.version}.jar";
-    sha256 = "sha256-HAxZaZofO24baPTNFqSltNgZekjOLRuCprcAksTSYiY=";
+    url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-${finalAttrs.version}.jar";
+    sha256 = "sha256-7VpalDKa2Qr3HaIO5LcORvm5rAhgYQzStQkp7rs3pMQ=";
   };
 
   # don't do anything?
diff --git a/pkgs/servers/fedigroups/default.nix b/pkgs/servers/fedigroups/default.nix
index c755feee178de..e823a5017ef05 100644
--- a/pkgs/servers/fedigroups/default.nix
+++ b/pkgs/servers/fedigroups/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
     owner = "MightyPork";
     repo = "group-actor";
     rev = "v${version}";
-    sha256 = "sha256-NMqoYUNN2ntye9mNC3KAAc0DBg+QY7+6/DASwHPexY0=";
+    hash = "sha256-NMqoYUNN2ntye9mNC3KAAc0DBg+QY7+6/DASwHPexY0=";
     forceFetchGit = true; # Archive generation is disabled on this gitea instance
     leaveDotGit = true; # git command in build.rs
   };
diff --git a/pkgs/servers/fishnet/default.nix b/pkgs/servers/fishnet/default.nix
index 0d068aa1d8320..95e90ed98b7a4 100644
--- a/pkgs/servers/fishnet/default.nix
+++ b/pkgs/servers/fishnet/default.nix
@@ -1,5 +1,4 @@
 { lib
-, stdenv
 , rustPlatform
 , fetchFromGitHub
 , fetchurl
diff --git a/pkgs/servers/geospatial/geoserver/default.nix b/pkgs/servers/geospatial/geoserver/default.nix
index 3ccdd5edc4323..dca4c2af1ed91 100644
--- a/pkgs/servers/geospatial/geoserver/default.nix
+++ b/pkgs/servers/geospatial/geoserver/default.nix
@@ -9,11 +9,11 @@
 }:
 stdenv.mkDerivation (finalAttrs: rec {
   pname = "geoserver";
-  version = "2.25.1";
+  version = "2.25.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/geoserver/GeoServer/${version}/geoserver-${version}-bin.zip";
-    sha256 = "sha256-6F99zHTVRpC64rIPxdrH0ujgoNGQfT53RJ7Rg80ieeA=";
+    sha256 = "sha256-tIXa1HECBTgJ1XiAo/hjo2AfbiyHyIsewfZu/k513iE=";
   };
 
   patches = [
diff --git a/pkgs/servers/geospatial/geoserver/extensions.nix b/pkgs/servers/geospatial/geoserver/extensions.nix
index d3e2da57ef6ef..654f84416c17b 100644
--- a/pkgs/servers/geospatial/geoserver/extensions.nix
+++ b/pkgs/servers/geospatial/geoserver/extensions.nix
@@ -29,325 +29,325 @@ in
 {
   app-schema = mkGeoserverExtension {
     name = "app-schema";
-    version = "2.24.2"; # app-schema
-    hash = "sha256-nwZ+gZZ38nrKmIqe2Wjg8rkh9cq6TFaxjkwS/lw8720="; # app-schema
+    version = "2.25.2"; # app-schema
+    hash = "sha256-qOBS6IfuXbTT9YHucAGedVfJ5xsVDTYP+9NLY5qaDWU="; # app-schema
   };
 
   authkey = mkGeoserverExtension {
     name = "authkey";
-    version = "2.24.2"; # authkey
-    hash = "sha256-R2dL1xAw7PZTAp7asoulfOPWodRD7TnOu8mnSrwxL8I="; # authkey
+    version = "2.25.2"; # authkey
+    hash = "sha256-GJSD3ULjDkxp3Ex6RSrafN6BXvglEbq9zNZZnEZYgL0="; # authkey
   };
 
   cas = mkGeoserverExtension {
     name = "cas";
-    version = "2.24.2"; # cas
-    hash = "sha256-oTM+ipYuIefxVFUG7ifNE08GkYbuHkt83PtrOHRw40w="; # cas
+    version = "2.25.2"; # cas
+    hash = "sha256-vrYCPMVK9BQiGa7L25bzSGQuwA+kEf6BGS5Sv49N9bE="; # cas
   };
 
   charts = mkGeoserverExtension {
     name = "charts";
-    version = "2.24.2"; # charts
-    hash = "sha256-w9e8Ra0iuhtQ45De1T3wztis6ZLey5LuhpmCadbpCp4="; # charts
+    version = "2.25.2"; # charts
+    hash = "sha256-QXb3tzOabBejIGvys7DRj/zZPewcZjjJPCn99bvbpjM="; # charts
   };
 
   control-flow = mkGeoserverExtension {
     name = "control-flow";
-    version = "2.24.2"; # control-flow
-    hash = "sha256-XY9YwiMgEay/GhLt6IJQ0gdiVxA0abg/qrnYNW3wiO8="; # control-flow
+    version = "2.25.2"; # control-flow
+    hash = "sha256-JNOs103SMHzG2I46kXDKV3f6xfGpDhXpVY+jR4IDKFw="; # control-flow
   };
 
   css = mkGeoserverExtension {
     name = "css";
-    version = "2.24.2"; # css
-    hash = "sha256-GDoRcM8Nx3fZuWgzIHM1vSXLMaCJO3j7/cDmRl7BS2U="; # css
+    version = "2.25.2"; # css
+    hash = "sha256-lN1QfCCMVgVxVKmZRyQj6muFOCvoHHxNETOux8sZeMM="; # css
   };
 
   csw = mkGeoserverExtension {
     name = "csw";
-    version = "2.24.2"; # csw
-    hash = "sha256-Ir/ebw87DV1zSLJIN3sMEwMAqfD9rZ3oKvAM62BNWcE="; # csw
+    version = "2.25.2"; # csw
+    hash = "sha256-rpAVzit0DSjgopL//nK0feejTSfnoTIyaKLz6vpajrs="; # csw
   };
 
   csw-iso = mkGeoserverExtension {
     name = "csw-iso";
-    version = "2.24.2"; # csw-iso
-    hash = "sha256-j0rVy5JRwGTs+8esOpMPc79ICccwwtD47vOFsunZAkE="; # csw-iso
+    version = "2.25.2"; # csw-iso
+    hash = "sha256-nsieTEMrysZt9Jz3dWTvfCKh41DrkrJ1sTxk4Iv/kEY="; # csw-iso
   };
 
   db2 = mkGeoserverExtension {
     name = "db2";
-    version = "2.24.2"; # db2
-    hash = "sha256-LKOAdKU+0TJdaxUbluXcxzgJw2fvhkqVjYs+d2c84uk="; # db2
+    version = "2.25.2"; # db2
+    hash = "sha256-9S1QafqRlCtM9N/mEehRbko5kNgjGe5BJen98ZcqOt8="; # db2
   };
 
   # Needs wps extension.
   dxf = mkGeoserverExtension {
     name = "dxf";
-    version = "2.24.2"; # dxf
-    hash = "sha256-Et4nCPH6xUChfKRZ35u3/VduEQwCOKeKQXVZZcgJRWc="; # dxf
+    version = "2.25.2"; # dxf
+    hash = "sha256-FcXcJwEm1Z3M0OUuR1p/PGbvbQ0zf4v0ruL/765xD+E="; # dxf
   };
 
   excel = mkGeoserverExtension {
     name = "excel";
-    version = "2.24.2"; # excel
-    hash = "sha256-Nm4mayt8ofwpiRD5FDbsubrHIzfaOBW+Nv8wUVaIPws="; # excel
+    version = "2.25.2"; # excel
+    hash = "sha256-2QEG6u3luAgCFvC1GIQQX7KVNz7KSllx+XMiHUBzH3c="; # excel
   };
 
   feature-pregeneralized = mkGeoserverExtension {
     name = "feature-pregeneralized";
-    version = "2.24.2"; # feature-pregeneralized
-    hash = "sha256-56HA4L1Vfh5Q45lRhjsYfq816YYNkJLmovngF0+3Vbk="; # feature-pregeneralized
+    version = "2.25.2"; # feature-pregeneralized
+    hash = "sha256-ayOQ7ZJ0vBwMfJltPX+ajG9fpxDbn9a+s0W5gAJ2Na0="; # feature-pregeneralized
   };
 
   # Note: The extension name ("gdal") clashes with pkgs.gdal.
   gdal = mkGeoserverExtension {
     name = "gdal";
-    version = "2.24.2"; # gdal
+    version = "2.25.2"; # gdal
     buildInputs = [ pkgs.gdal ];
-    hash = "sha256-KLIlEUmYUIXAikW+y3iQzGZPpW0N+9FuPTst23Nf9Y4="; # gdal
+    hash = "sha256-CUKqgc/kiNh/kMrvBXiVHrko4MiMexvY7W48NNXXooU="; # gdal
   };
 
   # Throws "java.io.FileNotFoundException: URL [jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties" but seems to work out of the box.
   #geofence = mkGeoserverExtension {
   #  name = "geofence";
-  #  version = "2.24.2"; # geofence
-  #  hash = "sha256-5MRUKiC23/XlFr7X4zpsAoDR4JGtZujFnUmtcRlG+9w="; # geofence
+  #  version = "2.25.2"; # geofence
+  #  hash = "sha256-HtbLj5hiqjIJU3IIbcvCQgxlan8PLn/xW+0U2FMBrwE="; # geofence
   #};
 
   #geofence-server = mkGeoserverExtension {
   #  name = "geofence-server";
-  #  version = "2.24.2"; # geofence-server
-  #  hash = "sha256-MyDQSb7IZ8cTpO9+rV0PdZNHRvIDIr04+HNhyMpx81I="; # geofence-server
+  #  version = "2.25.2"; # geofence-server
+  #  hash = "sha256-o8+9ePnCuWjB0u9QcgJ2sYSMb0+XslROJEZdDJPXg3k="; # geofence-server
   #};
 
   #geofence-wps = mkGeoserverExtension {
   #  name = "geofence-wps";
-  #  version = "2.24.2"; # geofence-wps
-  #  hash = "sha256-uLii8U3UAiF/MQjABBAfHbnXTlf+iYsEOy4kadqc6+k="; # geofence-wps
+  #  version = "2.25.2"; # geofence-wps
+  #  hash = "sha256-3VsSgE9crmnbMP9njAlZTMZ8hyBRm5JXTLjSET53lco="; # geofence-wps
   #};
 
   geopkg-output = mkGeoserverExtension {
     name = "geopkg-output";
-    version = "2.24.2"; # geopkg-output
-    hash = "sha256-NzsozGYoGOoekX+wY0d5d8I0JefHgSDb/HuEPzwX+YE="; # geopkg-output
+    version = "2.25.2"; # geopkg-output
+    hash = "sha256-P8DllJYIEIGnzzJeGx+hWpik5Tpo6m+7Ip6QRTZ9Qcs="; # geopkg-output
   };
 
   grib = mkGeoserverExtension {
     name = "grib";
-    version = "2.24.2"; # grib
-    hash = "sha256-9i+aqQM4GnRXfIjg2R2/NkkQAF9YxNRfbMp7mGO4BgE="; # grib
+    version = "2.25.2"; # grib
+    hash = "sha256-MByVrJB6WCxiY4/Ljpfx93Lg01/iixgsnp47C0/LmtE="; # grib
     buildInputs = [ netcdf ];
   };
 
   gwc-s3 = mkGeoserverExtension {
     name = "gwc-s3";
-    version = "2.24.2"; # gwc-s3
-    hash = "sha256-fesKzbSnNHxgjwuXghLBJhUkvM2HeCOZY9V0AAiZVWk="; # gwc-s3
+    version = "2.25.2"; # gwc-s3
+    hash = "sha256-I38JVvWTc+ernyyIcYAa7vLK4LNbdNihab3wveCyoLM="; # gwc-s3
   };
 
   h2 = mkGeoserverExtension {
     name = "h2";
-    version = "2.24.2"; # h2
-    hash = "sha256-cMPdNh7Bp7aiAAiuB5E8dDWCuUkd89xQXJbvoYN5Oyk="; # h2
+    version = "2.25.2"; # h2
+    hash = "sha256-Pn3XNTnFn1HQa4V+9FGp4xRWYOKYo7F9TqnPKs7JeNI="; # h2
   };
 
   iau = mkGeoserverExtension {
     name = "iau";
-    version = "2.24.2"; # iau
-    hash = "sha256-yIqw1ur2e3haPMXGOFgFdNLguzhMMytcg9aweaBFq5U="; # iau
+    version = "2.25.2"; # iau
+    hash = "sha256-4PD5DsJgoXfOQ5lf4okx1dW4zRiHSi8geGrqH4axWew="; # iau
   };
 
   importer = mkGeoserverExtension {
     name = "importer";
-    version = "2.24.2"; # importer
-    hash = "sha256-/u5m4ljr7kEnRl9sOuYcS8913uPzJjDCXmRiWh7YS2c="; # importer
+    version = "2.25.2"; # importer
+    hash = "sha256-o5BHWMu4C7O8VTZWo7LPTtGR47d0opLTf+dQMxTVZzk="; # importer
   };
 
   inspire = mkGeoserverExtension {
     name = "inspire";
-    version = "2.24.2"; # inspire
-    hash = "sha256-3N1LUEu2q3Vy2verkJd9Fiem8V9W0KvsnSTwooO0M6E="; # inspire
+    version = "2.25.2"; # inspire
+    hash = "sha256-iQlpq5ZP3Gz9UGXH1hSW7S5Zv1mZHqieTACUX0dP3Vs="; # inspire
   };
 
   # Needs Kakadu plugin from
   # https://github.com/geosolutions-it/imageio-ext
   #jp2k = mkGeoserverExtension {
   #  name = "jp2k";
-  #  version = "2.24.2"; # jp2k
-  #  hash = "sha256-ZjPDCMzaXegrzmbI9vwjTt0Osbjjl/31sffU65PPJ3k="; # jp2k
+  #  version = "2.25.2"; # jp2k
+  #  hash = "sha256-0Sh0eM0ZWyCL34IOir7j3gYwyUU7y3+zhIV5y+BJ1NA="; # jp2k
   #};
 
   libjpeg-turbo = mkGeoserverExtension {
     name = "libjpeg-turbo";
-    version = "2.24.2"; # libjpeg-turbo
-    hash = "sha256-aPKXE8STYG0h5OtxrOoTvXagUCBmb7nmEV8ckLRq6GM="; # libjpeg-turbo
+    version = "2.25.2"; # libjpeg-turbo
+    hash = "sha256-hXjF7uifk8Tp3z2qLhymQOwIJ8Ml4FN5Qd4s1NP3TPk="; # libjpeg-turbo
     buildInputs = [ libjpeg.out ];
   };
 
   mapml = mkGeoserverExtension {
     name = "mapml";
-    version = "2.24.2"; # mapml
-    hash = "sha256-vjNoLZEM2CMmxL2JPO0r9PColReWmFdVjMkDxbyrSGg="; # mapml
+    version = "2.25.2"; # mapml
+    hash = "sha256-fx8EpGg6ZeuGLuh+PLRNSWgH74MEnIvB4rXw6GVS+60="; # mapml
   };
 
   mbstyle = mkGeoserverExtension {
     name = "mbstyle";
-    version = "2.24.2"; # mbstyle
-    hash = "sha256-zvfoAoVT8hXUETn/GkceP8vLSA8iNUXivXjQUyIJDEs="; # mbstyle
+    version = "2.25.2"; # mbstyle
+    hash = "sha256-uQw7wdkZP+1XUjombMxLnZ61DSl8NHyGoEuFy7biDlM="; # mbstyle
   };
 
   metadata = mkGeoserverExtension {
     name = "metadata";
-    version = "2.24.2"; # metadata
-    hash = "sha256-A6Gai/ExL9FSUQOuUwxqpRcaVtn4H1VwBaAKXMNm6Fg="; # metadata
+    version = "2.25.2"; # metadata
+    hash = "sha256-3TWMLToHwXn15T1d4v9U76WRjjIJhX12It5DPfuWdLY="; # metadata
   };
 
   mongodb = mkGeoserverExtension {
     name = "mongodb";
-    version = "2.24.2"; # mongodb
-    hash = "sha256-R9dp/uOIX7KBp4c2676NXQupqoRahxKkufjCr6sQaA0="; # mongodb
+    version = "2.25.2"; # mongodb
+    hash = "sha256-Y/myutomkhAMPDjoGrsqEdsHjzI98+514vcKDIJPA2M="; # mongodb
   };
 
   monitor = mkGeoserverExtension {
     name = "monitor";
-    version = "2.24.2"; # monitor
-    hash = "sha256-IB9/4755ePtL/CWIOd28dOyBG6cmddQnhZKVQMQFeIE="; # monitor
+    version = "2.25.2"; # monitor
+    hash = "sha256-elDVdUT8DdxWGesF9MX+FSYs6thf3RHoUFJJvxGmb/A="; # monitor
   };
 
   mysql = mkGeoserverExtension {
     name = "mysql";
-    version = "2.24.2"; # mysql
-    hash = "sha256-8y3N7+KgA9R5JIw1YuHmTmzK6H2c56469KUTrRpqP4g="; # mysql
+    version = "2.25.2"; # mysql
+    hash = "sha256-mers+ULFC1RSvC2aCs3qbcfmHbkLddriUaDr9wfJ/YA="; # mysql
   };
 
   netcdf = mkGeoserverExtension {
     name = "netcdf";
-    version = "2.24.2"; # netcdf
-    hash = "sha256-uAhJTCKn/00zDUGtgyYd1v8KxXj1N+vAAosBjQG3rBk="; # netcdf
+    version = "2.25.2"; # netcdf
+    hash = "sha256-OJVqwGIhecDwmtmAaJcXbqlwCIASja5sUxBiPoXkrB0="; # netcdf
     buildInputs = [ netcdf ];
   };
 
   netcdf-out = mkGeoserverExtension {
     name = "netcdf-out";
-    version = "2.24.2"; # netcdf-out
-    hash = "sha256-wMFx+BnEcLy1x9j0K+du7hG9wC+EzA4E4AVjIsyXO3A="; # netcdf-out
+    version = "2.25.2"; # netcdf-out
+    hash = "sha256-0Ym8oVA1wDFqQGaf0VspTX2tCTdI0yTsp7CAmenBL/8="; # netcdf-out
     buildInputs = [ netcdf ];
   };
 
   ogr-wfs = mkGeoserverExtension {
     name = "ogr-wfs";
-    version = "2.24.2"; # ogr-wfs
+    version = "2.25.2"; # ogr-wfs
     buildInputs = [ pkgs.gdal ];
-    hash = "sha256-jMnc0OnrKHFegEIPtyAG92fC8cLa/X1UUdTmeDyUxSI="; # ogr-wfs
+    hash = "sha256-enrc+zGq2brreqQMbCjcnImf7aTZbLbuolK3/y1Icck="; # ogr-wfs
   };
 
   # Needs ogr-wfs extension.
   ogr-wps = mkGeoserverExtension {
     name = "ogr-wps";
-    version = "2.24.2"; # ogr-wps
+    version = "2.25.2"; # ogr-wps
     # buildInputs = [ pkgs.gdal ];
-    hash = "sha256-O0MKOCEV5AjYUg4LL0UAV0KBHg1alOK7WEdEyikqpTs="; # ogr-wps
+    hash = "sha256-TCvydQYdtnqH/xudzBOyrvxqFqWke7B4At1f6L7UHO4="; # ogr-wps
   };
 
   oracle = mkGeoserverExtension {
     name = "oracle";
-    version = "2.24.2"; # oracle
-    hash = "sha256-OIvwpGt/9jtKAeP7LK/hTZDVbKQnjVGTXDy5q/zVU2k="; # oracle
+    version = "2.25.2"; # oracle
+    hash = "sha256-1KixJvCpeNc5lN+XSx+FC8D71WcnkO6mG3wYWH3w0c4="; # oracle
   };
 
   params-extractor = mkGeoserverExtension {
     name = "params-extractor";
-    version = "2.24.2"; # params-extractor
-    hash = "sha256-z6hMGCHB0I3DS05NvdSmVMfPKNA/1jhx8Mmb6odL6RU="; # params-extractor
+    version = "2.25.2"; # params-extractor
+    hash = "sha256-MzdJEvHOesJJnLs4fmWFgLjbjUBlc85tvWoHYv0gdjE="; # params-extractor
   };
 
   printing = mkGeoserverExtension {
     name = "printing";
-    version = "2.24.2"; # printing
-    hash = "sha256-nDkT9x6Va5SNSf8x7OEu7NqQ6qFSJhPavg6eUo5D4HA="; # printing
+    version = "2.25.2"; # printing
+    hash = "sha256-JwyJYGIcZOaSvkFbJu9TAKVfwu3XwZP7dzewYx5HSsc="; # printing
   };
 
   pyramid = mkGeoserverExtension {
     name = "pyramid";
-    version = "2.24.2"; # pyramid
-    hash = "sha256-HM2ItB34+CHNzhoH3X3Kh1iVNMb+AimvdHrgHHh5SJc="; # pyramid
+    version = "2.25.2"; # pyramid
+    hash = "sha256-2LEat5BZgWFQmE68vxirXH+DIUEdVsTf6Ec8F+/6DA8="; # pyramid
   };
 
   querylayer = mkGeoserverExtension {
     name = "querylayer";
-    version = "2.24.2"; # querylayer
-    hash = "sha256-7WtAsisMJBpRZqU0nfr4orp36uBmnvat2+DlbnGCjVg="; # querylayer
+    version = "2.25.2"; # querylayer
+    hash = "sha256-VnvfntM3SvMKxAk25Gj3iKqsYSKhLfh+PyyoANqwfq8="; # querylayer
   };
 
   sldservice = mkGeoserverExtension {
     name = "sldservice";
-    version = "2.24.2"; # sldservice
-    hash = "sha256-m3QJP/u6HZmO0p8d++8EKXXxtkbMDmBFFCzBPctPV5A="; # sldservice
+    version = "2.25.2"; # sldservice
+    hash = "sha256-lzOs7MrmAqoJlCK+HxiKAOdlCHuqXa5DU9tilF6cZoo="; # sldservice
   };
 
   sqlserver = mkGeoserverExtension {
     name = "sqlserver";
-    version = "2.24.2"; # sqlserver
-    hash = "sha256-ZwsO1Yxb3OWCLtYI30l3jnMrAbPI7v0XTGcasJPN1Y8="; # sqlserver
+    version = "2.25.2"; # sqlserver
+    hash = "sha256-EZTcoNfp1iGCBNW3YR4NZpeI+tStcodGE5wQiWfFzno="; # sqlserver
   };
 
   vectortiles = mkGeoserverExtension {
     name = "vectortiles";
-    version = "2.24.2"; # vectortiles
-    hash = "sha256-fQ9qSIHplxt57n45w4MN4e5AFdU8nmtvQ/vTeL/cdzQ="; # vectortiles
+    version = "2.25.2"; # vectortiles
+    hash = "sha256-+o8qliiCnRljCXniI+9I7ooU/l1SLEPF9iDtxviKfqY="; # vectortiles
   };
 
   wcs2_0-eo = mkGeoserverExtension {
     name = "wcs2_0-eo";
-    version = "2.24.2"; # wcs2_0-eo
-    hash = "sha256-q0cXVjOBmX4vYwzf+3LjsYf9rPAIeCxnOZZadfNlLF0="; # wcs2_0-eo
+    version = "2.25.2"; # wcs2_0-eo
+    hash = "sha256-L9jKxivUtwA9Jgfy3E1rQD0+19PrvHxwklDJkAYFRT0="; # wcs2_0-eo
   };
 
   web-resource = mkGeoserverExtension {
     name = "web-resource";
-    version = "2.24.2"; # web-resource
-    hash = "sha256-v/SnNV6JnWPoYUSFowXFDDuhjZC8b1iPtDeMG8mWqG4="; # web-resource
+    version = "2.25.2"; # web-resource
+    hash = "sha256-KikKMMZ6vv/qWwn0TCQcNR18MbrJibweu+yvUhQt7vQ="; # web-resource
   };
 
   wmts-multi-dimensional = mkGeoserverExtension {
     name = "wmts-multi-dimensional";
-    version = "2.24.2"; # wmts-multi-dimensional
-    hash = "sha256-ASSGBqTpq9Tk1R3oBTBoi6L1tsXIJpJyez3LXBPmjd8="; # wmts-multi-dimensional
+    version = "2.25.2"; # wmts-multi-dimensional
+    hash = "sha256-J+buneos9vdfA8t9NS0IKo57ItorBN1IOmJvNHO/Qy0="; # wmts-multi-dimensional
   };
 
   wps = mkGeoserverExtension {
     name = "wps";
-    version = "2.24.2"; # wps
-    hash = "sha256-KJa0yWqO/qyY59U9NMK5/V4EskIqEbe9XnSvGRvODHU="; # wps
+    version = "2.25.2"; # wps
+    hash = "sha256-EqMx1aI/GR0nFvEMmo6RLXBZu8jJe+u2v+Muzf+ye9Q="; # wps
   };
 
   # Needs hazelcast (https://github.com/hazelcast/hazelcast (?)) which is not
   # available in nixpgs as of 2024/01.
   #wps-cluster-hazelcast = mkGeoserverExtension {
   #  name = "wps-cluster-hazelcast";
-  #  version = "2.24.2"; # wps-cluster-hazelcast
-  #  hash = "sha256-PQcX3AVJy3DluAL4b5vcWvLl0fYLBq+F8cKsvJ/WOyE="; # wps-cluster-hazelcast
+  #  version = "2.25.2"; # wps-cluster-hazelcast
+  #  hash = "sha256-58BmwzdX3jGJHqvAjZjhIE5LxcLRZaUaeHmPrnN1PP8="; # wps-cluster-hazelcast
   #};
 
   wps-download = mkGeoserverExtension {
     name = "wps-download";
-    version = "2.24.2"; # wps-download
-    hash = "sha256-cjVbQ1R2uit/29axZsu88ZiMuwY7mmR5x8XNb9qX8aM="; # wps-download
+    version = "2.25.2"; # wps-download
+    hash = "sha256-qcqw875SIzsjXMJFMwIm9et6Vo0G0qg6zrZlgml8Ql8="; # wps-download
   };
 
   # Needs Postrgres configuration or similar.
   # See https://docs.geoserver.org/main/en/user/extensions/wps-jdbc/index.html
   wps-jdbc = mkGeoserverExtension {
     name = "wps-jdbc";
-    version = "2.24.2"; # wps-jdbc
-    hash = "sha256-dJUnh8HZmlu5aqVeFxyR3A8fbXYqbgIqPxIENq4rhfs="; # wps-jdbc
+    version = "2.25.2"; # wps-jdbc
+    hash = "sha256-MsR5/yeDbBgValx4gm9v8JNdFQnGBTdwy5nkOyUXTAs="; # wps-jdbc
   };
 
   ysld = mkGeoserverExtension {
     name = "ysld";
-    version = "2.24.2"; # ysld
-    hash = "sha256-GLUioofwqoGUw7JQeEhzBG1SRwGUzwqjKvhkOt4TUVw="; # ysld
+    version = "2.25.2"; # ysld
+    hash = "sha256-H8BfsRk6zk0kX94YY9yU8FeebTzjA8zagnVWU7Sr9/Q="; # ysld
   };
 
 }
diff --git a/pkgs/servers/geospatial/mapproxy/default.nix b/pkgs/servers/geospatial/mapproxy/default.nix
index ce3bcd5560dee..773c12f241856 100644
--- a/pkgs/servers/geospatial/mapproxy/default.nix
+++ b/pkgs/servers/geospatial/mapproxy/default.nix
@@ -9,7 +9,7 @@ buildPythonApplication rec {
   version = "2.0.2";
   src = fetchPypi {
   inherit pname version;
-  sha256 = "sha256-HwO5gvrsW9pArz4RLtxNfCmiFqa85AAi6wBJI+F9GE8=";
+  hash = "sha256-HwO5gvrsW9pArz4RLtxNfCmiFqa85AAi6wBJI+F9GE8=";
   };
   prePatch = ''
     substituteInPlace mapproxy/util/ext/serving.py --replace "args = [sys.executable] + sys.argv" "args = sys.argv"
diff --git a/pkgs/servers/go-libp2p-daemon/default.nix b/pkgs/servers/go-libp2p-daemon/default.nix
index 1ae7428aa19d6..cca514fcca39c 100644
--- a/pkgs/servers/go-libp2p-daemon/default.nix
+++ b/pkgs/servers/go-libp2p-daemon/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-libp2p-daemon";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "libp2p";
     repo = "go-libp2p-daemon";
     rev = "v${version}";
-    hash = "sha256-xKipt+nh7hFJHb9EmI0JZjBTuewfs82vOk1FC97sbAw=";
+    hash = "sha256-UIiP6Tb0ys1slB4YQ2m7KlrHIZDfUaKs4RAyuxWBhhw=";
   };
 
   vendorHash = "sha256-60+JcyVV0uW+T0JZ/keyeYJNWrR3BhLInIgwbpoAe/Q=";
@@ -16,9 +16,6 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
-    # Won't build with Go >1.20 because of outdated quic-go dependency and interface mismatches on update.
-    # https://github.com/libp2p/go-libp2p-daemon/issues/291
-    broken = true;
     description = "Libp2p-backed daemon wrapping the functionalities of go-libp2p for use in other languages";
     homepage = "https://github.com/libp2p/go-libp2p-daemon";
     license = licenses.mit;
diff --git a/pkgs/servers/gonic/default.nix b/pkgs/servers/gonic/default.nix
index d405e82be9b85..d23e130375de5 100644
--- a/pkgs/servers/gonic/default.nix
+++ b/pkgs/servers/gonic/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub
+{ lib, buildGoModule, fetchFromGitHub
 , nixosTests
 , pkg-config, taglib, zlib
 
diff --git a/pkgs/servers/gotosocial/default.nix b/pkgs/servers/gotosocial/default.nix
index cf2e82a46db0c..3f57180795eef 100644
--- a/pkgs/servers/gotosocial/default.nix
+++ b/pkgs/servers/gotosocial/default.nix
@@ -1,5 +1,4 @@
-{ stdenv
-, lib
+{ lib
 , fetchurl
 , fetchFromGitHub
 , buildGoModule
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index ac4d0c066783f..ab1668ccfb92b 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 
 # nativeBuildInputs
 , scons
@@ -75,6 +76,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./sconstruct-env-fixes.patch
+
+    # fix build with Python 3.12
+    (fetchpatch {
+      url = "https://gitlab.com/gpsd/gpsd/-/commit/9157b1282d392b2cc220bafa44b656d6dac311df.patch";
+      hash = "sha256-kFMn4HgidQvHwHfcSNH/0g6i1mgvEnZfvAUDPU4gljg=";
+    })
   ];
 
   preBuild = ''
diff --git a/pkgs/servers/h2/default.nix b/pkgs/servers/h2/default.nix
index a143dd990e08b..a083075711b87 100644
--- a/pkgs/servers/h2/default.nix
+++ b/pkgs/servers/h2/default.nix
@@ -14,7 +14,7 @@ maven.buildMavenPackage rec {
   };
 
   mvnParameters = "-f h2/pom.xml";
-  mvnHash = "sha256-hUzE4F+RNCAfoY836pjrivf04xqN4m9SkiLXhmVzZRA=";
+  mvnHash = "sha256-kWRwaHb9+O07/jq8tgQnYpJa6zFsAMBCEnhT7HNKM4s=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/servers/holochain-go/deps.nix b/pkgs/servers/holochain-go/deps.nix
deleted file mode 100644
index bad01c01a6bd9..0000000000000
--- a/pkgs/servers/holochain-go/deps.nix
+++ /dev/null
@@ -1,1056 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
-      sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
-    };
-  }
-  {
-    goPackagePath = "github.com/agl/ed25519";
-    fetch = {
-      type = "git";
-      url = "https://github.com/agl/ed25519";
-      rev = "5312a61534124124185d41f09206b9fef1d88403";
-      sha256 = "1v8mhkf1m3ga5262s75vabskxvsw5rpqvi5nwhxwiv7gfk6h823i";
-    };
-  }
-  {
-    goPackagePath = "github.com/btcsuite/btcd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/btcsuite/btcd";
-      rev = "675abc5df3c5531bc741b56a765e35623459da6d";
-      sha256 = "1sg7dmns8smsfcjpn9dnqapzf4b6r1vrp62j753izmbmc55rjm0f";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/go-semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/go-semver";
-      rev = "e214231b295a8ea9479f11b70b35d5acf3556d9b";
-      sha256 = "0770h1mpig2j5sbiha3abnwaw8p6dg9i87r8pc7cf6m4kwml3sc9";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/spdystream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/spdystream";
-      rev = "bc6354cbbc295e925e4c611ffe90c1f287ee54db";
-      sha256 = "08746a15snvmax6cnzn2qy7cvsspxbsx97vdbjpdadir3pypjxya";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "507f6050b8568533fb3f5504de8e5205fa62a114";
-      sha256 = "0k1v9dkhrxiqhg48yqkwzpd7x40xx38gv2pgknswbsy4r8w644i7";
-    };
-  }
-  {
-    goPackagePath = "github.com/fd/go-nat";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fd/go-nat";
-      rev = "dcaf50131e4810440bed2cbb6f7f32c4f4cc95dd";
-      sha256 = "094aqkjv9qfmy1k8xrg7cl4njbvamm51fdilay9c75wcax9p41jv";
-    };
-  }
-  {
-    goPackagePath = "github.com/ghodss/yaml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ghodss/yaml";
-      rev = "e9ed3c6dfb39bb1a32197cb10d527906fe4da4b6";
-      sha256 = "07cf0j3wbsl1gmn175mdgljcarfz4xbqd6pgc7b08a5lcn7zwhjz";
-    };
-  }
-  {
-    goPackagePath = "github.com/glycerine/blake2b";
-    fetch = {
-      type = "git";
-      url = "https://github.com/glycerine/blake2b";
-      rev = "3c8c640cd7bea3ca78209d812b5854442ab92fed";
-      sha256 = "1hw0y15yf4fhjkfgh8jnk257chhmpzyppgnnck9aijhkvk41rply";
-    };
-  }
-  {
-    goPackagePath = "github.com/glycerine/goconvey";
-    fetch = {
-      type = "git";
-      url = "https://github.com/glycerine/goconvey";
-      rev = "83515ca83cca5aef8af8eab6eb7368f8e7500976";
-      sha256 = "1n9drlng7pbyqfxyfa14vik8vd3vj4m2b7v73410fxll36djj4s8";
-    };
-  }
-  {
-    goPackagePath = "github.com/glycerine/greenpack";
-    fetch = {
-      type = "git";
-      url = "https://github.com/glycerine/greenpack";
-      rev = "3f7f38f101dc36e64a4176ded8443684516d76c2";
-      sha256 = "0w468v8zpsmgml1bgr51rzfvcymlfpdzy091wid67i1z25gwyik0";
-    };
-  }
-  {
-    goPackagePath = "github.com/glycerine/liner";
-    fetch = {
-      type = "git";
-      url = "https://github.com/glycerine/liner";
-      rev = "72909af234e0e355af10d0ace679446a6c5d7ec3";
-      sha256 = "118dig6vg1pz5jq2w1kyq0102rvgq676z8zsdyi13ynw8phlpcnc";
-    };
-  }
-  {
-    goPackagePath = "github.com/glycerine/zebrapack";
-    fetch = {
-      type = "git";
-      url = "https://github.com/glycerine/zebrapack";
-      rev = "7858d9b3e1a2ca613b770bb4cdce84ad04cefbbb";
-      sha256 = "0wgk719q428q415628hw2glj9divw172iqnrn02hkgiwfnv005rp";
-    };
-  }
-  {
-    goPackagePath = "github.com/glycerine/tmframe";
-    fetch = {
-      type = "git";
-      url = "https://github.com/glycerine/tmframe";
-      rev = "092b9413cc9ce8cb9fffadbfbf9038bb0bad5418";
-      sha256 = "19h9hq53g8wf12h15w07qlz7035x3k2z3zs6bj1dzm68xca26lcn";
-    };
-  }
-  {
-    goPackagePath = "github.com/glycerine/zygomys";
-    fetch = {
-      type = "git";
-      url = "https://github.com/glycerine/zygomys";
-      rev = "22c88044c7c2a3f845b8bbd1df6d990e8ee4f29c";
-      sha256 = "1psbx4p022c19bq58bf9fs0mlm7mqavpbggsdkw7wqga0yn1vp18";
-    };
-  }
-  {
-    goPackagePath = "github.com/gogo/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gogo/protobuf";
-      rev = "1ef32a8b9fc3f8ec940126907cedb5998f6318e4";
-      sha256 = "0zk2n0n35ksskr5cd83k5k8wg21ckrcggjy88bym2s21ngj5w4fh";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/uuid";
-      rev = "dec09d789f3dba190787f8b4454c7d3c936fed9e";
-      sha256 = "1hc4w67p6zkh2qk7wm1yrl69jjrjjk615mly5ll4iidn1m4mzi4i";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "21ab95fa12b9bdd8fecf5fa3586aad941cc98785";
-      sha256 = "1ygg6cr84461d6k3nzbja0dxhcgf5zvry2w10f6i7291ghrcwhyy";
-    };
-  }
-  {
-    goPackagePath = "github.com/gxed/hashland";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gxed/hashland";
-      rev = "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8";
-      sha256 = "1q23y4lacsz46k9gmgfw4iwwydw36j2601rbidmmswl94grpc386";
-    };
-  }
-  {
-    goPackagePath = "github.com/gxed/eventfd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gxed/eventfd";
-      rev = "80a92cca79a8041496ccc9dd773fcb52a57ec6f9";
-      sha256 = "1p15rsimkcp2flj6wb41flac72zhf97zd8jxrahsw05nyfbp58z5";
-    };
-  }
-  {
-    goPackagePath = "github.com/gxed/GoEndian";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gxed/GoEndian";
-      rev = "0f5c6873267e5abf306ffcdfcfa4bf77517ef4a7";
-      sha256 = "0fn28h9gs1finrpfs388a3ycavlcf3qylsn803cflmrwaj5piqia";
-    };
-  }
-  {
-    goPackagePath = "github.com/huin/goupnp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/huin/goupnp";
-      rev = "1395d1447324cbea88d249fbfcfd70ea878fdfca";
-      sha256 = "03fp94757vzclkv5khmydhvcm2gjhxgd0mi8q7wqksy9l93ixgl4";
-    };
-  }
-  {
-    goPackagePath = "github.com/ipfs/go-ipfs-util";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ipfs/go-ipfs-util";
-      rev = "9ed527918c2f20abdf0adfab0553cd87db34f656";
-      sha256 = "03lq5378p31c6ghfa20vwa7b1vgd96ypc9dmwp1p62bddz6apci6";
-    };
-  }
-  {
-    goPackagePath = "github.com/ipfs/go-log";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ipfs/go-log";
-      rev = "0ef81702b797a2ecef05f45dcc82b15298f54355";
-      sha256 = "0q375wbh014hca8n6g3z2x875f5m9cads75chs0sqlhr5rfgncal";
-    };
-  }
-  {
-    goPackagePath = "github.com/ipfs/go-todocounter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ipfs/go-todocounter";
-      rev = "1e832b829506383050e6eebd12e05ea41a451532";
-      sha256 = "0cydbwivwp2k3x63rl6crhiw3svglc184saxyjrahvp7rv6cqdbq";
-    };
-  }
-  {
-    goPackagePath = "github.com/jackpal/gateway";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jackpal/gateway";
-      rev = "cbcf4e3f3baee7952fc386c8b2534af4d267c875";
-      sha256 = "1ird5xmizj632l3dq24s2xgb8w1dn6v8xznlqz252gvngyr2gjl1";
-    };
-  }
-  {
-    goPackagePath = "github.com/jackpal/go-nat-pmp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jackpal/go-nat-pmp";
-      rev = "28a68d0c24adce1da43f8df6a57340909ecd7fdd";
-      sha256 = "17l8vh4g1akhgm7hbw5n9k2hdphlsvm5vwdc8z3mzlxjmdww5z70";
-    };
-  }
-  {
-    goPackagePath = "github.com/jbenet/go-base58";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jbenet/go-base58";
-      rev = "6237cf65f3a6f7111cd8a42be3590df99a66bc7d";
-      sha256 = "11yp7yg62bhw6jqdrlf2144bffk12jmb1nvqkm172pdhxfwrp3bf";
-    };
-  }
-  {
-    goPackagePath = "github.com/jbenet/go-temp-err-catcher";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jbenet/go-temp-err-catcher";
-      rev = "aac704a3f4f27190b4ccc05f303a4931fd1241ff";
-      sha256 = "1fyqkcggnrzwxa8iii15g60w2jikdm26sr7l36km7y0nc2kvf7jc";
-    };
-  }
-  {
-    goPackagePath = "github.com/jbenet/goprocess";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jbenet/goprocess";
-      rev = "b497e2f366b8624394fb2e89c10ab607bebdde0b";
-      sha256 = "1lnvkzki7vnqn5c4m6bigk0k85haicmg27w903kwg30rdvblm82s";
-    };
-  }
-  {
-    goPackagePath = "github.com/jtolds/gls";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jtolds/gls";
-      rev = "77f18212c9c7edc9bd6a33d383a7b545ce62f064";
-      sha256 = "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h";
-    };
-  }
-  {
-    goPackagePath = "github.com/lestrrat/go-jspointer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lestrrat/go-jspointer";
-      rev = "d5f7c71bfd03c8e9489a636874cd106c22d3a47c";
-      sha256 = "10b94qdnvla9ax8b3djzwqz35gvqcvqrcafhqn0r4lay6y2i3241";
-    };
-  }
-  {
-    goPackagePath = "github.com/lestrrat/go-jsref";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lestrrat/go-jsref";
-      rev = "50df7b2d07d799426a9ac43fa24bdb4785f72a54";
-      sha256 = "16mz2mm1ggvdighglmf48qkir070gig64cf26vmiwfq3z5w47s7p";
-    };
-  }
-  {
-    goPackagePath = "github.com/lestrrat/go-jsschema";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lestrrat/go-jsschema";
-      rev = "a6a42341b50d8d7e2a733db922eefaa756321021";
-      sha256 = "0cyz9pzw53haabpxhxsqp1gb9z742gs6l6dp45skag6abdwgpi13";
-    };
-  }
-  {
-    goPackagePath = "github.com/lestrrat/go-jsval";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lestrrat/go-jsval";
-      rev = "cf70aae60f5b41a32922066c41287b0168e55904";
-      sha256 = "06ba6rh9f0nwqsam3bvmazcv6y8zma6njljbhjswjamylsfhclcs";
-    };
-  }
-  {
-    goPackagePath = "github.com/lestrrat/go-pdebug";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lestrrat/go-pdebug";
-      rev = "569c97477ae8837e053e5a50bc739e15172b8ebe";
-      sha256 = "0r56ppr6l6z3gcbxyyr3kiiw07a9gr3qxr26w8sbiq1np3zzpmzw";
-    };
-  }
-  {
-    goPackagePath = "github.com/lestrrat/go-structinfo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lestrrat/go-structinfo";
-      rev = "8204d40bbcd79eb7603cd4c2c998e60eb2479ded";
-      sha256 = "0p52xp2x4zyv91k820pnarz8xidgil8191cwfr1rasp8z07a9d3j";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-addr-util";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-addr-util";
-      rev = "3bd34419494fb7f15182ddd19a5d92ac017a27c6";
-      sha256 = "11f0g9zd4barbdqplmflxbm3yp2plby5qbsk66zbad3xd28kllc0";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-flow-metrics";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-flow-metrics";
-      rev = "3b3bcfcf78f2dc0e85be13ef3c3adc64cc5a9347";
-      sha256 = "06kgn72bmvljigycgdbw2nywss3g3r0ysfcw4k48938akxydgc6d";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-circuit";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-circuit";
-      rev = "772fa57b88017ff6bce887a8d1486b228cacf488";
-      sha256 = "03jl9b2g6z82pgkiqanvhlm3wyddp9x07b31h72r79g40lw6j7kz";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-conn";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-conn";
-      rev = "5c445d258745408186410e0ad5128224b00e47fe";
-      sha256 = "01a8hnkpxg73v48i2gbr3y8fs6881h5g965nak4bn05iy6jn1cr8";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-crypto";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-crypto";
-      rev = "18915b5467c77ad8c07a35328c2cab468667a4e8";
-      sha256 = "00pgxh53g60ij18mb2l5g8id9c46sw4pfsaw3cprv5mqacc1dlfg";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-host";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-host";
-      rev = "acf01b322989cf731f66ce70b1ed7c41fe007798";
-      sha256 = "0gxqyw6azsp65yam6f667gdidwdfzlxri8xb7iwyqp58y9973i9c";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-interface-conn";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-interface-conn";
-      rev = "47718f905cc3ccd621b65fc106c521555c4040d3";
-      sha256 = "1ykd46mdqjy9yj2i4srx6m0f5jwaw2f5pm4pfdcrq4wh30r0xg3j";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-interface-connmgr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-interface-connmgr";
-      rev = "d00fbee4d35c7b5fdbd12499f673a236c6303865";
-      sha256 = "1ynmn8p0d145mbykr375lqzxl4h0gdcxdiz3bxfxnwxcl5x73pah";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-interface-pnet";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-interface-pnet";
-      rev = "c6acc383ec0b7b98112971df590d6702885ca821";
-      sha256 = "1micl8nvk29sac9zhvzxb0mgadp83kz725jbl4hs3a9a0ar9gxln";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-loggables";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-loggables";
-      rev = "3a7ad4dd32462b4d9c07a85021e0f5e1110debb2";
-      sha256 = "12h5lxxwnh5b8ch8q7fk6nky4fx5ajhf83bjxm0cdapv85y3cjz2";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-metrics";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-metrics";
-      rev = "2b4a2757a26649c9a603519647cc9d4478ade5c6";
-      sha256 = "1d2rfvkmaccajbljb7p1dwscf422la0qy1xl7h5d9ks4pk5pgcxr";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-nat";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-nat";
-      rev = "d090f00e553d1b6582e1ec829608a8a9bbf262e1";
-      sha256 = "1j6m3rs80zizgd6sy0rclfa95k7i9dxa6yfy6ca52lfqmwhh9ghk";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-net";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-net";
-      rev = "70a8d93f2d8c33b5c1a5f6cc4d2aea21663a264c";
-      sha256 = "04l67xnghr4bbgpdi5fw570zb6nl4k2nj0jpl6hmwbw0jhdd9hkn";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-peer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-peer";
-      rev = "aa0e03e559bde9d4749ad8e38595e15a6fe808fa";
-      sha256 = "1rmfsnwaij3klby30aqgvx85hk5swhp5dlxg1z255z6r4mmvvdwk";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-peerstore";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-peerstore";
-      rev = "7ac092e7f77f5bda1cb6e4ef95efbe911e97db41";
-      sha256 = "1kmj3dwnvkl08hb8j3zfispl2q582p5b5v76hk5yn46drs7da276";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-protocol";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-protocol";
-      rev = "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b";
-      sha256 = "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-secio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-secio";
-      rev = "146b7055645501f741c5644d4a3d207614f08899";
-      sha256 = "1df5f2r7wc34l6nycc1f4ni06cd2hhjncjyvzzw4vnmlqsncrx1w";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-swarm";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-swarm";
-      rev = "48d6d0ff2d2a4724f6b47f1ed5ffc0ae63e30460";
-      sha256 = "1z595f71p1i89fhc5qc63mcgnfiy0p1gyda77p6jmzxyzgzwvlmz";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p-transport";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p-transport";
-      rev = "49533464477a869fee537c8cc3fcee286aa8bdcd";
-      sha256 = "0dj0rzrykjmhnhpn8ac5696zvql8rq0amw87bj62qn4hpi7ri64h";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-libp2p";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-libp2p";
-      rev = "3b8f2275a2b24de5777aaa4fc77f1af57c5c4387";
-      sha256 = "0jyk4zvhipknnwn1w3i11lsrzybh30p190xrkj7zgh5whz2rdqj1";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-maddr-filter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-maddr-filter";
-      rev = "3c9947befbb92277cc5f85057d387097debc4139";
-      sha256 = "022xmvv6djpycbcaw4hhxhbspl2g72yjla218j08xp8l0gp6w0hq";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-msgio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-msgio";
-      rev = "d82125c9907e1365775356505f14277d47dfd4d6";
-      sha256 = "0jawhcr6hm9apmdbl09s12mmqzwnphzn8k6wqwxfbmhs7gg2s1wq";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-peerstream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-peerstream";
-      rev = "2679b7430e519fc39f9cfbb0c7b7d016705b4ce1";
-      sha256 = "10rxbn21hp7c8x1hzc770hnh9zgcz13dn9mjd94fg2yxkf7fq6mn";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-reuseport";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-reuseport";
-      rev = "15a1cd37f0502f3b2eccb6d71a7958edda314633";
-      sha256 = "1pcy6qpz804apsgxmh8irkj80viz5zrh2f3a0ipxkzq2nb6jx36k";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-sockaddr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-sockaddr";
-      rev = "f3e9f73a53d14d8257cb9da3d83dda07bbd8b2fe";
-      sha256 = "04saphhq5zbphzbd87lfpjkdf8k21x7q4hn8d03f8ykm19d51nlg";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-stream-muxer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-stream-muxer";
-      rev = "6ebe3f58af097068454b167a89442050b023b571";
-      sha256 = "1w1hypcg010npzlbabigrz65c4inj7w9js9ai4iw6z2d3s7ymc6v";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-tcp-transport";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-tcp-transport";
-      rev = "2852032418949429c7d683502e7ea9bff2e951e7";
-      sha256 = "0j4cm890qbgj3ry757pcd21j4q2i3bkksc5z8y8hszyq8njc7ac5";
-    };
-  }
-  {
-    goPackagePath = "github.com/libp2p/go-ws-transport";
-    fetch = {
-      type = "git";
-      url = "https://github.com/libp2p/go-ws-transport";
-      rev = "2c20090616127904f706139653cd40ecac600227";
-      sha256 = "0yirawpv416fs9amzp0i6r2j0lmpw9bplqxiqixcvi7kkinb42hq";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "efa589957cd060542a26d2dd7832fd6a6c6c3ade";
-      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
-      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
-    };
-  }
-  {
-    goPackagePath = "github.com/miekg/dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/miekg/dns";
-      rev = "01d59357d468872339068bcd5d55a00e2463051f";
-      sha256 = "0m595w0azrsvlfqqvrsrf0yd0myavn129rg1nsq1mnfy9c8768xa";
-    };
-  }
-  {
-    goPackagePath = "github.com/minio/blake2b-simd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/minio/blake2b-simd";
-      rev = "3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4";
-      sha256 = "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd";
-    };
-  }
-  {
-    goPackagePath = "github.com/minio/sha256-simd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/minio/sha256-simd";
-      rev = "ad98a36ba0da87206e3378c556abbfeaeaa98668";
-      sha256 = "0yfnqn3kqdnlfm54yvc4fr5vpdmwdi2kw571nlkbpmy8ldhsqqfi";
-    };
-  }
-  {
-    goPackagePath = "github.com/mr-tron/base58";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mr-tron/base58";
-      rev = "c1bdf7c52f59d6685ca597b9955a443ff95eeee6";
-      sha256 = "1dq6i8619manxdhb0fwhdm9ar23kx88pc2xwl1pjla9djrgql6a8";
-    };
-  }
-  {
-    goPackagePath = "github.com/multiformats/go-multiaddr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/multiformats/go-multiaddr";
-      rev = "123a717755e0559ec8fda308019cd24e0a37bb07";
-      sha256 = "0lx2m83y0ffqn7ygqppa1ri1ykdrbvl1qzb4x2w8k97chxfjx4ip";
-    };
-  }
-  {
-    goPackagePath = "github.com/multiformats/go-multiaddr-dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/multiformats/go-multiaddr-dns";
-      rev = "c3d4fcd3cbaf54a24b0b68f1461986ede1d59859";
-      sha256 = "13a8xbr5zb49aq570b51a5japb3rnsnwjncgqsd91bnqr8v68vdb";
-    };
-  }
-  {
-    goPackagePath = "github.com/multiformats/go-multiaddr-net";
-    fetch = {
-      type = "git";
-      url = "https://github.com/multiformats/go-multiaddr-net";
-      rev = "97d80565f68c5df715e6ba59c2f6a03d1fc33aaf";
-      sha256 = "0gsncnwn8b9i2hyh0kgiw51sz96wswww5m032dr87jld2zl7kdrb";
-    };
-  }
-  {
-    goPackagePath = "github.com/multiformats/go-multihash";
-    fetch = {
-      type = "git";
-      url = "https://github.com/multiformats/go-multihash";
-      rev = "265e72146e710ff649c6982e3699d01d4e9a18bb";
-      sha256 = "1yzjqwwwwd1yb22g2vf12y5w4gbgsa4g9arf66xk5m2r7r79h8hq";
-    };
-  }
-  {
-    goPackagePath = "github.com/multiformats/go-multistream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/multiformats/go-multistream";
-      rev = "612ce31c03aebe1d5adbd3c850ee89e05a82b16d";
-      sha256 = "0yg7pkg8nvgz8ywcg55kqm1jk264qbdyilkjsnn32siyh5xwmcd1";
-    };
-  }
-  {
-    goPackagePath = "github.com/nats-io/nats";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nats-io/go-nats";
-      rev = "247b2a84d8d0ff15cbc6faafc77ef15ea4317011";
-      sha256 = "0ig494i7j94wr0f8mpaai9hy5knbvqlhqj280m969m219h8di2qy";
-    };
-  }
-  {
-    goPackagePath = "github.com/nats-io/go-nats";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nats-io/go-nats";
-      rev = "247b2a84d8d0ff15cbc6faafc77ef15ea4317011";
-      sha256 = "0ig494i7j94wr0f8mpaai9hy5knbvqlhqj280m969m219h8di2qy";
-    };
-  }
-  {
-    goPackagePath = "github.com/nats-io/nuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nats-io/nuid";
-      rev = "3e58d42c9cfe5cd9429f1a21ad8f35cd859ba829";
-      sha256 = "05xzdfcji3jv63c5sysmfypzg6xc2mm92gdcck7qvk10n60dndp4";
-    };
-  }
-  {
-    goPackagePath = "github.com/op/go-logging";
-    fetch = {
-      type = "git";
-      url = "https://github.com/op/go-logging";
-      rev = "970db520ece77730c7e4724c61121037378659d9";
-      sha256 = "1cpna2x5l071z1vrnk7zipdkka8dzwsjyx7m79xk0lr08rip0kcj";
-    };
-  }
-  {
-    goPackagePath = "github.com/opentracing/opentracing-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/opentracing/opentracing-go";
-      rev = "6c572c00d1830223701e155de97408483dfcd14a";
-      sha256 = "1qw5s858zd2gsg1962jg3jpz38awpldv3vajlsj78qvzi0v0pmq4";
-    };
-  }
-  {
-    goPackagePath = "github.com/philhofer/fwd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/philhofer/fwd";
-      rev = "bb6d471dc95d4fe11e432687f8b70ff496cf3136";
-      sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "816c9085562cd7ee03e7f8188a1cfd942858cded";
-      sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k";
-    };
-  }
-  {
-    goPackagePath = "github.com/robertkrimen/otto";
-    fetch = {
-      type = "git";
-      url = "https://github.com/robertkrimen/otto";
-      rev = "6c383dd335ef8dcccef05e651ce1eccfe4d0f011";
-      sha256 = "1n6h7c8gi6wv4nklqd7ygzx2afvh7ddxbml9w9x0jxwcfb3bdy17";
-    };
-  }
-  {
-    goPackagePath = "github.com/satori/go.uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/satori/go.uuid";
-      rev = "36e9d2ebbde5e3f13ab2e25625fd453271d6522e";
-      sha256 = "0nc0ggn0a6bcwdrwinnx3z6889x65c20a2dwja0n8can3xblxs35";
-    };
-  }
-  {
-    goPackagePath = "github.com/shirou/gopsutil";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shirou/gopsutil";
-      rev = "57f370e13068146efe1cb7129f79e5d51da8a242";
-      sha256 = "1ij0bbnfjj65afin8vhccr3cxvg6r0awmvcvb2ilza5wbbsslggb";
-    };
-  }
-  {
-    goPackagePath = "github.com/shurcooL/go-goon";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shurcooL/go-goon";
-      rev = "37c2f522c041b74919a9e5e3a6c5c47eb34730a5";
-      sha256 = "17ac6j6msdcxbmfhq6pxhw5z339b87bd6ciln9909drjv2szyxqv";
-    };
-  }
-  {
-    goPackagePath = "github.com/shurcooL/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shurcooL/go";
-      rev = "47fa5b7ceee66c60ac3a281416089035bf526a3c";
-      sha256 = "1wr4fgb8w1zi3z7b76wjr68h0152lrcamphyhpbljc0sx8ygv8xd";
-    };
-  }
-  {
-    goPackagePath = "github.com/smartystreets/assertions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/smartystreets/assertions";
-      rev = "7678a5452ebea5b7090a6b163f844c133f523da2";
-      sha256 = "0df2z0f4l0yzbx38bphwyjsyxfgsza1yw4cq46zikbnknqjb8s1c";
-    };
-  }
-  {
-    goPackagePath = "github.com/smartystreets/goconvey";
-    fetch = {
-      type = "git";
-      url = "https://github.com/smartystreets/goconvey";
-      rev = "ef6db91d284a0e7badaa1f0c404c30aa7dee3aed";
-      sha256 = "16znlpsms8z2qc3airawyhzvrzcp70p9bx375i19bg489hgchxb7";
-    };
-  }
-  {
-    goPackagePath = "github.com/spaolacci/murmur3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spaolacci/murmur3";
-      rev = "f09979ecbc725b9e6d41a297405f65e7e8804acc";
-      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
-    };
-  }
-  {
-    goPackagePath = "github.com/tidwall/btree";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tidwall/btree";
-      rev = "9876f1454cf0993a53d74c27196993e345f50dd1";
-      sha256 = "0rys4pw7cf2yqr0qdls33ndbpas6d1qxi0wn8zacb315j1dd7cnp";
-    };
-  }
-  {
-    goPackagePath = "github.com/tidwall/buntdb";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tidwall/buntdb";
-      rev = "75d89283d5ba2a97e02ada50dc800fd65b601b7b";
-      sha256 = "11sgfwqfgn33fy62spqrqqx9lbp1cpb7f93wp2ngic5svpza0ykl";
-    };
-  }
-  {
-    goPackagePath = "github.com/tidwall/gjson";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tidwall/gjson";
-      rev = "3cd3a1192327ac5e24f7e87824be578b0b07c604";
-      sha256 = "1v9fmbz7j4ny5cnbmzs1nnv3nm34f129grfk8kxl0klydixg2jvx";
-    };
-  }
-  {
-    goPackagePath = "github.com/tidwall/grect";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tidwall/grect";
-      rev = "ba9a043346eba55344e40d66a5e74cfda3a9d293";
-      sha256 = "0iz948vwqk7n47pkrrmw20rd4f0m67qdhgs9xijc5swyrlj6yr61";
-    };
-  }
-  {
-    goPackagePath = "github.com/tidwall/match";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tidwall/match";
-      rev = "1731857f09b1f38450e2c12409748407822dc6be";
-      sha256 = "14nv96h0mjki5q685qx8y331h4yga6hlfh3z9nz6acvnv284q578";
-    };
-  }
-  {
-    goPackagePath = "github.com/tidwall/rtree";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tidwall/rtree";
-      rev = "6cd427091e0e662cb4f8e2c9eb1a41e1c46ff0d3";
-      sha256 = "0s3h3zjmz60d92gsb3vfqfbrgnjyai607adxg78674s1vdlm221l";
-    };
-  }
-  {
-    goPackagePath = "github.com/tidwall/tinyqueue";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tidwall/tinyqueue";
-      rev = "1e39f55115634cad2c504631c8bfcc292f2c9c55";
-      sha256 = "0yyl7qskmn9fb9h11z71ri30cml7d1k576wf1573wbqv59b81f2x";
-    };
-  }
-  {
-    goPackagePath = "github.com/tinylib/msgp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tinylib/msgp";
-      rev = "3b5c87ab5fb00c660bf85b888445d9a01db64db4";
-      sha256 = "0n30zjip3kips23w6wlp41nh4z2qc5cg8s1hf17kc3shnaj04n1n";
-    };
-  }
-  {
-    goPackagePath = "github.com/ugorji/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ugorji/go";
-      rev = "f3cacc17c85ecb7f1b6a9e373ee85d1480919868";
-      sha256 = "1g5jcxans5vjvg8k4wksilfx50izfhb9g0jdmcknlqbn17ww1fir";
-    };
-  }
-  {
-    goPackagePath = "github.com/urfave/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/cli";
-      rev = "8e01ec4cd3e2d84ab2fe90d8210528ffbb06d8ff";
-      sha256 = "0cpr10n4ps3gcdbcink71ry9hzhdb5rrcysmylybs8h2lzxqgc1i";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/go-logging";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/go-logging";
-      rev = "0457bb6b88fc1973573aaf6b5145d8d3ae972390";
-      sha256 = "1bl180mhg03hdqhyr5sfjcg16ns2ppal625g9ag5m10l2pvlwnqn";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/go-notifier";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/go-notifier";
-      rev = "097c5d47330ff6a823f67e3515faa13566a62c6f";
-      sha256 = "081h4a33603n0mlh53by1mg21rr42xjvxk7r10x8l4v671bq0kha";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/go-smux-multistream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/go-smux-multistream";
-      rev = "afa6825376c14a0462fd420a7d4b4d157c937a42";
-      sha256 = "14vimxvlz48js4mkq5fp2ni8qbs0h2spv3qjgnqbg3jfbi8ynn5k";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/go-smux-spdystream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/go-smux-spdystream";
-      rev = "a6182ff2a058b177f3dc7513fe198e6002f7be78";
-      sha256 = "1x2p5h73q90rz221xvhm29sampqbimhrajb5bglj8lqkh502ip7g";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/go-smux-yamux";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/go-smux-yamux";
-      rev = "49f324a2b63e778df703cf8e5a502bd56a683ef3";
-      sha256 = "15ndv8qr2n9k1icsxd7yismzdis0aasi28xcxqgw8nq2ldj9j9dz";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/mafmt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/mafmt";
-      rev = "ab6a47300c1df531e468771e7d08fcd6d33f032e";
-      sha256 = "03is8fjnjpkp1pipgachf7cx76wa1wrlgijgw25qygkycyxins06";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/mdns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/mdns";
-      rev = "348bb87e5cd39b33dba9a33cb20802111e5ee029";
-      sha256 = "0z1qwras8yh3q05zvdifw1s3phbppbc0659qndamxsfq8jlds462";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/multiaddr-filter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/multiaddr-filter";
-      rev = "e903e4adabd70b78bc9293b6ee4f359afb3f9f59";
-      sha256 = "0ksd8vnp207dvphmhrazwldj8if900fnyc1pqa9pfvj04qp92640";
-    };
-  }
-  {
-    goPackagePath = "github.com/whyrusleeping/yamux";
-    fetch = {
-      type = "git";
-      url = "https://github.com/whyrusleeping/yamux";
-      rev = "63d22127b261bf7014885d25fabe034bed14f04b";
-      sha256 = "0xifqmpcj1awjhqif2fc62vj7bds34q95lw1a3pi0sqmla6r8xhc";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "8b1d31080a7692e075c4681cb2458454a1fe0706";
-      sha256 = "1l5n2vjyxrsmhqn5nas68mf58f2kcnb5zyqrcar608bxh9dlsnsl";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "640f4622ab692b87c2f3a94265e6f579fe38263d";
-      sha256 = "097m4qhcljhp180171j5fjhq4740iirfkkajfd7yrxqhp4s9hljx";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "78d5f264b493f125018180c204871ecf58a2dce1";
-      sha256 = "0x23n60wskys39dwybz5za77ldky9i518kp58ragpd5528kcc68s";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "7922cc490dd5a7dbaa7fd5d6196b49db59ac042f";
-      sha256 = "06sicjc24hv7v9p1l6psaq87w4lycx3mjixd6gsd1wnd4jhqvlnr";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/mgo.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/mgo.v2";
-      rev = "3f83fa5005286a7fe593b055f0d7771a7dce4655";
-      sha256 = "19vwb6qlcyh3nh6pkk0bynwmr5cmi6mm4hdz01lwb4ybnkzxryc7";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/sourcemap.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/sourcemap.v1";
-      rev = "6e83acea0053641eff084973fee085f0c193c61a";
-      sha256 = "08rf2dl13hbnm3fq2cm0nnsspy9fhf922ln23cz5463cv7h62as4";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
-      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
-    };
-  }
-]
diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix
index 40c55e9f5d788..c2bb51cc14a01 100644
--- a/pkgs/servers/home-assistant/appdaemon.nix
+++ b/pkgs/servers/home-assistant/appdaemon.nix
@@ -18,7 +18,6 @@ python3.pkgs.buildPythonApplication rec {
   pythonRelaxDeps = true;
 
   nativeBuildInputs = with python3.pkgs; [
-    pythonRelaxDepsHook
     setuptools
   ];
 
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index e7db616aa9156..77e03da4ae005 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,13 +2,12 @@
 # Do not edit!
 
 {
-  version = "2024.6.4";
+  version = "2024.7.2";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
     "abode" = ps: with ps; [
       jaraco-abode
-      jaraco-functools
     ];
     "accuweather" = ps: with ps; [
       accuweather
@@ -52,7 +51,8 @@
     "air_quality" = ps: with ps; [
     ];
     "airgradient" = ps: with ps; [
-    ]; # missing inputs: airgradient
+      airgradient
+    ];
     "airly" = ps: with ps; [
       airly
     ];
@@ -111,10 +111,6 @@
       aioairzone-cloud
     ];
     "aladdin_connect" = ps: with ps; [
-      fnv-hash-fast
-      genie-partner-sdk
-      psutil-home-assistant
-      sqlalchemy
     ];
     "alarm_control_panel" = ps: with ps; [
     ];
@@ -213,13 +209,21 @@
       apprise
     ];
     "aprilaire" = ps: with ps; [
-    ]; # missing inputs: pyaprilaire
+      pyaprilaire
+    ];
     "aprs" = ps: with ps; [
       aprslib
       geopy
     ];
     "apsystems" = ps: with ps; [
-    ]; # missing inputs: apsystems-ez1
+      apsystems-ez1
+    ];
+    "aquacell" = ps: with ps; [
+      fnv-hash-fast
+      ifaddr
+      psutil-home-assistant
+      sqlalchemy
+    ]; # missing inputs: aioaquacell
     "aqualogic" = ps: with ps; [
       aqualogic
     ];
@@ -267,7 +271,7 @@
     "arve" = ps: with ps; [
     ]; # missing inputs: asyncarve
     "arwn" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "aseko_pool_live" = ps: with ps; [
       aioaseko
@@ -333,7 +337,7 @@
     ];
     "axis" = ps: with ps; [
       axis
-      paho-mqtt
+      paho-mqtt_1
     ];
     "azure_data_explorer" = ps: with ps; [
     ]; # missing inputs: azure-kusto-data azure-kusto-ingest
@@ -627,9 +631,6 @@
     "channels" = ps: with ps; [
       pychannels
     ];
-    "circuit" = ps: with ps; [
-      circuit-webhook
-    ];
     "cisco_ios" = ps: with ps; [
       pexpect
     ];
@@ -689,7 +690,7 @@
     "command_line" = ps: with ps; [
     ];
     "compensation" = ps: with ps; [
-      numpy
+      numpy_1
     ];
     "concord232" = ps: with ps; [
     ]; # missing inputs: concord232
@@ -786,7 +787,7 @@
       home-assistant-intents
       ifaddr
       mutagen
-      numpy
+      numpy_1
       pillow
       psutil-home-assistant
       pynacl
@@ -808,12 +809,8 @@
       deluge-client
     ];
     "demo" = ps: with ps; [
-      fnv-hash-fast
       hassil
       home-assistant-intents
-      pillow
-      psutil-home-assistant
-      sqlalchemy
     ];
     "denon" = ps: with ps; [
     ];
@@ -833,10 +830,7 @@
     "device_automation" = ps: with ps; [
     ];
     "device_sun_light_trigger" = ps: with ps; [
-      fnv-hash-fast
       pillow
-      psutil-home-assistant
-      sqlalchemy
     ];
     "device_tracker" = ps: with ps; [
     ];
@@ -955,13 +949,13 @@
     ];
     "drop_connect" = ps: with ps; [
       dropmqttapi
-      paho-mqtt
+      paho-mqtt_1
     ];
     "dsmr" = ps: with ps; [
       dsmr-parser
     ];
     "dsmr_reader" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "dte_energy_bridge" = ps: with ps; [
     ];
@@ -1072,7 +1066,7 @@
       pyemby
     ];
     "emoncms" = ps: with ps; [
-    ];
+    ]; # missing inputs: pyemoncms
     "emoncms_history" = ps: with ps; [
     ];
     "emonitor" = ps: with ps; [
@@ -1148,6 +1142,7 @@
       bluetooth-auto-recovery
       bluetooth-data-tools
       dbus-fast
+      eq3btsmart
       esphome-dashboard-api
       fnv-hash-fast
       ha-ffmpeg
@@ -1162,7 +1157,7 @@
       sqlalchemy
       webrtc-noise-gain
       zeroconf
-    ]; # missing inputs: eq3btsmart
+    ];
     "escea" = ps: with ps; [
       pescea
     ];
@@ -1439,7 +1434,7 @@
     "fujitsu_anywair" = ps: with ps; [
     ];
     "fully_kiosk" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
       python-fullykiosk
     ];
     "futurenow" = ps: with ps; [
@@ -1578,7 +1573,6 @@
       hassil
       home-assistant-intents
       mutagen
-      voluptuous-openapi
       webrtc-noise-gain
     ];
     "google_mail" = ps: with ps; [
@@ -1667,10 +1661,6 @@
     "greenwave" = ps: with ps; [
     ]; # missing inputs: greenwavereality
     "group" = ps: with ps; [
-      fnv-hash-fast
-      pillow
-      psutil-home-assistant
-      sqlalchemy
     ];
     "growatt_server" = ps: with ps; [
       growattserver
@@ -2147,7 +2137,7 @@
       pyipp
     ];
     "iqvia" = ps: with ps; [
-      numpy
+      numpy_1
       pyiqvia
     ];
     "irish_rail_transport" = ps: with ps; [
@@ -2161,6 +2151,9 @@
     ];
     "iss" = ps: with ps; [
     ]; # missing inputs: pyiss
+    "ista_ecotrend" = ps: with ps; [
+      pyecotrend-ista
+    ];
     "isy994" = ps: with ps; [
       pyisy
     ];
@@ -2280,6 +2273,9 @@
     "kmtronic" = ps: with ps; [
       pykmtronic
     ];
+    "knocki" = ps: with ps; [
+      knocki
+    ];
     "knx" = ps: with ps; [
       fnv-hash-fast
       home-assistant-frontend
@@ -2604,7 +2600,7 @@
     "manual" = ps: with ps; [
     ];
     "manual_mqtt" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "map" = ps: with ps; [
       fnv-hash-fast
@@ -2637,6 +2633,9 @@
     ];
     "mazda" = ps: with ps; [
     ];
+    "mealie" = ps: with ps; [
+      aiomealie
+    ];
     "meater" = ps: with ps; [
       meater-python
     ];
@@ -2912,19 +2911,19 @@
       mpd2
     ];
     "mqtt" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "mqtt_eventstream" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "mqtt_json" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "mqtt_room" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "mqtt_statestream" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "msteams" = ps: with ps; [
       pymsteams
@@ -2948,7 +2947,7 @@
     "myq" = ps: with ps; [
     ];
     "mysensors" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
       pymysensors
     ];
     "mystrom" = ps: with ps; [
@@ -3162,8 +3161,7 @@
       pyownet
     ];
     "onkyo" = ps: with ps; [
-      onkyo-eiscp
-    ];
+    ]; # missing inputs: pyeiscp
     "onvif" = ps: with ps; [
       ha-ffmpeg
       onvif-zeep-async
@@ -3178,7 +3176,6 @@
       home-assistant-intents
       mutagen
       openai
-      voluptuous-openapi
       webrtc-noise-gain
     ];
     "openalpr_cloud" = ps: with ps; [
@@ -3303,7 +3300,7 @@
       hassil
       home-assistant-intents
       mutagen
-      paho-mqtt
+      paho-mqtt_1
       psutil-home-assistant
       pynacl
       python-matter-server
@@ -3512,12 +3509,14 @@
       aiopvpc
     ];
     "pyload" = ps: with ps; [
+      pyloadapi
     ];
     "python_script" = ps: with ps; [
       restrictedpython
     ];
     "qbittorrent" = ps: with ps; [
-    ]; # missing inputs: python-qbittorrent
+      qbittorrent-api
+    ];
     "qingping" = ps: with ps; [
       aioesphomeapi
       aioruuvigateway
@@ -3893,7 +3892,6 @@
     ]; # missing inputs: scsgate
     "search" = ps: with ps; [
       fnv-hash-fast
-      pillow
       psutil-home-assistant
       sqlalchemy
     ];
@@ -4151,7 +4149,7 @@
       snapcast
     ];
     "snips" = ps: with ps; [
-      paho-mqtt
+      paho-mqtt_1
     ];
     "snmp" = ps: with ps; [
       pysnmp-lextudio
@@ -4184,13 +4182,13 @@
       zeroconf
     ];
     "solaredge" = ps: with ps; [
+      aiosolaredge
       stringcase
-    ]; # missing inputs: aiosolaredge
+    ];
     "solaredge_local" = ps: with ps; [
     ]; # missing inputs: solaredge-local
     "solarlog" = ps: with ps; [
-      sunwatcher
-    ];
+    ]; # missing inputs: solarlog_cli
     "solax" = ps: with ps; [
       solax
     ];
@@ -4303,7 +4301,7 @@
     ]; # missing inputs: stookwijzer
     "stream" = ps: with ps; [
       ha-av
-      numpy
+      numpy_1
       pyturbojpeg
     ];
     "streamlabswater" = ps: with ps; [
@@ -4439,7 +4437,7 @@
     ]; # missing inputs: tapsaff
     "tasmota" = ps: with ps; [
       hatasmota
-      paho-mqtt
+      paho-mqtt_1
     ];
     "tautulli" = ps: with ps; [
       pytautulli
@@ -4472,13 +4470,9 @@
       temperusb
     ];
     "template" = ps: with ps; [
-      fnv-hash-fast
-      pillow
-      psutil-home-assistant
-      sqlalchemy
     ];
     "tensorflow" = ps: with ps; [
-      numpy
+      numpy_1
       pillow
       pycocotools
       tensorflow
@@ -4490,6 +4484,7 @@
       tesla-fleet-api
     ];
     "tessie" = ps: with ps; [
+      tesla-fleet-api
     ]; # missing inputs: tessie-api
     "text" = ps: with ps; [
     ];
@@ -4709,7 +4704,7 @@
     "travisci" = ps: with ps; [
     ]; # missing inputs: TravisPy
     "trend" = ps: with ps; [
-      numpy
+      numpy_1
     ];
     "tts" = ps: with ps; [
       ha-ffmpeg
@@ -5242,6 +5237,7 @@
     "aftership"
     "agent_dvr"
     "air_quality"
+    "airgradient"
     "airly"
     "airnow"
     "airq"
@@ -5275,7 +5271,9 @@
     "apple_tv"
     "application_credentials"
     "apprise"
+    "aprilaire"
     "aprs"
+    "apsystems"
     "aranet"
     "arcam_fmj"
     "aseko_pool_live"
@@ -5410,6 +5408,7 @@
     "environment_canada"
     "epion"
     "epson"
+    "eq3btsmart"
     "escea"
     "esphome"
     "eufylife_ble"
@@ -5550,6 +5549,7 @@
     "image_processing"
     "image_upload"
     "imap"
+    "incomfort"
     "influxdb"
     "inkbird"
     "input_boolean"
@@ -5568,6 +5568,7 @@
     "ipp"
     "iqvia"
     "isal"
+    "ista_ecotrend"
     "isy994"
     "izone"
     "jellyfin"
@@ -5581,6 +5582,7 @@
     "kira"
     "kitchen_sink"
     "kmtronic"
+    "knocki"
     "knx"
     "kodi"
     "konnected"
@@ -5634,6 +5636,7 @@
     "matter"
     "maxcube"
     "mazda"
+    "mealie"
     "meater"
     "media_extractor"
     "media_player"
@@ -5667,6 +5670,7 @@
     "motionblinds_ble"
     "motioneye"
     "motionmount"
+    "mpd"
     "mqtt"
     "mqtt_eventstream"
     "mqtt_json"
@@ -5736,6 +5740,7 @@
     "opower"
     "oralb"
     "otbr"
+    "otp"
     "overkiz"
     "ovo_energy"
     "owntracks"
@@ -5771,7 +5776,9 @@
     "pushover"
     "pvoutput"
     "pvpc_hourly_pricing"
+    "pyload"
     "python_script"
+    "qbittorrent"
     "qingping"
     "qld_bushfire"
     "qnap"
@@ -5872,7 +5879,7 @@
     "snips"
     "snmp"
     "snooz"
-    "solarlog"
+    "solaredge"
     "solax"
     "soma"
     "somfy_mylink"
diff --git a/pkgs/servers/home-assistant/custom-components/alarmo/default.nix b/pkgs/servers/home-assistant/custom-components/alarmo/default.nix
new file mode 100644
index 0000000000000..ace6633a8c6ed
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-components/alarmo/default.nix
@@ -0,0 +1,31 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildHomeAssistantComponent,
+}:
+
+buildHomeAssistantComponent rec {
+  owner = "nielsfaber";
+  domain = "alarmo";
+  version = "1.10.4";
+
+  postInstall = ''
+    cd $out/custom_components/alarmo/frontend
+    ls . | grep -v dist | xargs rm -rf
+  '';
+
+  src = fetchFromGitHub {
+    owner = "nielsfaber";
+    repo = "alarmo";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-/hNzGPckLHUX0mrBF3ugAXstrOc1mWdati+nRJCwldc=";
+  };
+
+  meta = with lib; {
+    changelog = "https://github.com/nielsfaber/alarmo/releases/tag/v${version}";
+    description = "Alarm System for Home Assistant";
+    homepage = "https://github.com/nielsfaber/alarmo";
+    maintainers = with maintainers; [ mindstorms6 ];
+    license = licenses.unfree;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix
index 3a1184016f3ef..1acebef482171 100644
--- a/pkgs/servers/home-assistant/custom-components/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/default.nix
@@ -4,12 +4,16 @@
 {
   adaptive_lighting = callPackage ./adaptive_lighting {};
 
+  alarmo = callPackage ./alarmo {};
+
   auth-header = callPackage ./auth-header {};
 
   awtrix = callPackage ./awtrix {};
 
   better_thermostat = callPackage ./better_thermostat {};
 
+  elevenlabs_tts = callPackage ./elevenlabs_tts {};
+
   emporia_vue = callPackage ./emporia_vue {};
 
   epex_spot = callPackage ./epex_spot {};
@@ -42,6 +46,8 @@
 
   prometheus_sensor = callPackage ./prometheus_sensor {};
 
+  samsungtv-smart = callPackage ./samsungtv-smart {};
+
   sensi = callPackage ./sensi {};
 
   smartir = callPackage ./smartir {};
diff --git a/pkgs/servers/home-assistant/custom-components/elevenlabs_tts/default.nix b/pkgs/servers/home-assistant/custom-components/elevenlabs_tts/default.nix
new file mode 100644
index 0000000000000..f69117f215476
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-components/elevenlabs_tts/default.nix
@@ -0,0 +1,26 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildHomeAssistantComponent,
+}:
+
+buildHomeAssistantComponent rec {
+  owner = "carleeno";
+  domain = "elevenlabs_tts";
+  version = "2.3.0";
+
+  src = fetchFromGitHub {
+    owner = "carleeno";
+    repo = "elevenlabs_tts";
+    rev = "refs/tags/${version}";
+    hash = "sha256-7/Di3K7b0IzxatqBXqgVeMziRwalOVmIJ5IuEWJVjkE=";
+  };
+
+  meta = with lib; {
+    changelog = "https://github.com/carleeno/elevenlabs_tts/releases/tag/${version}";
+    description = "Home Assistant Eleven Labs TTS Integration";
+    homepage = "https://github.com/carleeno/elevenlabs_tts";
+    maintainers = with maintainers; [ mindstorms6 ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix b/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix
index 85bef161595e0..136c36010442d 100644
--- a/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix
@@ -7,13 +7,13 @@
 buildHomeAssistantComponent rec {
   owner = "mampfes";
   domain = "epex_spot";
-  version = "2.3.7";
+  version = "2.3.8";
 
   src = fetchFromGitHub {
     owner = "mampfes";
     repo = "ha_epex_spot";
     rev = "refs/tags/${version}";
-    hash = "sha256-8cxEOCzlQbS3HbQMBo7/rZb/GfpJvOWayLttEaEENYs=";
+    hash = "sha256-BwNDI2OMF6bXqFcdr0AJgj9Gb6Uz8BWOfE7M4jqzQJc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/home-assistant/custom-components/moonraker/default.nix b/pkgs/servers/home-assistant/custom-components/moonraker/default.nix
index a134f8ff4f140..40601bef0e2ca 100644
--- a/pkgs/servers/home-assistant/custom-components/moonraker/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/moonraker/default.nix
@@ -7,13 +7,13 @@
 buildHomeAssistantComponent rec {
   owner = "marcolivierarsenault";
   domain = "moonraker";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "marcolivierarsenault";
     repo = "moonraker-home-assistant";
     rev = "refs/tags/${version}";
-    hash = "sha256-utxCHXVpP4FQT2poVuS4cMZGgn7yO89lUw5KhIHRXKQ=";
+    hash = "sha256-e1Bdhv6YSz9yhIx5SDKfRxq0f6Fr0oc0vzpOqPPMxmc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/home-assistant/custom-components/samsungtv-smart/default.nix b/pkgs/servers/home-assistant/custom-components/samsungtv-smart/default.nix
new file mode 100644
index 0000000000000..f4af035e51fe6
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-components/samsungtv-smart/default.nix
@@ -0,0 +1,37 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildHomeAssistantComponent,
+  aiofiles,
+  casttube,
+  websocket-client,
+  wakeonlan,
+}:
+
+buildHomeAssistantComponent rec {
+  owner = "ollo69";
+  domain = "samsungtv_smart";
+  version = "0.13.5";
+
+  src = fetchFromGitHub {
+    owner = "ollo69";
+    repo = "ha-samsungtv-smart";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-12wx8HaTEFQZOnxfcuAKFOXPdDpfAl608N1E6gmWqBI=";
+  };
+
+  dependencies = [
+    aiofiles
+    casttube
+    websocket-client
+    wakeonlan
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/ollo69/ha-samsungtv-smart/releases/tag/v${version}";
+    description = "Home Assistant Samsung TV Integration ";
+    homepage = "https://github.com/ollo69/ha-samsungtv-smart";
+    maintainers = with maintainers; [ mindstorms6 ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix
index 6ac81c919b2ff..4ace5abd23eb4 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "mushroom";
-  version = "3.6.2";
+  version = "3.6.3";
 
   src = fetchFromGitHub {
     owner = "piitaya";
     repo = "lovelace-mushroom";
     rev = "v${version}";
-    hash = "sha256-sH0Qgiv4VeWwWV3RFnp2M4RH79S+PR8Z2nhPtQp0EnY=";
+    hash = "sha256-v7qp2sDHmicikaNc9oNsKPwzmhMI+Cl1LqNuLI1EAdw=";
   };
 
-  npmDepsHash = "sha256-L7r417eCfelQM6ZxxJvkZdGBhPmcM2mSHvLa8RN0D8k=";
+  npmDepsHash = "sha256-Is5GhzYCJicTZ/D0n3U/RrEZmLUB3U7B1LwSJaguZEM=";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 82822e1c1ff8b..1f3cba59882b4 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -93,18 +93,6 @@ let
         '';
       });
 
-      aiowithings = super.aiowithings.overridePythonAttrs (oldAttrs: rec {
-        version = "2.1.0";
-        src = fetchFromGitHub {
-          inherit (oldAttrs.src)
-            owner
-            repo
-          ;
-          rev = "refs/tags/${version}";
-          hash = "sha256-+pIIVCR+QsW9M3pH9Ss3dMvkeKM1OdhQ1y+s/T6pHtk=";
-        };
-      });
-
       astral = super.astral.overridePythonAttrs (oldAttrs: rec {
         pname = "astral";
         version = "2.2";
@@ -192,64 +180,15 @@ let
         doCheck = false; # requires asynctest, which does not work on python 3.11
       });
 
-      jaraco-abode = super.jaraco-abode.overridePythonAttrs (oldAttrs: rec {
-        version = "3.3.0";
+      openhomedevice = super.openhomedevice.overridePythonAttrs (oldAttrs: rec {
+        version = "2.2";
         src = fetchFromGitHub {
           inherit (oldAttrs.src) owner repo;
-          rev = "refs/tags/v${version}";
-          hash = "sha256-LnbWzIST+GMtdsHDKg67WWt9GmHUcSuGZ5Spei3nEio=";
-        };
-      });
-
-      jaraco-collections = super.jaraco-collections.overridePythonAttrs (oldAttrs: rec {
-        version = "3.4.0";
-        src = fetchPypi {
-          pname = "jaraco.collections";
-          inherit version;
-          hash = "sha256-NE0Udp1xbnSWr4eaxxs8br3UarxkvZ7CHRUkg2WqOsk=";
-        };
-      });
-
-      jaraco-functools = super.jaraco-functools.overridePythonAttrs (oldAttrs: rec {
-        version = "3.9.0";
-        src = fetchPypi {
-          pname = "jaraco.functools";
-          inherit version;
-          hash = "sha256-ixN7D+rMF/70us7gTAEcnobyNBCZyHCh0S0743sypjg=";
-        };
-      });
-
-      lmcloud = super.lmcloud.overridePythonAttrs (oldAttrs: rec {
-        version = "0.4.35";
-        src = fetchFromGitHub {
-          owner = "zweckj";
-          repo = "lmcloud";
-          rev = "refs/tags/v${version}";
-          hash = "sha256-TUve21yamtEmEceK/V1w7IZjnMgKConMfSY/GlqFpp8=";
+          rev = "refs/tags/${version}";
+          hash = "sha256-GGp7nKFH01m1KW6yMkKlAdd26bDi8JDWva6OQ0CWMIw=";
         };
       });
 
-      lxml = super.lxml.overridePythonAttrs (oldAttrs: rec {
-        version = "5.1.0";
-        pyprojet = true;
-
-        src = fetchFromGitHub {
-          owner = "lxml";
-          repo = "lxml";
-          rev = "refs/tags/lxml-${version}";
-          hash = "sha256-eWLYzZWatYDmhuBTZynsdytlNFKKmtWQ1XIyzVD8sDY=";
-        };
-
-        nativeBuildInputs = with self; [
-          cython
-          setuptools
-          libxml2.dev
-          libxslt.dev
-        ];
-
-        patches = [];
-      });
-
       pymelcloud = super.pymelcloud.overridePythonAttrs (oldAttrs: {
         version = "2.5.9";
         src = fetchFromGitHub {
@@ -282,17 +221,6 @@ let
         doCheck = false; # no tests
       });
 
-      # Can probably be removed with 2024.6.0
-      plugwise = super.plugwise.overridePythonAttrs rec {
-        version = "0.37.3";
-        src = fetchFromGitHub {
-          owner = "plugwise";
-          repo = "python-plugwise";
-          rev = "refs/tags/v${version}";
-          hash = "sha256-aQz0p+DNi1XVoFwdFjc3RjpHqA2kGf4pU1QS6m271gU=";
-        };
-      };
-
       # Pinned due to API changes in 0.1.0
       poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec {
         version = "0.0.8";
@@ -434,7 +362,6 @@ let
         };
         nativeBuildInputs = with self; [
           flit-core
-          pythonRelaxDepsHook
         ];
         pythonRelaxDeps = [
           "betterproto"
@@ -549,7 +476,7 @@ let
   extraBuildInputs = extraPackages python.pkgs;
 
   # Don't forget to run update-component-packages.py after updating
-  hassVersion = "2024.6.4";
+  hassVersion = "2024.7.2";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -567,17 +494,16 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-WIAFTVNHzrKTRONmOc/lq5PvC34PDKF7UfIokLCVzNY=";
+    hash = "sha256-FML1JZFj2xebcQvXJmBu02Eczz3ejg4r7PfnpBiDc50=";
   };
 
   # Secondary source is pypi sdist for translations
   sdist = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ymv3AlArAD2rSXQwMhEVeynwhAo8ZMrtV1zUK4U8xqQ=";
+    hash = "sha256-okukdAbBXJCaDpnOCDY91dsLQdm5pMJ1SKXV9A68eoQ=";
   };
 
   build-system = with python.pkgs; [
-    pythonRelaxDepsHook
     setuptools
   ];
 
@@ -664,6 +590,7 @@ in python.pkgs.buildPythonApplication rec {
     ulid-transform
     urllib3
     voluptuous
+    voluptuous-openapi
     voluptuous-serialize
     yarl
     # REQUIREMENTS in homeassistant/auth/mfa_modules/totp.py and homeassistant/auth/mfa_modules/notify.py
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index f3e6062d5b266..f03474206247a 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20240610.1";
+  version = "20240710.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    hash = "sha256-6XSDKPL+rbtP/jGYbvzc5cakEZC94sDetmPuM7TQQ64=";
+    hash = "sha256-EP4r59sgrLuK+n3ydq4LMCUS4xsT2XYE2OvK9N+Gd+M=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix
index 88944efe35930..38d237a704404 100644
--- a/pkgs/servers/home-assistant/intents.nix
+++ b/pkgs/servers/home-assistant/intents.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-intents";
-  version = "2024.6.21";
+  version = "2024.7.3";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "home-assistant";
     repo = "intents-package";
     rev = "refs/tags/${version}";
-    hash = "sha256-tgbZqcxv/uFoNCGq7TySffhqQXzupZodQfQHBqkSHrE=";
+    hash = "sha256-3JnBmSNa9Yrh+5QFQ6KIKZProxMuX+CyTZzqRUAlBcQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix
index 4d14ee508bcba..58a30d1c87b60 100644
--- a/pkgs/servers/home-assistant/stubs.nix
+++ b/pkgs/servers/home-assistant/stubs.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "homeassistant-stubs";
-  version = "2024.6.3";
+  version = "2024.7.2";
   pyproject = true;
 
   disabled = python.version != home-assistant.python.version;
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "KapJI";
     repo = "homeassistant-stubs";
     rev = "refs/tags/${version}";
-    hash = "sha256-YMoNoR9LT38nkqoo0seaP88XUOcVmSQN1dBKiW+13SM=";
+    hash = "sha256-MMFt8TGWB+7wUKYWL4IJyhI3YOumll8Jq5GWZpaZZ8I=";
   };
 
   build-system = [
diff --git a/pkgs/servers/home-assistant/update-component-packages.py b/pkgs/servers/home-assistant/update-component-packages.py
index df410fb498627..e46f297174317 100755
--- a/pkgs/servers/home-assistant/update-component-packages.py
+++ b/pkgs/servers/home-assistant/update-component-packages.py
@@ -41,7 +41,10 @@ PKG_SET = "home-assistant.python.pkgs"
 PKG_PREFERENCES = {
     "fiblary3": "fiblary3-fork",  # https://github.com/home-assistant/core/issues/66466
     "HAP-python": "hap-python",
+    "numpy": "numpy_1",
     "ollama-hass": "ollama",
+    "paho-mqtt": "paho-mqtt_1",
+    "sentry-sdk": "sentry-sdk",
     "slackclient": "slack-sdk",
     "SQLAlchemy": "sqlalchemy",
     "tensorflow": "tensorflow",
diff --git a/pkgs/servers/home-automation/evcc/default.nix b/pkgs/servers/home-automation/evcc/default.nix
index b20fbee945913..9bf43a9136035 100644
--- a/pkgs/servers/home-automation/evcc/default.nix
+++ b/pkgs/servers/home-automation/evcc/default.nix
@@ -1,11 +1,11 @@
 { lib
 , stdenv
-, buildGo122Module
+, buildGoModule
 , fetchFromGitHub
 , fetchNpmDeps
 , cacert
-, go_1_22
 , git
+, go
 , enumer
 , mockgen
 , nodejs
@@ -14,27 +14,22 @@
 , nixosTests
 }:
 
-let
-  buildGoModule = buildGo122Module;
-  go = go_1_22;
-in
-
 buildGoModule rec {
   pname = "evcc";
-  version = "0.127.2";
+  version = "0.128.1";
 
   src = fetchFromGitHub {
     owner = "evcc-io";
     repo = "evcc";
     rev = version;
-    hash = "sha256-85AhiqAvjr63tfXovH2bt1b583ak1N09EtbLLtW7qeA=";
+    hash = "sha256-xoLQcCbqzeNUyVPkcrPhmNi8PUzzeGshFVvmMCudQU8=";
   };
 
-  vendorHash = "sha256-MdfLJpPEi6Cr34W6eJSraKJwBPtR66HM2tJIbPE9mZs=";
+  vendorHash = "sha256-O8chNEtNEbzNiFzDD1j16V6eS3GKpUWB4PMuBiRNsyU=";
 
   npmDeps = fetchNpmDeps {
     inherit src;
-    hash = "sha256-6Dxf32myqRbKIlYFcQhkuqZVz+lVvmeJ5lqiWPCQAzA=";
+    hash = "sha256-XG9nefBefF2gdDWA9IYBI2dv6Lig2LqGgOnTjyni0fM=";
   };
 
   nativeBuildInputs = [
@@ -78,6 +73,7 @@ buildGoModule rec {
     skippedTests = [
       # network access
       "TestOctopusConfigParse"
+      "TestTemplates/ac-elwa-2"
       "TestTemplates/allinpower"
       "TestTemplates/electricitymaps"
       "TestTemplates/elering"
diff --git a/pkgs/servers/homepage-dashboard/default.nix b/pkgs/servers/homepage-dashboard/default.nix
index af35e6edfe3d2..6c3e753d8d565 100644
--- a/pkgs/servers/homepage-dashboard/default.nix
+++ b/pkgs/servers/homepage-dashboard/default.nix
@@ -27,13 +27,13 @@ let
 in
 buildNpmPackage rec {
   pname = "homepage-dashboard";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "gethomepage";
     repo = "homepage";
     rev = "v${version}";
-    hash = "sha256-4nSlL4m0SL3B7+lI/BGt1aY1UE46la7/4NU4BaJ7EwQ=";
+    hash = "sha256-2t3SGN/VsD16uupeqs7tW+dyTJgt8ch60OzbvE/21vg=";
   };
 
   npmDepsHash = "sha256-jYZUVwrOxoAbfHHSBkN5IlYhC6yZVVwRoZErkbYrjUs=";
diff --git a/pkgs/servers/http/angie/default.nix b/pkgs/servers/http/angie/default.nix
index c9e6ec815d3a0..c214fe1270adc 100644
--- a/pkgs/servers/http/angie/default.nix
+++ b/pkgs/servers/http/angie/default.nix
@@ -8,12 +8,12 @@
 }@args:
 
 callPackage ../nginx/generic.nix args rec {
-  version = "1.5.2";
+  version = "1.6.0";
   pname = if withQuic then "angieQuic" else "angie";
 
   src = fetchurl {
     url = "https://download.angie.software/files/angie-${version}.tar.gz";
-    hash = "sha256-jX0WBIdL3RQpgdeVf4oZByDNKQbrEjKbImC86Ceqkoc=";
+    hash = "sha256-yzEbYOxvt2SPTYD/Dw4SJDg94muKGan+QX51sf6xuU4=";
   };
 
   configureFlags = lib.optionals withAcme [
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index b3d499415dde4..44b2caa184f4b 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-httpd";
-  version = "2.4.59";
+  version = "2.4.61";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    hash = "sha256-7FFQHsSAKE/1L2NyWBNdMzIwp9Ipw6+m9sL5BA4yEyM=";
+    hash = "sha256-6ouob9lb1ZTRXkbSWsW72oKuDJEirZOZjMU5wTPqzrY=";
   };
 
   # FIXME: -dev depends on -doc
diff --git a/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix b/pkgs/servers/http/apache-modules/mod_jk/default.nix
index 20879d4aaf21b..22a50ea8feb67 100644
--- a/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_jk/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, apacheHttpd, jdk }:
 
 stdenv.mkDerivation rec {
-  pname = "tomcat-connectors";
-  version = "1.2.48";
+  pname = "mod_jk";
+  version = "1.2.49";
 
   src = fetchurl {
-    url = "mirror://apache/tomcat/tomcat-connectors/jk/${pname}-${version}-src.tar.gz";
-    sha256 = "15wfj1mvad15j1fqw67qbpbpwrcz3rb0zdhrq6z2sax1l05kc6yb";
+    url = "mirror://apache/tomcat/tomcat-connectors/jk/tomcat-connectors-${version}-src.tar.gz";
+    hash = "sha256-Q8sCg8koeOnU7xEGMdvSvra1VxPBJ84EMZCyswh1fpw=";
   };
 
   configureFlags = [
@@ -28,7 +28,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Provides web server plugins to connect web servers with Tomcat";
     homepage = "https://tomcat.apache.org/download-connectors.cgi";
+    changelog = "https://tomcat.apache.org/connectors-doc/miscellaneous/changelog.html";
     license = licenses.asl20;
+    maintainers = with maintainers; [ anthonyroussel ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index 2ea00c598e276..b33eb921ef368 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -24,9 +24,9 @@ let
     # However, the version string is more useful for end-users.
     # These are contained in a attrset of their own to make it obvious that
     # people should update both.
-    version = "1.30.3";
-    rev = "12a6a79966203969a23aa2f0d705f39b679744c2";
-    hash = "sha256-S18bnAVha4CnYKHTzytKY6PHWSbOzmObbyZEhzIHsf8=";
+    version = "1.30.4";
+    rev = "32113313a357829ba3a5dce0795b6780bf8cbf4d";
+    hash = "sha256-u9lTVe40pwXTt0YRwJXRuZonS5KJL2JQUQ3L9ymuA74=";
   };
 
   # these need to be updated for any changes to fetchAttrs
@@ -184,6 +184,8 @@ buildBazelPackage {
     "--repo_env=GOSUMDB=sum.golang.org"
   ];
 
+  requiredSystemFeatures = [ "big-parallel" ];
+
   passthru.tests = {
     envoy = nixosTests.envoy;
     # tested as a core component of Pomerium
diff --git a/pkgs/servers/http/hiawatha/default.nix b/pkgs/servers/http/hiawatha/default.nix
index f4a9277a332fa..adf60cdf32e4e 100644
--- a/pkgs/servers/http/hiawatha/default.nix
+++ b/pkgs/servers/http/hiawatha/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hiawatha";
-  version = "11.5";
+  version = "11.6";
 
   src = fetchFromGitLab {
     owner = "hsleisink";
     repo = "hiawatha";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-kswVBVL/QUQmCwH74qWwSwLz4uwDymuHIr8NokrrgEM=";
+    hash = "sha256-YsZdVqanVNibA4KnAknLh61hVo7x5uu67lb+RX2N7c8=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/servers/http/lwan/default.nix b/pkgs/servers/http/lwan/default.nix
index 14346530571ec..ccb0f2f622dda 100644
--- a/pkgs/servers/http/lwan/default.nix
+++ b/pkgs/servers/http/lwan/default.nix
@@ -1,16 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, zlib, cmake, enableJemalloc ? !stdenv.hostPlatform.isMusl, jemalloc }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, zlib, cmake, enableJemalloc ? !stdenv.hostPlatform.isMusl, jemalloc }:
 
 stdenv.mkDerivation rec {
   pname = "lwan";
-  version = "0.4";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "lpereira";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Z8kiuZHLEupCKFrj8guiu9fTG7s+5KiQ6x0pg9iMy0c=";
+    sha256 = "sha256-otiPH+e+auMCyeOTq4LJYaBNv+I91kOCww7DCepQTAQ=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/lpereira/lwan/commit/9b94ff5eecec1e925103b25a43dacc226a634878.patch";
+      hash = "sha256-g1ZwmEodtF1fkbIBaLT4YvH8EG8DGafHydPSYJra+c0=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [ zlib ] ++ lib.optional enableJemalloc jemalloc;
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index 5757b3255b8fe..9369259ff65eb 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -211,6 +211,6 @@ stdenv.mkDerivation {
     license     = [ licenses.bsd2 ]
       ++ concatMap (m: m.meta.license) modules;
     platforms   = platforms.all;
-    maintainers = with maintainers; [ fpletz raitobezarius ] ++ teams.helsinki-systems.members;
+    maintainers = with maintainers; [ fpletz raitobezarius ] ++ teams.helsinki-systems.members ++ teams.stridtech.members;
   };
 }
diff --git a/pkgs/servers/http/pomerium/default.nix b/pkgs/servers/http/pomerium/default.nix
index bd8873ce100e7..8e78b8f07287e 100644
--- a/pkgs/servers/http/pomerium/default.nix
+++ b/pkgs/servers/http/pomerium/default.nix
@@ -13,15 +13,15 @@ let
 in
 buildGoModule rec {
   pname = "pomerium";
-  version = "0.26.0";
+  version = "0.26.1";
   src = fetchFromGitHub {
     owner = "pomerium";
     repo = "pomerium";
     rev = "v${version}";
-    hash = "sha256-AkpfLKPirl8fz4s0hQI15aSgI2PZFPakAzC+j66MVY0=";
+    hash = "sha256-lMI6dVCTInqHsz4N0HsOVUQo8TkheAwr54FW46r+DUA=";
   };
 
-  vendorHash = "sha256-kabWL7yqNkI2JRPmVv0tp0nIfVDwT9QbbDIbdM8sL5s=";
+  vendorHash = "sha256-AHlnhAh4RBz8aJoFJjbX/MUDHq81xK7b7gvCyuV3gjU=";
 
   ui = mkYarnPackage {
     inherit version;
diff --git a/pkgs/servers/http/pshs/default.nix b/pkgs/servers/http/pshs/default.nix
deleted file mode 100644
index e7715881541a4..0000000000000
--- a/pkgs/servers/http/pshs/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libevent, file, qrencode, miniupnpc }:
-
-stdenv.mkDerivation rec {
-  pname = "pshs";
-  version = "0.3.4";
-
-  src = fetchFromGitHub {
-    owner = "mgorny";
-    repo = "pshs";
-    rev = "v${version}";
-    sha256 = "1j8j4r0vsmp6226q6jdgf9bzhx3qk7vdliwaw7f8kcsrkndkg6p4";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libevent file qrencode miniupnpc ];
-
-  # SSL requires libevent at 2.1 with ssl support
-  configureFlags = [ "--disable-ssl" ];
-
-  meta = {
-    description = "Pretty small HTTP server - a command-line tool to share files";
-    mainProgram = "pshs";
-    homepage = "https://github.com/mgorny/pshs";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/http/router/default.nix b/pkgs/servers/http/router/default.nix
index f915db2073d56..67673bb1efba8 100644
--- a/pkgs/servers/http/router/default.nix
+++ b/pkgs/servers/http/router/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "router";
-  version = "1.49.1";
+  version = "1.50.0";
 
   src = fetchFromGitHub {
     owner = "apollographql";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Dhl8CKXMeiZ38hDbNviKBzg6zmCpO2wJFWHHZbJXJWI=";
+    hash = "sha256-Inah2IcmWSyizsavXr2N5j2S2eAfocpxzjrAdhQlfjg=";
   };
 
-  cargoHash = "sha256-FbIUvjm1tYMbsWdwu78drUQuMjcl6Ju/pPV9pmWHcf4=";
+  cargoHash = "sha256-G4HjvVGRbgOteZvC1tt75HP+EJDGEkndVhADBm8B1C8=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix
index b2ec04f10f9d3..eb7be6d9de040 100644
--- a/pkgs/servers/http/tomcat/default.nix
+++ b/pkgs/servers/http/tomcat/default.nix
@@ -39,12 +39,12 @@ let
 
 in {
   tomcat9 = common {
-    version = "9.0.88";
-    hash = "sha256-vvgcyqT318ieqG61b2NDxRzXkzdMjswgOLen9eJ9Zig=";
+    version = "9.0.90";
+    hash = "sha256-MYSRxL5DSU5ocrUnfEDKyFBpAddErQnTffYuiFQ/YiM=";
   };
 
   tomcat10 = common {
-    version = "10.1.23";
-    hash = "sha256-pVcsnpD/geoWaB35cXa7ap9Texw/vg/7pSl/7lnDmKo=";
+    version = "10.1.25";
+    hash = "sha256-8SQKMrh5xEWkpEGcm23YdYG9uW+KUfewyhk1Fkux6EI=";
   };
 }
diff --git a/pkgs/servers/irc/atheme/default.nix b/pkgs/servers/irc/atheme/default.nix
index fd4f4773d7292..1b2f1a25ccfcd 100644
--- a/pkgs/servers/irc/atheme/default.nix
+++ b/pkgs/servers/irc/atheme/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     url = "https://github.com/atheme/atheme.git";
     rev = "v${version}";
-    sha256 = "sha256-KAC1ZPNo4TqfVryKOYYef8cRWRgFmyEdvl1bgvpGNiM=";
+    hash = "sha256-KAC1ZPNo4TqfVryKOYYef8cRWRgFmyEdvl1bgvpGNiM=";
     leaveDotGit = true;
   };
 
diff --git a/pkgs/servers/irc/ergochat/default.nix b/pkgs/servers/irc/ergochat/default.nix
index a705ed4483a01..1744361f8412d 100644
--- a/pkgs/servers/irc/ergochat/default.nix
+++ b/pkgs/servers/irc/ergochat/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ergo";
-  version = "2.13.1";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner = "ergochat";
     repo = "ergo";
     rev = "v${version}";
-    sha256 = "sha256-WQvXrG82hcPd4viA1cyIsTd5HbR0KD1b5r2me8MKoR8=";
+    sha256 = "sha256-vXspI0BkwpS9w7PQpj+U3REQcSPaPJAfIBRj62loQzQ=";
   };
 
   vendorHash = null;
diff --git a/pkgs/servers/irc/inspircd/default.nix b/pkgs/servers/irc/inspircd/default.nix
index 578c9aa314413..dd821ce119591 100644
--- a/pkgs/servers/irc/inspircd/default.nix
+++ b/pkgs/servers/irc/inspircd/default.nix
@@ -145,13 +145,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "inspircd";
-  version = "3.17.0";
+  version = "3.17.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-isLZKYf32+va66FGYMq4mWIEHNpqUWCcVhYWLA5lRwk=";
+    sha256 = "sha256-4jtIh6wpZ/rexnwhqicU1gUk6DerGLXM9OY+GkmiEnI=";
   };
 
   outputs = [ "bin" "lib" "man" "doc" "out" ];
diff --git a/pkgs/servers/irc/ircd-hybrid/default.nix b/pkgs/servers/irc/ircd-hybrid/default.nix
index 6ea011ab8076a..c94dd2b9ff69f 100644
--- a/pkgs/servers/irc/ircd-hybrid/default.nix
+++ b/pkgs/servers/irc/ircd-hybrid/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ircd-hybrid";
-  version = "8.2.44";
+  version = "8.2.45";
 
   src = fetchurl {
     url = "mirror://sourceforge/ircd-hybrid/ircd-hybrid-${version}.tgz";
-    sha256 = "sha256-a/DC/1/GQ9wXV6Iyyb1YJdM4kcfMGDfwJK1P/3xhxnk=";
+    sha256 = "sha256-lRrgMqsEqHtH5gIzngfg0Gtuh71aTrM087OVvhT3XkQ=";
   };
 
   buildInputs = [ openssl zlib libxcrypt ];
diff --git a/pkgs/servers/jellyseerr/default.nix b/pkgs/servers/jellyseerr/default.nix
index b469e46cf10d8..e0c5accca2ce5 100644
--- a/pkgs/servers/jellyseerr/default.nix
+++ b/pkgs/servers/jellyseerr/default.nix
@@ -11,20 +11,20 @@
 
 mkYarnPackage rec {
   pname = "jellyseerr";
-  version = "1.8.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "Fallenbagel";
     repo = "jellyseerr";
     rev = "v${version}";
-    hash = "sha256-B8Hnpi4XwK0WrHRgj7OSVUh49oRH9SVEHdzGbnDa8p8=";
+    hash = "sha256-TXe/k/pb7idu7G1wGu6TZksnoFQ5/PN0voVlve3k1UI=";
   };
 
   packageJSON = ./package.json;
 
   offlineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    hash = "sha256-ME19kHlVw0Q5oCytYQCUj4Ek0+712NkqB6eozOtF6/k=";
+    hash = "sha256-2iRxguxEI+YKm8ddhRgZMvfZuUgQmCK5ER4jMCFJQMQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/jellyseerr/package.json b/pkgs/servers/jellyseerr/package.json
index 39613efb5fad5..6e97347f75b7b 100644
--- a/pkgs/servers/jellyseerr/package.json
+++ b/pkgs/servers/jellyseerr/package.json
@@ -1,6 +1,6 @@
 {
   "name": "jellyseerr",
-  "version": "1.8.1",
+  "version": "1.9.2",
   "private": true,
   "scripts": {
     "dev": "nodemon -e ts --watch server --watch overseerr-api.yml -e .json,.ts,.yml -x ts-node -r tsconfig-paths/register --files --project server/tsconfig.json server/index.ts",
@@ -44,6 +44,7 @@
     "axios-rate-limit": "1.3.0",
     "bcrypt": "5.1.0",
     "bowser": "2.11.0",
+    "cacheable-lookup": "^7.0.0",
     "connect-typeorm": "1.1.4",
     "cookie-parser": "1.4.6",
     "copy-to-clipboard": "3.3.3",
diff --git a/pkgs/servers/jicofo/default.nix b/pkgs/servers/jicofo/default.nix
index 74751e8097ae8..b723bc1453312 100644
--- a/pkgs/servers/jicofo/default.nix
+++ b/pkgs/servers/jicofo/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jicofo";
-  version = "1.0-1078";
+  version = "1.0-1084";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "0+VfsolOcjC68DRrWUgYYCdKhCxd0x1Y6920OrixU5g=";
+    sha256 = "yuTiuLAKGfmAtwCi6Dn+Z+lStsVX6PWsFeXV8qiTtJU=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/jitsi-videobridge/default.nix b/pkgs/servers/jitsi-videobridge/default.nix
index 14437997ec7b5..4e258192c8861 100644
--- a/pkgs/servers/jitsi-videobridge/default.nix
+++ b/pkgs/servers/jitsi-videobridge/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jitsi-videobridge2";
-  version = "2.3-105-ge155b81e";
+  version = "2.3-149-g793df5a9";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "jQTZwnj1oECjUTD8dC6PF5tJcPye8FYUJmYEEBhBuRs=";
+    sha256 = "NI38XuBWSf+JoPCzAAd7Bma3PjprPw8CnE0W4VlqaVM=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix
index a7e93fcbce799..81d79121c6da8 100644
--- a/pkgs/servers/klipper/default.nix
+++ b/pkgs/servers/klipper/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "klipper";
-  version = "0.12.0-unstable-2024-06-27";
+  version = "0.12.0-unstable-2024-07-05";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "4d21ffc1d67d4aa9886cc691441afccc057b975d";
-    sha256 = "sha256-LvYEE3/VYgLK2c/NB4wey87025eoyADPV6w1CV/Uejs=";
+    rev = "00cb683def53be4b437bfb3e3a637d2d5879946c";
+    sha256 = "sha256-OtFUEhCZ8DrDfxKXYnLE/6/d2/4oyJYwSfKvsvbn/II=";
   };
 
   sourceRoot = "${src.name}/klippy";
diff --git a/pkgs/servers/krill/default.nix b/pkgs/servers/krill/default.nix
index 0f27b36be5227..a8847215d65cb 100644
--- a/pkgs/servers/krill/default.nix
+++ b/pkgs/servers/krill/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krill";
-  version = "0.14.4";
+  version = "0.14.5";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-J/QChAFjcUdtrfs5KUIRwfJdfCB/gRnIUNyinf66Slo=";
+    hash = "sha256-3pkDu20vgzslJcK5KQH+GY+jnimEZgm+bQxy8QMUeCk=";
   };
 
-  cargoHash = "sha256-Cwrgdo+mirH3kGXwBgCzeO1xiEhSrt/Fx8LxhaBJJLE=";
+  cargoHash = "sha256-Z12fUK4TUgk38/vNAt8RWLFGLc8WnZAgHWz0xl1QKLI=";
 
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index c49f606c8fd7c..0658b7a36fedb 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -53,6 +53,16 @@ stdenv.mkDerivation rec {
       url = "https://github.com/389ds/389-ds-base/commit/1fe029c495cc9f069c989cfbb09d449a078c56e2.patch";
       hash = "sha256-b0HSaDjuEUKERIXKg8np+lZDdZNmrCTAXybJzF+0hq0=";
     })
+    (fetchpatch {
+      name = "CVE-2024-2199.patch";
+      url = "https://git.rockylinux.org/staging/rpms/389-ds-base/-/raw/dae373bd6b4e7d6f35a096e6f27be1c3bf1e48ac/SOURCES/0004-CVE-2024-2199.patch";
+      hash = "sha256-grANphTafCoa9NQy+FowwPhGQnvuCbfGnSpQ1Wp69Vg=";
+    })
+    (fetchpatch {
+      name = "CVE-2024-3657.patch";
+      url = "https://git.rockylinux.org/staging/rpms/389-ds-base/-/raw/dae373bd6b4e7d6f35a096e6f27be1c3bf1e48ac/SOURCES/0005-CVE-2024-3657.patch";
+      hash = "sha256-CuiCXQp3PMiYERzFk7oH3T91yQ1dP/gtLNWF0eqGAQ4=";
+    })
   ];
 
   cargoDeps = rustPlatform.fetchCargoTarball {
diff --git a/pkgs/servers/ldap/lldap/default.nix b/pkgs/servers/ldap/lldap/default.nix
index 7db37e57c2d2b..80d7710ccbaf4 100644
--- a/pkgs/servers/ldap/lldap/default.nix
+++ b/pkgs/servers/ldap/lldap/default.nix
@@ -5,7 +5,6 @@
 , nixosTests
 , rustPlatform
 , rustc
-, stdenv
 , wasm-bindgen-cli
 , wasm-pack
 , which
@@ -85,9 +84,6 @@ in rustPlatform.buildRustPackage (commonDerivationAttrs // {
     changelog = "https://github.com/lldap/lldap/blob/v${lldap.version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
-    # See comment about wasm32-unknown-unknown in rustc.nix.
-    broken = lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] ||
-      !stdenv.hostPlatform.gcc.thumb or true;
     maintainers = with maintainers; [ bendlas ];
     mainProgram = "lldap";
   };
diff --git a/pkgs/servers/lidarr/default.nix b/pkgs/servers/lidarr/default.nix
index fb63c5e3376cd..4fa70976e8554 100644
--- a/pkgs/servers/lidarr/default.nix
+++ b/pkgs/servers/lidarr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, mono, libmediainfo, sqlite, curl, chromaprint, makeWrapper, icu, dotnet-runtime, openssl, nixosTests }:
+{ lib, stdenv, fetchurl, mono, libmediainfo, sqlite, curl, chromaprint, makeWrapper, icu, dotnet-runtime, openssl, nixosTests, zlib }:
 
 let
   os = if stdenv.isDarwin then "osx" else "linux";
@@ -8,13 +8,13 @@ let
     x86_64-darwin = "x64";
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   hash = {
-    x64-linux_hash = "sha256-tc7ODqFifTI7+FhCNmUBAv0s324T4yH4AHIVy64N3/I=";
-    arm64-linux_hash = "sha256-hmS7m1w07n+1+Eia+hA8oK8fJr+lWyqVq1FGjyRYwaQ=";
-    x64-osx_hash = "sha256-+t3cEFlk5Agkb14hx1H3WQfpKniJkPImWoRn6swuoOE=";
+    x64-linux_hash = "sha256-ulWg9BhDr/RFE4sfXGf+i9W0KpOYKjtk49qBeIwI9dU=";
+    arm64-linux_hash = "sha256-iSXXx89I7Pj2nAuapHwJtIblj+TDrd/k9OiBK8QExSg=";
+    x64-osx_hash = "sha256-xjnDePaxQWRNo1VmH1sbp0Xtvbac3nu0+fiMg0wMddg=";
   }."${arch}-${os}_hash";
 in stdenv.mkDerivation rec {
   pname = "lidarr";
-  version = "2.2.5.4141";
+  version = "2.3.3.4204";
 
   src = fetchurl {
     url = "https://github.com/lidarr/Lidarr/releases/download/v${version}/Lidarr.master.${version}.${os}-core-${arch}.tar.gz";
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
     makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Lidarr \
       --add-flags "$out/share/${pname}-${version}/Lidarr.dll" \
       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
-        curl sqlite libmediainfo icu  openssl ]}
+        curl sqlite libmediainfo icu  openssl zlib ]}
 
     runHook postInstall
   '';
diff --git a/pkgs/servers/ma1sd/default.nix b/pkgs/servers/ma1sd/default.nix
deleted file mode 100644
index a62edf64a6321..0000000000000
--- a/pkgs/servers/ma1sd/default.nix
+++ /dev/null
@@ -1,101 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchpatch
-, jre
-, git
-, gradle_7
-, perl
-, makeWrapper
-}:
-
-let
-  pname = "ma1sd";
-  version = "2.5.0";
-
-  src = fetchFromGitHub {
-    owner = "ma1uta";
-    repo = "ma1sd";
-    rev = version;
-    hash = "sha256-K3kaujAhWsRQuTMW3SZOnE7Rmu8+tDXaxpLrb45OI4A=";
-  };
-
-  gradle = gradle_7;
-
-  patches = [
-    # https://github.com/ma1uta/ma1sd/pull/122
-    (fetchpatch {
-      name = "java-16-compatibility.patch";
-      url = "https://github.com/ma1uta/ma1sd/commit/be2e2e97ce21741ca6a2e29a06f5748f45dd414e.patch";
-      hash = "sha256-dvCeK/0InNJtUG9CWrsg7BE0FGWtXuHo3TU0iFFUmIk=";
-    })
-  ];
-
-  deps = stdenv.mkDerivation {
-    pname = "${pname}-deps";
-    inherit src version patches;
-    nativeBuildInputs = [ gradle perl git ];
-
-    buildPhase = ''
-      export MA1SD_BUILD_VERSION=${version}
-      export GRADLE_USER_HOME=$(mktemp -d);
-      gradle --no-daemon build -x test
-    '';
-
-    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
-    installPhase = ''
-      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
-        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
-        | sh
-    '';
-
-    dontStrip = true;
-
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "sha256-Px8FLnREBC6pADcEPn/GfhrtGnmZqjXIX7l1xPjiCvQ=";
-  };
-
-in
-stdenv.mkDerivation {
-  inherit pname src version patches;
-  nativeBuildInputs = [ gradle perl makeWrapper ];
-  buildInputs = [ jre ];
-
-  postPatch = ''
-    substituteInPlace build.gradle \
-      --replace 'gradlePluginPortal()' "" \
-      --replace 'mavenCentral()' "mavenLocal(); maven { url '${deps}' }"
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-    export MA1SD_BUILD_VERSION=${version}
-    export GRADLE_USER_HOME=$(mktemp -d)
-
-    gradle --offline --no-daemon build -x test
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    install -D build/libs/source.jar $out/lib/ma1sd.jar
-    makeWrapper ${jre}/bin/java $out/bin/ma1sd --add-flags "-jar $out/lib/ma1sd.jar"
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Federated matrix identity server; fork of mxisd";
-    homepage = "https://github.com/ma1uta/ma1sd";
-    changelog = "https://github.com/ma1uta/ma1sd/releases/tag/${version}";
-    sourceProvenance = with sourceTypes; [
-      fromSource
-      binaryBytecode  # deps
-    ];
-    license = licenses.agpl3Only;
-    maintainers = with maintainers; [ mguentner ];
-    platforms = platforms.all;
-    mainProgram = "ma1sd";
-  };
-
-}
diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
index fe3d4a2c67b9e..283e47965110b 100644
--- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dovecot-fts-xapian";
-  version = "1.7.13";
+  version = "1.7.14";
 
   src = fetchFromGitHub {
     owner = "grosjo";
     repo = "fts-xapian";
     rev = version;
-    hash = "sha256-WStdB8oeMNHwjF+n254vZFFK5R+2pZhZcQPsVJ88og4=";
+    hash = "sha256-cLOkXA4kQ15M5TheXy9qZq2je05iY9jwf3tHw20l1Pw=";
   };
 
   buildInputs = [ xapian icu sqlite ];
diff --git a/pkgs/servers/mail/mailman/mailman-hyperkitty.nix b/pkgs/servers/mail/mailman/mailman-hyperkitty.nix
index dfec900b0214b..2aac1665f81b4 100644
--- a/pkgs/servers/mail/mailman/mailman-hyperkitty.nix
+++ b/pkgs/servers/mail/mailman/mailman-hyperkitty.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+Nad+8bMtYKJbUCpppRXqhB1zdbvvFXTTHlwJLQLzDg=";
+    hash = "sha256-+Nad+8bMtYKJbUCpppRXqhB1zdbvvFXTTHlwJLQLzDg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
index 749ed890e6ef0..dc002c1617358 100644
--- a/pkgs/servers/mastodon/gemset.nix
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j86qjs1zw34p0p7d5napa1vvwqlvm9nmv7ckxxhcba1qv4dspmw";
+      sha256 = "1c46q4ykf8cqcpzad7zhkrxjhvf92sil0185zvxwzhj95p1zp5vr";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f68h8cl6dqbz7mq3x43s0s82291nani3bz1hrxkk2qpgda23mw9";
+      sha256 = "0x100vq4rf2c5ndz8ai00hb5gsb9ax2xqc89dsfzzhxbpa9gs9ik";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "077j47jsg0wqwx5b13n4h0g3g409b6kfrlazpzgjpa3pal74f7sc";
+      sha256 = "1hds7b6n7vsa64fmma7wl7x9mxscr89myfb13vxni5fcns1agwzr";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jh83rqd6glys1b2wsihzsln8yk6zdwgiyn9xncyiav9rcwjpkax";
+      sha256 = "18k05a55i0xgyv60lx0m1psnyncn935j76ivbp9hssqpij00jj1f";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "044qi3zhzxlfq7slc2pb9ky9mdivp1m1sjyhjvnsi64ggq7cvr22";
+      sha256 = "1g54g1kjyrwv9g592gxfz7z6ksmj916l1cgkxk54zhywxf6gpn0y";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ygpg75f3ffdcbxvf7s14xw3hcjin1nnx1nk3mg9mj2xc1nb60aa";
+      sha256 = "03rfynhj40270dqhkm4cyaphzb37b4fdiaqh9grvcfq760vx7ha5";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   active_model_serializers = {
     dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yql9v4cd1xbqgnzlf3cv4a6sm26v2y4gsgcbbfgvfc0hhlfjklg";
+      sha256 = "1b54didwsg5p8wn30qjwspzh97w7g07hrsdzr7wdrdly4zii7sr1";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0grdpvglh0cj96qhlxjj9bcfqkh13c1pfpcwc9ld3aw0yzvsw5a1";
+      sha256 = "1mi5cppdmkzgr2z135ibs0bq71qndbnip0vfflz1n4j4hqnhjkpg";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rlky1cr5kcdl0jad3nk5jpim6vjzbgkfhxnk7y492b3j2nznpcf";
+      sha256 = "1pkv0jvvjc3grr0rvxni9b3j3hb22jaj0h70g476h9w54p0aljcb";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -115,10 +115,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f4g3589i5ii4gdfazv6d9rjinr16aarh6g12v8378ck7jll3mhz";
+      sha256 = "1qdqx20dqkg7iwzb8q5148x5sl9mr2063hxzy4i7i94af2d2vz6b";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@@ -126,10 +126,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ff3x7q400flzhml131ix8zfwmh13h70rs6yzbzf513g781gbbxh";
+      sha256 = "15z11983ws5svibg6rky9k2mgd4d4chnvddyxfpgn81b81q70139";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -539,20 +539,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3";
+      sha256 = "1dsf9gjc2cj79vrnz2vgq573biqjw7ad4b0idm05xg6rb3y9gq4y";
       type = "gem";
     };
-    version = "0.5.9.6";
+    version = "0.5.9.8";
   };
   charlock_holmes = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
+      sha256 = "0cym7a0mrgf8wr27x07ka7fsjz3l7l9qiiyqra34f5k5ghira0c0";
       type = "gem";
     };
-    version = "0.7.7";
+    version = "0.7.8";
   };
   chewy = {
     dependencies = ["activesupport" "elasticsearch" "elasticsearch-dsl"];
@@ -1344,10 +1344,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx";
+      sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16";
       type = "gem";
     };
-    version = "1.14.1";
+    version = "1.14.5";
   };
   i18n-tasks = {
     dependencies = ["activesupport" "ast" "better_html" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"];
@@ -1630,10 +1630,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0";
+      sha256 = "190n2mk8m1l708kr88fh6mip9sdsh339d2s6sgrik3sbnvz4jmhd";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.4";
   };
   mario-redis-lock = {
     dependencies = ["redis"];
@@ -1723,10 +1723,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
+      sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk";
       type = "gem";
     };
-    version = "2.8.5";
+    version = "2.8.7";
   };
   minitest = {
     groups = ["default" "development" "pam_authentication" "production" "test"];
@@ -1870,10 +1870,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xkjz56qc7hl7zy7i7bhiyw5pl85wwjsa4p70rj6s958xj2sd1lm";
+      sha256 = "017nbw87dpr4wyk81cgj8kxkxqgsgblrkxnmmadc77cg9gflrfal";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.7.3";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -1881,10 +1881,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lla2macphrlbzkirk0nwwwhcijrfymyfjjw1als0kwqd0n1cdpc";
+      sha256 = "1vz1ychq2fhfqjgqdrx8bqkaxg5dzcgwnah00m57ydylczfy8pwk";
       type = "gem";
     };
-    version = "1.16.5";
+    version = "1.16.6";
   };
   nsa = {
     dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
@@ -2079,16 +2079,6 @@
     };
     version = "3.3.4";
   };
-  posix-spawn = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cmb0svalqcxfzlzc5fvrci12b79x7bakasr8gkl3q5rz6di1q52";
-      type = "gem";
-    };
-    version = "0.3.15";
-  };
   premailer = {
     dependencies = ["addressable" "css_parser" "htmlentities"];
     groups = ["default"];
@@ -2178,10 +2168,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10mpk0hl6hnv324fp1pfimi2nw9acj0z4gyhrph36qg84pk1s4m7";
+      sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx";
       type = "gem";
     };
-    version = "2.2.8.1";
+    version = "2.2.9";
   };
   rack-attack = {
     dependencies = ["rack"];
@@ -2255,10 +2245,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v9dp9sgh8kk32r23mj66zjni7w1dv2h7mbaxgmazsf59a43gsvx";
+      sha256 = "1sv5jzd3varqzcqm8zxllwiqzgbgcymszw12ci3f9zbzlliq8hby";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2323,10 +2313,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08ga56kz6a37dnlmi7y45r19fcc7jzb62mrc3ifavbzggmhy7r62";
+      sha256 = "02z7lqx0y60bzpkd4v67i9sbdh7djs0mm89h343kidx0gmq0kbh0";
       type = "gem";
     };
-    version = "7.0.8.1";
+    version = "7.0.8.4";
   };
   rainbow = {
     groups = ["default" "development"];
@@ -3034,10 +3024,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s";
+      sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.3.1";
   };
   tilt = {
     groups = ["default" "development"];
@@ -3353,10 +3343,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m67qmsak3x8ixs8rb971azl3l7wapri65pmbf5z886h46q63f1d";
+      sha256 = "08cfb35232p9s1r4jqv8wacv38vxh699mgbr9y03ga89gx9lipqp";
       type = "gem";
     };
-    version = "2.6.13";
+    version = "2.6.16";
   };
 }
 
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 2c4eaafbbbf66..b2dc7df4ef81c 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -1,7 +1,7 @@
 # This file was generated by pkgs.mastodon.updateScript.
 { fetchFromGitHub, applyPatches, patches ? [] }:
 let
-  version = "4.2.9";
+  version = "4.2.10";
 in
 (
   applyPatches {
@@ -9,7 +9,7 @@ in
       owner = "mastodon";
       repo = "mastodon";
       rev = "v${version}";
-      hash = "sha256-VjR4lXlb1p8mmpOGxPqbmCCEaB7SP90ccPSMfGFx6IQ=";
+      hash = "sha256-z3veI0CpZk6mBgygqXk8SN/5WWjy5VkKLxC7nOLnyZE=";
     };
     patches = patches ++ [];
   }) // {
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 136cb0828f326..177cee956ca15 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -32,20 +32,20 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.109.0";
+  version = "1.110.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "element-hq";
     repo = "synapse";
     rev = "v${version}";
-    hash = "sha256-AUaHgMKte1EIfI0EQm8YeQVtlXGTm+MZwq22WzYHGsE=";
+    hash = "sha256-DsDQgmHDU+iJ+00p1uch9Zj6lleDvdTQMy05hi8R9CM=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-KwRNn2Ypt87QRUTCsj00zsu6uQtP5MSuM6B2DemoFGs=";
+    hash = "sha256-J0JBp9pCP00Cjs6T4litjhY28mq0OJDBrRZVSQaS03w=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
index 8811c816a0ac8..ac18967dcab25 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/default.nix
@@ -12,13 +12,13 @@
 
 let
   pname = "matrix-appservice-irc";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-voZJVBggsuwmGw/imt2HYmqiYBkRYMpppt/Nemh6fsM=";
+    hash = "sha256-ue3fOkrEBRI/NRE+uKFR+NaqP8QvzVVeX3LUh4aZYJA=";
   };
 
   yarnOfflineCache = fetchYarnDeps {
diff --git a/pkgs/servers/matrix-synapse/plugins/ldap3.nix b/pkgs/servers/matrix-synapse/plugins/ldap3.nix
index feac6f0847263..6a631f4f262f0 100644
--- a/pkgs/servers/matrix-synapse/plugins/ldap3.nix
+++ b/pkgs/servers/matrix-synapse/plugins/ldap3.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-s4jZVpNIbu9pra79D9noRGPVL+F7AhSgDvyqZptzy3Q=";
+    hash = "sha256-s4jZVpNIbu9pra79D9noRGPVL+F7AhSgDvyqZptzy3Q=";
   };
 
   patches = [
diff --git a/pkgs/servers/matrix-synapse/tools/synadm.nix b/pkgs/servers/matrix-synapse/tools/synadm.nix
index 4fa673768d44b..ab66d61c81647 100644
--- a/pkgs/servers/matrix-synapse/tools/synadm.nix
+++ b/pkgs/servers/matrix-synapse/tools/synadm.nix
@@ -6,12 +6,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "synadm";
-  version = "0.46";
+  version = "0.46.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Wz5ZpaDJIb7k5ZpvIUd/YGrLJwjDwRaS8Tb3FTd2kZU=";
+    hash = "sha256-EjV3zTd6VAemNS/mD19Caw9SQZW1qs4+07wRxfVq++g=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index 12be474fa5aec..786b0e294739e 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -37,6 +37,10 @@ buildGoModule rec {
     hash = "sha256-ZlvO/7kdMopIHBDdFp6wSQCR+NobGdDC6PcVd1iG16E=";
   };
 
+  # Makes nix-update-script pick up the fetchurl for the webapp.
+  # https://github.com/Mic92/nix-update/blob/1.3.1/nix_update/eval.py#L179
+  offlineCache = webapp;
+
   vendorHash = "sha256-TJCtgNf56A1U0EbV5gXjTro+YudVBRWiSZoBC3nJxnE=";
 
   modRoot = "./server";
@@ -69,7 +73,7 @@ buildGoModule rec {
 
   passthru = {
     updateScript = nix-update-script {
-      extraArgs = [ "--version-regex" "v(9\.5\.[0-9]+)" ];
+      extraArgs = [ "--version-regex" "^v(9\.5\.[0-9]+)$" ];
     };
     tests.mattermost = nixosTests.mattermost;
   };
diff --git a/pkgs/servers/mediamtx/default.nix b/pkgs/servers/mediamtx/default.nix
index 35db7a9c65688..bff0152d7bd1e 100644
--- a/pkgs/servers/mediamtx/default.nix
+++ b/pkgs/servers/mediamtx/default.nix
@@ -15,16 +15,16 @@ in
 buildGoModule rec {
   pname = "mediamtx";
   # check for hls.js version updates in internal/servers/hls/hlsjsdownloader/VERSION
-  version = "1.8.3";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "bluenviron";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/r5N9RSlYH6xM+JyETuTQWu0YTvaShI6APi8ibpP7Zg=";
+    hash = "sha256-1VNmqMB0YiR+QmnOWDNp4UYTU7OYhg4TQP8V4pg5UgE=";
   };
 
-  vendorHash = "sha256-/TgSTXA6SOCfm/wtjJBtyIg4Fo0moJyC640zoIOQ4Fo=";
+  vendorHash = "sha256-tj752jPxDKfJQzb0rfCz5+/1c3DmKZGUVWJRWuzLJtg=";
 
   postPatch = ''
     cp ${hlsJs} internal/servers/hls/hls.min.js
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 7747e4ec092d1..ccc9fff51ace6 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {lib, stdenv, fetchurl, cyrus_sasl, libevent, nixosTests }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.26";
+  version = "1.6.27";
   pname = "memcached";
 
   src = fetchurl {
     url = "https://memcached.org/files/${pname}-${version}.tar.gz";
-    sha256 = "sha256-yTnHhZo8HPYDA+ndCAxjrEo4fuKEbVlc1SY6PcrNwvc=";
+    sha256 = "sha256-dP4UR8hmit+RD6epKftjWKr0pm73NOdRxbgSgHGw97U=";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 7abf6b2559a39..908fc87537aac 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metabase";
-  version = "0.50.5";
+  version = "0.50.8";
 
   src = fetchurl {
     url = "https://downloads.metabase.com/v${version}/metabase.jar";
-    hash = "sha256-UfRENrld7uc65xsh9mMh2CuPEspAV3IwsdZXN44ACnM=";
+    hash = "sha256-Z0xvU8ZT9aXe0NKUhh302XrWwROlkIRHWgcjwzLMr8Q=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
index b8206c57c4903..9a9be0e85e93a 100644
--- a/pkgs/servers/miniflux/default.nix
+++ b/pkgs/servers/miniflux/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "miniflux";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "miniflux";
     repo = "v2";
     rev = "refs/tags/${version}";
-    hash = "sha256-Q43ru/n7cY1DIT/JJP1sTbnXcgtbIh16fTDL9eV0YDE=";
+    hash = "sha256-1EH8KtKdAssxLk0IyhJsbrFU1obDTvmaGtFyLVlnOdQ=";
   };
 
-  vendorHash = "sha256-WCb0DxicVuJDm52GidivQPZb09LvZqJmgR5BoK8iZ7s=";
+  vendorHash = "sha256-kr2qCKuwp6Fpr0zEjggqk4Mff3V9pxGLU71lRhdRrW8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index 01d92fdde0a98..a31c92d2d20ac 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -21,16 +21,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2024-06-22T05-26-45Z";
+  version = "2024-07-04T14-25-45Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    hash = "sha256-r5T6e2Wzb0uJ7VI6fIHxswkGPi1MsGSj4sC225PQb+o=";
+    hash = "sha256-3JwfSiddVzyn8+vaj9bOHs3BHx8Okc/BC8C65ageYNM=";
   };
 
-  vendorHash = "sha256-AK6PGX/ezkN/LAnOLd8fRGkzwhTE4BY63H9ebnXxEOA=";
+  vendorHash = "sha256-8sgi21P1dwVfSAH/26NNso7S6RzTOmkNh3cGNYmEhXY=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/misc/gobgpd/default.nix b/pkgs/servers/misc/gobgpd/default.nix
index abc04b539558b..05cdfec4278ff 100644
--- a/pkgs/servers/misc/gobgpd/default.nix
+++ b/pkgs/servers/misc/gobgpd/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "gobgpd";
-  version = "3.27.0";
+  version = "3.28.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RxBAnElmQkrkMuIC0UpneJXN1OiPhaTPm/tYvc8QSg8=";
+    hash = "sha256-HdGRZrMukIQLxTmwTVB/zUlnrhDjq5b6ree7aqx8pRE=";
   };
 
   vendorHash = "sha256-wrgRQwisOHAhvRbvGXMW5VWkQuEifCwCo3usuxLie4A=";
diff --git a/pkgs/servers/misc/oven-media-engine/default.nix b/pkgs/servers/misc/oven-media-engine/default.nix
index e84dc8ea9e43f..dc19615bcdabc 100644
--- a/pkgs/servers/misc/oven-media-engine/default.nix
+++ b/pkgs/servers/misc/oven-media-engine/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oven-media-engine";
-  version = "0.16.5";
+  version = "0.16.6";
 
   src = fetchFromGitHub {
     owner = "AirenSoft";
     repo = "OvenMediaEngine";
     rev = "v${version}";
-    sha256 = "sha256-hkLIJ3vGpnywcOw+bfEsQESGFe1FUcCVJlMlVgGsrNs=";
+    sha256 = "sha256-FM55vca2mUrd+X5D2KC22uY1X/RoHjEE8IngjzgxYMM=";
   };
 
   sourceRoot = "${src.name}/src";
diff --git a/pkgs/servers/misc/virtiofsd/default.nix b/pkgs/servers/misc/virtiofsd/default.nix
index 027235986c5e0..53fc114f078c1 100644
--- a/pkgs/servers/misc/virtiofsd/default.nix
+++ b/pkgs/servers/misc/virtiofsd/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "virtiofsd";
-  version = "1.10.1";
+  version = "1.11.0";
 
   src = fetchFromGitLab {
     owner = "virtio-fs";
     repo = "virtiofsd";
     rev = "v${version}";
-    sha256 = "sha256-qHrgNuPDEtFzucE6ACPemUcjEqOvbo4xV0ru4bP3ATE=";
+    hash = "sha256-dgGdSnMsz/6dggZXh5crwHEoVVIlcUIHMH5MSOO29TE=";
   };
 
   separateDebugInfo = true;
 
-  cargoHash = "sha256-BVl4Inr7ZLnilkPVTD2cjJx9RuqB0Mg230o2c2TLw3I=";
+  cargoHash = "sha256-u7mzViTc0f4vApmmRNl6NkJlMfKeWSO0yupBt6adiag=";
 
   LIBCAPNG_LIB_PATH = "${lib.getLib libcap_ng}/lib";
   LIBCAPNG_LINK_TYPE =
diff --git a/pkgs/servers/monitoring/alerta/client.nix b/pkgs/servers/monitoring/alerta/client.nix
index e95c114ee2a60..ea1e589ad4f29 100644
--- a/pkgs/servers/monitoring/alerta/client.nix
+++ b/pkgs/servers/monitoring/alerta/client.nix
@@ -9,7 +9,7 @@ python3.pkgs.buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ePvT2icsgv+io5aDDUr1Zhfodm4wlqh/iqXtNkFhS10=";
+    hash = "sha256-ePvT2icsgv+io5aDDUr1Zhfodm4wlqh/iqXtNkFhS10=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/monitoring/alerta/default.nix b/pkgs/servers/monitoring/alerta/default.nix
index f84bb3302eca4..3a360ca0f89c0 100644
--- a/pkgs/servers/monitoring/alerta/default.nix
+++ b/pkgs/servers/monitoring/alerta/default.nix
@@ -9,7 +9,7 @@ python3.pkgs.buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-v4+0l5Sx9RTxmNFnKCoKrWFl1xu1JIRZ/kiI6zi/y0I=";
+    hash = "sha256-v4+0l5Sx9RTxmNFnKCoKrWFl1xu1JIRZ/kiI6zi/y0I=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/monitoring/buildkite-agent-metrics/default.nix b/pkgs/servers/monitoring/buildkite-agent-metrics/default.nix
index 45ad6daedacff..b3f5caa29da15 100644
--- a/pkgs/servers/monitoring/buildkite-agent-metrics/default.nix
+++ b/pkgs/servers/monitoring/buildkite-agent-metrics/default.nix
@@ -4,7 +4,7 @@
 }:
 buildGoModule rec {
   pname = "buildkite-agent-metrics";
-  version = "5.9.6";
+  version = "5.9.7";
 
   outputs = [ "out" "lambda" ];
 
@@ -12,7 +12,7 @@ buildGoModule rec {
     owner = "buildkite";
     repo = "buildkite-agent-metrics";
     rev = "v${version}";
-    hash = "sha256-OrdU640gC14Y4SMtZZtW2Yz82JRwoQRtjY1KCL+vyEc=";
+    hash = "sha256-HHTPgrMNxaX2fbkf7oasrEopXg6ocMSwdymeNAIrckg=";
   };
 
   vendorHash = "sha256-i2+nefRE4BD93rG842oZj0/coamYVRMPxEHio80bdWk=";
diff --git a/pkgs/servers/monitoring/consul-alerts/deps.nix b/pkgs/servers/monitoring/consul-alerts/deps.nix
deleted file mode 100644
index 6494dc61a87c9..0000000000000
--- a/pkgs/servers/monitoring/consul-alerts/deps.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-let
-  mkAwsPackage = name: {
-    goPackagePath = "github.com/aws/aws-sdk-go/${name}";
-    fetch = {
-      type = "git";
-      url = "https://github.com/aws/aws-sdk-go";
-      rev = "v1.14.13";
-      sha256 = "0014b6kl3rbjhjbk7jz116wdgdls54b1bwz454pkn1snlvkj3qil";
-    };
-  };
-in
-[
-  (mkAwsPackage "")
-  (mkAwsPackage "aws/session")
-  (mkAwsPackage "aws/sns")
-  (mkAwsPackage "service/sns")
-  {
-    goPackagePath = "github.com/imdario/mergo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "v0.3.5";
-      sha256 = "1mvgn89vp39gcpvhiq4n7nw5ipj7fk6h03jgc6fjwgvwvss213pb";
-    };
-  }{
-    goPackagePath = "github.com/mitchellh/hashstructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/hashstructure";
-      rev = "2bca23e0e452137f789efbc8610126fd8b94f73b"; # has no releases as of writing
-      sha256 = "0vpacsls26474wya360fjhzi6l4y8s8s251c4szvqxh17n5f5gk1";
-    };
-  }
-]
diff --git a/pkgs/servers/monitoring/do-agent/default.nix b/pkgs/servers/monitoring/do-agent/default.nix
index 296699d88d697..ca7efa4cd0dad 100644
--- a/pkgs/servers/monitoring/do-agent/default.nix
+++ b/pkgs/servers/monitoring/do-agent/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "do-agent";
-  version = "3.16.9";
+  version = "3.16.11";
 
   src = fetchFromGitHub {
     owner = "digitalocean";
     repo = "do-agent";
     rev = version;
-    sha256 = "sha256-9ZSDBjO28spFymoXBwrJQg7Y17qUfzShcIsmUJBIxyY=";
+    sha256 = "sha256-BQFL/h9bXtbS7YeImrXjLExakfecza6wJsppgmwkRGg=";
   };
 
   ldflags = [
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 927a011ded284..ad285956866a4 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -3,26 +3,22 @@
 , yarn, nodejs, python3, cacert
 , jq, moreutils
 , nix-update-script, nixosTests, xcbuild
-, util-linux
+, faketty
 }:
 
 let
-  # We need dev dependencies to run webpack, but patch away
-  # `cypress` (and @grafana/e2e which has a direct dependency on cypress).
-  # This attempts to download random blobs from the Internet in
-  # postInstall. Also, it's just a testing framework, so not worth the hassle.
-  patchAwayGrafanaE2E = ''
-    find . -name package.json | while IFS=$'\n' read -r pkg_json; do
-      <"$pkg_json" jq '. + {
-        "devDependencies": .devDependencies | del(."@grafana/e2e") | del(.cypress)
-      }' | sponge "$pkg_json"
-    done
-    rm -r packages/grafana-e2e
+  # Grafana seems to just set it to the latest version available
+  # nowadays.
+  patchGoVersion = ''
+    substituteInPlace go.{mod,work} pkg/build/wire/go.mod \
+      --replace-fail "go 1.22.4" "go 1.22.3"
+    substituteInPlace Makefile \
+      --replace-fail "GO_VERSION = 1.22.4" "GO_VERSION = 1.22.3"
   '';
 in
 buildGoModule rec {
   pname = "grafana";
-  version = "11.0.0";
+  version = "11.1.0";
 
   subPackages = [ "pkg/cmd/grafana" "pkg/cmd/grafana-server" "pkg/cmd/grafana-cli" ];
 
@@ -30,11 +26,13 @@ buildGoModule rec {
     owner = "grafana";
     repo = "grafana";
     rev = "v${version}";
-    hash = "sha256-cC1dpgb8IiyPIqlVvn8Qi1l7j6lLtQF+BOOO+DQCp4E=";
+    hash = "sha256-iTTT10YN8jBT4/ukGXNK1QHcyzXnAqg2LiFtNiwnENw=";
   };
 
   # borrowed from: https://github.com/NixOS/nixpkgs/blob/d70d9425f49f9aba3c49e2c389fe6d42bac8c5b0/pkgs/development/tools/analysis/snyk/default.nix#L20-L22
-  env = lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) {
+  env = {
+    CYPRESS_INSTALL_BINARY = 0;
+  } // lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) {
     # Fix error: no member named 'aligned_alloc' in the global namespace.
     # Occurs while building @esfx/equatable@npm:1.0.2 on x86_64-darwin
     NIX_CFLAGS_COMPILE = "-D_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION=1";
@@ -49,7 +47,7 @@ buildGoModule rec {
     # @esfx/equatable@npm:1.0.2 fails to build on darwin as it requires `xcbuild`
     ] ++ lib.optionals stdenv.isDarwin [ xcbuild.xcbuild ];
     postPatch = ''
-      ${patchAwayGrafanaE2E}
+      ${patchGoVersion}
     '';
     buildPhase = ''
       runHook preBuild
@@ -66,23 +64,24 @@ buildGoModule rec {
     dontFixup = true;
     outputHashMode = "recursive";
     outputHash = rec {
-      x86_64-linux = "sha256-+Udq8oQSIAHku55VKnrfgHHevzBels0QiOZwnwuts8k=";
+      x86_64-linux = "sha256-2VnhZBWLdYQhqKCxM63fCAwQXN4Zrh2wCdPBLCCUuvg=";
       aarch64-linux = x86_64-linux;
-      aarch64-darwin = "sha256-m3jtZNz0J2nZwFHXVp3ApgDfnGBOJvFeUpqOPQqv200=";
+      aarch64-darwin = "sha256-MZE3/PHynL6SHOxJgOG41pi2X8XeutruAOyUFY9Lmsc=";
       x86_64-darwin = aarch64-darwin;
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
   disallowedRequisites = [ offlineCache ];
 
-  vendorHash = "sha256-kcdW6RQghyAOZUDmIo9G6YBC+YaLHdafvj+fCd+dcDE=";
+  vendorHash = "sha256-Ny/SoelFVPvBBn50QpHcLTuVY3ynKbCegM1uQkJzB9Y=";
 
   proxyVendor = true;
 
-  nativeBuildInputs = [ wire yarn jq moreutils removeReferencesTo python3 ] ++ lib.optionals stdenv.isDarwin [ xcbuild.xcbuild ];
+  nativeBuildInputs = [ wire yarn jq moreutils removeReferencesTo python3 faketty ]
+    ++ lib.optionals stdenv.isDarwin [ xcbuild.xcbuild ];
 
   postPatch = ''
-    ${patchAwayGrafanaE2E}
+    ${patchGoVersion}
   '';
 
   postConfigure = ''
@@ -115,7 +114,7 @@ buildGoModule rec {
     # After having built all the Go code, run the JS builders now.
 
     # Workaround for https://github.com/nrwl/nx/issues/22445
-    ${util-linux}/bin/script -c 'yarn run build' /dev/null
+    faketty yarn run build
     yarn run plugins:build-bundled
   '';
 
@@ -156,8 +155,5 @@ buildGoModule rec {
     maintainers = with maintainers; [ offline fpletz willibutz globin ma27 Frostman ];
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
     mainProgram = "grafana-server";
-    # requires util-linux to work around https://github.com/nrwl/nx/issues/22445
-    # `script` doesn't seem to be part of util-linux on Darwin though.
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-oncall-app/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-oncall-app/default.nix
index 6f475f49cfa7f..893a46e87f785 100644
--- a/pkgs/servers/monitoring/grafana/plugins/grafana-oncall-app/default.nix
+++ b/pkgs/servers/monitoring/grafana/plugins/grafana-oncall-app/default.nix
@@ -2,8 +2,9 @@
 
 grafanaPlugin {
   pname = "grafana-oncall-app";
-  version = "1.5.1";
-  zipHash = "sha256-3mC4TJ9ACM9e3e6UKI5vaDwXuW6RjbsOQFJU5v0wjk8=";
+  versionPrefix = "v";
+  version = "1.7.1";
+  zipHash = "sha256-G3QZq26fzv6sJ5j7QKdPPXhEj95iounZO+Ak8cXZDLc=";
   meta = with lib; {
     description = "Developer-friendly incident response for Grafana";
     license = licenses.agpl3Only;
diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
index 57af5d2654527..2351df623a561 100644
--- a/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
+++ b/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
@@ -1,14 +1,14 @@
 { stdenvNoCC, fetchurl, unzip, lib }:
 
-{ pname, version, zipHash, meta ? {}, passthru ? {}, ... }@args:
+{ pname, versionPrefix ? "", version, zipHash, meta ? {}, passthru ? {}, ... }@args:
 let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({
-  inherit pname version;
+  inherit pname versionPrefix version;
 
   src = if lib.isAttrs zipHash then
     fetchurl {
-      name = "${pname}-${version}-${plat}.zip";
+      name = "${pname}-${versionPrefix}${version}-${plat}.zip";
       hash = zipHash.${plat} or (throw "Unsupported system: ${plat}");
-      url = "https://grafana.com/api/plugins/${pname}/versions/${version}/download" + {
+      url = "https://grafana.com/api/plugins/${pname}/versions/${versionPrefix}${version}/download" + {
         x86_64-linux = "?os=linux&arch=amd64";
         aarch64-linux = "?os=linux&arch=arm64";
         x86_64-darwin = "?os=darwin&arch=amd64";
@@ -17,9 +17,9 @@ let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({
     }
   else
     fetchurl {
-      name = "${pname}-${version}.zip";
+      name = "${pname}-${versionPrefix}${version}.zip";
       hash = zipHash;
-      url = "https://grafana.com/api/plugins/${pname}/versions/${version}/download";
+      url = "https://grafana.com/api/plugins/${pname}/versions/${versionPrefix}${version}/download";
     }
   ;
 
@@ -38,4 +38,4 @@ let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({
   meta = {
     homepage = "https://grafana.com/grafana/plugins/${pname}";
   } // meta;
-} // (builtins.removeAttrs args [ "zipHash" "pname" "version" "sha256" "meta" ]))
+} // (builtins.removeAttrs args [ "zipHash" "pname" "versionPrefix" "version" "sha256" "meta" ]))
diff --git a/pkgs/servers/monitoring/karma/default.nix b/pkgs/servers/monitoring/karma/default.nix
index c27bffa3598fe..95f66e1dd7b34 100644
--- a/pkgs/servers/monitoring/karma/default.nix
+++ b/pkgs/servers/monitoring/karma/default.nix
@@ -1,5 +1,4 @@
 { lib
-, stdenv
 , buildGoModule
 , fetchFromGitHub
 , fetchNpmDeps
diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix
index 0cf35895ca6ca..febeccee760c0 100644
--- a/pkgs/servers/monitoring/loki/default.nix
+++ b/pkgs/servers/monitoring/loki/default.nix
@@ -10,14 +10,14 @@
 }:
 
 buildGoModule rec {
-  version = "3.0.0";
+  version = "3.1.0";
   pname = "grafana-loki";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "loki";
     rev = "v${version}";
-    hash = "sha256-2+OST6bKIjuhrXJKA+8vUERKT1/min7tN8oFxKn3L74=";
+    hash = "sha256-HISDW6qxpfJpOFweUQo6T+8aV5mvB3o3jnx8CZxweJo=";
   };
 
   vendorHash = null;
@@ -28,6 +28,7 @@ buildGoModule rec {
     "cmd/loki-canary"
     "clients/cmd/promtail"
     "cmd/logcli"
+    "cmd/lokitool"
   ];
 
   tags = ["promtail_journal_enabled"];
diff --git a/pkgs/servers/monitoring/mimir/default.nix b/pkgs/servers/monitoring/mimir/default.nix
index 7b1763c93446f..353d25b7ff05f 100644
--- a/pkgs/servers/monitoring/mimir/default.nix
+++ b/pkgs/servers/monitoring/mimir/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub, nixosTests, nix-update-script }:
 buildGoModule rec {
   pname = "mimir";
-  version = "2.12.0";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     rev = "${pname}-${version}";
     owner = "grafana";
     repo = pname;
-    hash = "sha256-V+O89hS2UopGLxGkg6W4gW8kj5QRzpwCQtq0QFrOWf0=";
+    hash = "sha256-XBCwc3jpLx8uj+UitFsoIAWVgC/2G8rgjOqrrLLyYdM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/servers/monitoring/mtail/default.nix b/pkgs/servers/monitoring/mtail/default.nix
index dd4ffa53e65b4..04922b441c0a3 100644
--- a/pkgs/servers/monitoring/mtail/default.nix
+++ b/pkgs/servers/monitoring/mtail/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "mtail";
-  version = "3.0.3";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "mtail";
     rev = "v${version}";
-    hash = "sha256-AFSEMc7ZFT3fMupCPIA2nQZXIuJvsMXwsS4/zrJV+wM=";
+    hash = "sha256-+P21rrWgV9xbZV45Z2brb4F1p5qpaWLKgFqdhyhnkR8=";
   };
 
-  vendorHash = "sha256-qn27BYQdYNfR+9w2SBfBzevtOLTm4Q6nwduL13TgmoY=";
+  vendorHash = "sha256-7u0r4AppzDpVulTPfI9K1njhHmu2kqESJXMjV3WKZFs=";
 
   ldflags = [
     "-X=main.Branch=main"
diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index c3098a8a8e276..86098d6402239 100644
--- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "check_ssl_cert";
-  version = "2.81.1";
+  version = "2.82.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZF1izxIgpoQrWWI+G5vuAJsbc/IwUlAZHhUIHKCY2DA=";
+    hash = "sha256-u+/IXevDt4mlnQ4a1M1t2Zh26/FBd9yAtpr71NrdXTY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/phlare/default.nix b/pkgs/servers/monitoring/phlare/default.nix
index 184b974abef5e..b1290953a852b 100644
--- a/pkgs/servers/monitoring/phlare/default.nix
+++ b/pkgs/servers/monitoring/phlare/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "phlare";
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 9229eb4546a2a..420d2c39000eb 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -31,10 +31,10 @@
 }:
 
 let
-  version = "2.53.0";
+  version = "2.53.1";
   webUiStatic = fetchurl {
     url = "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-web-ui-${version}.tar.gz";
-    hash = "sha256-oGhVpr47+blG7udu4Pcd+4Ndn0U+R47i69nheauDDoo=";
+    hash = "sha256-V13YfSEm0PMYvX13W3lahNSdDJ2oLnDr1VderLEEwyM=";
   };
 in
 buildGoModule rec {
@@ -47,7 +47,7 @@ buildGoModule rec {
     owner = "prometheus";
     repo = "prometheus";
     rev = "v${version}";
-    hash = "sha256-clI8/P6Gdl8WSK1DsXUj+M9f/h35GX961QtpyvGNxUY=";
+    hash = "sha256-7A3UJNA045l5oWLcTeEw+X/YNjeeNOvqdh/CudplLSM=";
   };
 
   vendorHash = "sha256-0TR0jFEY+ls8C9EJEhSl2vX5VVZqZ8jGWDUalOddUPM=";
diff --git a/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix b/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix
index 3968f0b5c11cc..0a5aa5f6f5140 100644
--- a/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix
+++ b/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix
@@ -22,7 +22,6 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = with python3.pkgs; [
     poetry-core
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/monitoring/prometheus/knot-exporter.nix b/pkgs/servers/monitoring/prometheus/knot-exporter.nix
index 2255e660380fb..047727dbebb36 100644
--- a/pkgs/servers/monitoring/prometheus/knot-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/knot-exporter.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "knot-exporter";
-  version = "3.3.6";
+  version = "3.3.7";
   pyproject = true;
 
   src = fetchPypi {
     pname = "knot_exporter";
     inherit version;
-    hash = "sha256-4Fdbu08RbivZF+Hnk+tI1DW9PyzQTI0TngAbZ60CcO8=";
+    hash = "sha256-5vAoUXXU4hxyRyIytWom40yp0pusshBmCbs0w6+tvF4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/prometheus/node-exporter.nix b/pkgs/servers/monitoring/prometheus/node-exporter.nix
deleted file mode 100644
index d3b7c6786f84f..0000000000000
--- a/pkgs/servers/monitoring/prometheus/node-exporter.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, nixosTests
-  # darwin
-  , CoreFoundation, IOKit
-}:
-
-buildGoModule rec {
-  pname = "node_exporter";
-  version = "1.8.1";
-  rev = "v${version}";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "prometheus";
-    repo = "node_exporter";
-    hash = "sha256-dg4JSJx5xXEOLLb5xEgrNeDmh/En9G6qKA9G+3v9PH0=";
-  };
-
-  vendorHash = "sha256-sly8AJk+jNZG8ijTBF1Pd5AOOUJJxIG8jHwBUdlt8fM=";
-
-  # FIXME: tests fail due to read-only nix store
-  doCheck = false;
-
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation IOKit ];
-
-  excludedPackages = [ "docs/node-mixin" ];
-
-  ldflags = [
-    "-s"
-    "-w"
-    "-X github.com/prometheus/common/version.Version=${version}"
-    "-X github.com/prometheus/common/version.Revision=${rev}"
-    "-X github.com/prometheus/common/version.Branch=unknown"
-    "-X github.com/prometheus/common/version.BuildUser=nix@nixpkgs"
-    "-X github.com/prometheus/common/version.BuildDate=unknown"
-  ];
-
-  passthru.tests = { inherit (nixosTests.prometheus-exporters) node; };
-
-  meta = with lib; {
-    description = "Prometheus exporter for machine metrics";
-    mainProgram = "node_exporter";
-    homepage = "https://github.com/prometheus/node_exporter";
-    changelog = "https://github.com/prometheus/node_exporter/blob/v${version}/CHANGELOG.md";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley fpletz globin Frostman ];
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/prom2json.nix b/pkgs/servers/monitoring/prometheus/prom2json.nix
index a011dbb68b7e9..7b6b0e473907f 100644
--- a/pkgs/servers/monitoring/prometheus/prom2json.nix
+++ b/pkgs/servers/monitoring/prometheus/prom2json.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "prom2json";
-  version = "1.3.3";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus";
     repo = "prom2json";
-    sha256 = "sha256-VwJv2Y+YrlhLRx0lRPtHTzjvSz7GPfADCZibkQU6S1Y=";
+    sha256 = "sha256-oOnrIGtNQqS/7XCKcFtzXskv7N6syNyS52pZMwrY5wU=";
   };
 
-  vendorHash = "sha256-m9f3tCX21CMdcXcUcLFOxgs9oDR2Uaj5u22eJPDmpeE=";
+  vendorHash = "sha256-d+/38wUMFChuLlVb84DELRQylCDIqopzk2bw/yd5B/E=";
 
   meta = with lib; {
     description = "Tool to scrape a Prometheus client and dump the result as JSON";
diff --git a/pkgs/servers/monitoring/prometheus/pve-exporter.nix b/pkgs/servers/monitoring/prometheus/pve-exporter.nix
index a9d287a41a7ec..aaf5f46b075e1 100644
--- a/pkgs/servers/monitoring/prometheus/pve-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/pve-exporter.nix
@@ -10,7 +10,7 @@ python3.pkgs.buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-C7agnOUdtd4YncAiaPQaZqBJ8DKZoM1Fa+dr1F4xYgI=";
+    hash = "sha256-C7agnOUdtd4YncAiaPQaZqBJ8DKZoM1Fa+dr1F4xYgI=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix
deleted file mode 100644
index 33747715fbefd..0000000000000
--- a/pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix
+++ /dev/null
@@ -1,390 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/alecthomas/template";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/template";
-      rev = "fb15b899a751";
-      sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
-    };
-  }
-  {
-    goPackagePath = "github.com/alecthomas/units";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alecthomas/units";
-      rev = "c3de453c63f4";
-      sha256 = "0js37zlgv37y61j4a2d46jh72xm5kxmpaiw0ya9v944bjpc386my";
-    };
-  }
-  {
-    goPackagePath = "github.com/beorn7/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/beorn7/perks";
-      rev = "v1.0.1";
-      sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
-    };
-  }
-  {
-    goPackagePath = "github.com/cespare/xxhash";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cespare/xxhash";
-      rev = "v2.1.1";
-      sha256 = "0rl5rs8546zj1vzggv38w93wx0b5dvav7yy5hzxa8kw7iikv1cgr";
-    };
-  }
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.1";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-kit/kit";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-kit/kit";
-      rev = "v0.9.0";
-      sha256 = "09038mnw705h7isbjp8dzgp2i04bp5rqkmifxvwc5xkh75s00qpw";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-logfmt/logfmt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-logfmt/logfmt";
-      rev = "v0.4.0";
-      sha256 = "06smxc112xmixz78nyvk3b2hmc7wasf2sl5vxj1xz62kqcq9lzm9";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-stack/stack";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-stack/stack";
-      rev = "v1.8.0";
-      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
-    };
-  }
-  {
-    goPackagePath = "github.com/gogo/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gogo/protobuf";
-      rev = "v1.1.1";
-      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "v1.4.0";
-      sha256 = "1fjvl5n77abxz5qsd4mgyvjq19x43c5bfvmq62mq3m5plx6zksc8";
-    };
-  }
-  {
-    goPackagePath = "github.com/gomodule/redigo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gomodule/redigo";
-      rev = "v1.8.2";
-      sha256 = "0wp37175n4lgkq234px9vx0c7mdx8sx3d45zky73az8zbabirwga";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/go-cmp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-cmp";
-      rev = "v0.4.0";
-      sha256 = "1x5pvl3fb5sbyng7i34431xycnhmx8xx94gq2n19g6p0vz68z2v2";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/gofuzz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/gofuzz";
-      rev = "v1.0.0";
-      sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36";
-    };
-  }
-  {
-    goPackagePath = "github.com/json-iterator/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/json-iterator/go";
-      rev = "v1.1.9";
-      sha256 = "0pkn2maymgl9v6vmq9q1si8xr5bbl88n6981y0lx09px6qxb29qx";
-    };
-  }
-  {
-    goPackagePath = "github.com/julienschmidt/httprouter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/julienschmidt/httprouter";
-      rev = "v1.2.0";
-      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
-    };
-  }
-  {
-    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.3";
-      sha256 = "1yrsd4s8vhjnxhwbigirymz89dn6qfjnhn28i33vvvdgf96j6ypl";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/logfmt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/logfmt";
-      rev = "b84e30acd515";
-      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pretty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pretty";
-      rev = "v0.1.0";
-      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pty";
-      rev = "v1.1.1";
-      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/text";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/text";
-      rev = "v0.1.0";
-      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
-    };
-  }
-  {
-    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/matttproud/golang_protobuf_extensions";
-      rev = "v1.0.1";
-      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
-    };
-  }
-  {
-    goPackagePath = "github.com/modern-go/concurrent";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/concurrent";
-      rev = "bacd9c7ef1dd";
-      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
-    };
-  }
-  {
-    goPackagePath = "github.com/modern-go/reflect2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/reflect2";
-      rev = "v1.0.1";
-      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
-    };
-  }
-  {
-    goPackagePath = "github.com/mwitkow/go-conntrack";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mwitkow/go-conntrack";
-      rev = "cc309e4a2223";
-      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "v0.8.1";
-      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
-    };
-  }
-  {
-    goPackagePath = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev = "v1.0.0";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_golang";
-      rev = "v1.6.0";
-      sha256 = "0wwkx69in9dy5kzd3z6rrqf5by8cwl9r7r17fswcpx9rl3g61x1l";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/client_model";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/client_model";
-      rev = "v0.2.0";
-      sha256 = "0jffnz94d6ff39fr96b5w8i8yk26pwnrfggzz8jhi8k0yihg2c9d";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/common";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/common";
-      rev = "v0.9.1";
-      sha256 = "12pyywb02p7d30ccm41mwn69qsgqnsgv1w9jlqrrln2f1svnbqch";
-    };
-  }
-  {
-    goPackagePath = "github.com/prometheus/procfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/prometheus/procfs";
-      rev = "v0.0.11";
-      sha256 = "1msc8bfywsmrgr2ryqjdqwkxiz1ll08r3qgvaka2507z1wpcpj2c";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "v1.6.0";
-      sha256 = "1zf9is1yxxnna0d1pyag2m9ziy3l27zb2j92p9msm1gx5jjrvzzj";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.1.1";
-      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.5.1";
-      sha256 = "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "c2843e01d9a2";
-      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "d28f0bde5980";
-      sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "cd5d95a43a6e";
-      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "1957bb5e6d1f";
-      sha256 = "0imqk4l9785rw7ddvywyf8zn7k3ga6f17ky8rmf8wrri7nknr03f";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/xerrors";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/xerrors";
-      rev = "9bdfabe68543";
-      sha256 = "1yjfi1bk9xb81lqn85nnm13zz725wazvrx3b50hx19qmwg7a4b0c";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/protobuf";
-      rev = "v1.21.0";
-      sha256 = "12bwln8z1lf9105gdp6ip0rx741i4yfz1520gxnp8861lh9wcl63";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/alecthomas/kingpin.v2";
-      rev = "v2.2.6";
-      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "41f04d3bba15";
-      sha256 = "0vfk9czmlxmp6wndq8k17rhnjxal764mxfhrccza7nwlia760pjy";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.5";
-      sha256 = "08smz8dfyxp02ha74my9iszqa5qzgl3ksi28ilyp8lqipssiq6fg";
-    };
-  }
-]
diff --git a/pkgs/servers/monitoring/prometheus/sql-exporter.nix b/pkgs/servers/monitoring/prometheus/sql-exporter.nix
index bab564702c175..bca77e93151ef 100644
--- a/pkgs/servers/monitoring/prometheus/sql-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/sql-exporter.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "sql_exporter";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "justwatchcom";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ADfJxo9/CcWi9LgX31a7GYAdigFYRbkFy4PYzecG50Y=";
+    sha256 = "sha256-K7UDmV56VW4TM5YUl+xUWmE8GUAYbWowm/hU7xBG+Hs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 6919285554955..5deb6180704ff 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -9,7 +9,7 @@
 
 buildGoModule rec {
   pname = "telegraf";
-  version = "1.31.0";
+  version = "1.31.1";
 
   subPackages = [ "cmd/telegraf" ];
 
@@ -17,10 +17,10 @@ buildGoModule rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    hash = "sha256-bnto39X/Mn8M5YbdM8JSoEPGCb5+UpHS6FPc5Q0kprE=";
+    hash = "sha256-itZPLiD6XQ6OwXsVrreWM7W268aLc8cz3hqXLdZryAU=";
   };
 
-  vendorHash = "sha256-uyZZnEdAfkCYtgyjgPTLt463kcfdNczOruHaVmA+VIk=";
+  vendorHash = "sha256-zhGxla5SQcpwAUzaeG54Sdos3fpJ3zO+ymanLpZtmyg=";
   proxyVendor = true;
 
   ldflags = [
diff --git a/pkgs/servers/mycorrhiza/default.nix b/pkgs/servers/mycorrhiza/default.nix
index 3eb3c731aad33..8f5e86cfe8ae0 100644
--- a/pkgs/servers/mycorrhiza/default.nix
+++ b/pkgs/servers/mycorrhiza/default.nix
@@ -4,16 +4,16 @@
 
 buildGoModule rec {
   pname = "mycorrhiza";
-  version = "1.14.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "bouncepaw";
     repo = "mycorrhiza";
     rev = "v${version}";
-    sha256 = "sha256-sSaqcVrJq/ag6urFH2nzpVEFhcQGvXUR7E8NofvTk1A=";
+    sha256 = "sha256-ovlLOacVhf8phL9LNrMf55oo5KgaCKYeS/of/abE8Bo=";
   };
 
-  vendorHash = "sha256-xZ3J0/SxABPnmCw716xXG/XJvlvcfsIBuNl1h/z9i5g=";
+  vendorHash = "sha256-0O831ILIwv2uyTU23x+tnLbUbkrp9ew316uPmqjhxWM=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/servers/nextcloud/notify_push.nix b/pkgs/servers/nextcloud/notify_push.nix
index d8fc873802e5b..5efde0fab0e55 100644
--- a/pkgs/servers/nextcloud/notify_push.nix
+++ b/pkgs/servers/nextcloud/notify_push.nix
@@ -30,13 +30,13 @@ rustPlatform.buildRustPackage rec {
         mainProgram = "test_client";
       };
     };
-    tests = {
-      inherit (nixosTests.nextcloud)
-        with-postgresql-and-redis27
-        with-postgresql-and-redis28
-        with-postgresql-and-redis29;
-      inherit test_client;
-    };
+    tests =
+      lib.filterAttrs
+        (key: lib.const (lib.hasPrefix "with-postgresql-and-redis" key))
+        nixosTests.nextcloud
+      // {
+        inherit test_client;
+      };
   };
 
   meta = with lib; {
diff --git a/pkgs/servers/nfd/default.nix b/pkgs/servers/nfd/default.nix
index 30f1140ab50ec..850934f466a4e 100644
--- a/pkgs/servers/nfd/default.nix
+++ b/pkgs/servers/nfd/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "named-data";
     repo = lib.toUpper pname;
     rev = "NFD-${version}";
-    sha256 = "sha256-epY5qtET7rsKL3KIKvxfa+wF+AGZbYs+zRhy8SnIffk=";
+    hash = "sha256-epY5qtET7rsKL3KIKvxfa+wF+AGZbYs+zRhy8SnIffk=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/nominatim/default.nix b/pkgs/servers/nominatim/default.nix
index 4b39480a4a9b3..529849625d93b 100644
--- a/pkgs/servers/nominatim/default.nix
+++ b/pkgs/servers/nominatim/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     repo = "Nominatim";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-GPMDbvTPl9SLpZi5gyRAPQ84NSTIRoSfGJeqWs1e9Oo=";
+    hash = "sha256-GPMDbvTPl9SLpZi5gyRAPQ84NSTIRoSfGJeqWs1e9Oo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix
index 41939884e9974..5b965796de64c 100644
--- a/pkgs/servers/nosql/arangodb/default.nix
+++ b/pkgs/servers/nosql/arangodb/default.nix
@@ -38,7 +38,7 @@ gcc10Stdenv.mkDerivation rec {
     repo = "arangodb";
     owner = "arangodb";
     rev = "v${version}";
-    sha256 = "sha256-64iTxhG8qKTSrTlH/BWDJNnLf8VnaCteCKfQ9D2lGDQ=";
+    hash = "sha256-64iTxhG8qKTSrTlH/BWDJNnLf8VnaCteCKfQ9D2lGDQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
index 4165a6ff43907..060b572c41120 100644
--- a/pkgs/servers/nosql/eventstore/default.nix
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -20,7 +20,7 @@ buildDotnetModule rec {
     owner = "EventStore";
     repo = "EventStore";
     rev = "oss-v${version}";
-    sha256 = "sha256-+Wxm6yusaCoqXIbsi0ZoALAviKUyNMQwbzsQtBK/PCo=";
+    hash = "sha256-+Wxm6yusaCoqXIbsi0ZoALAviKUyNMQwbzsQtBK/PCo=";
     leaveDotGit = true;
   };
 
diff --git a/pkgs/servers/nosql/influxdb2/cli.nix b/pkgs/servers/nosql/influxdb2/cli.nix
index a331c58a3dbec..f00f09a96aa13 100644
--- a/pkgs/servers/nosql/influxdb2/cli.nix
+++ b/pkgs/servers/nosql/influxdb2/cli.nix
@@ -1,6 +1,8 @@
 { buildGoModule
 , fetchFromGitHub
+, installShellFiles
 , lib
+, stdenv
 }:
 
 let
@@ -18,11 +20,19 @@ in buildGoModule {
   version = version;
   inherit src;
 
+  nativeBuildInputs = [ installShellFiles ];
+
   vendorHash = "sha256-Ov0TPoMm0qi7kkWUUni677sCP1LwkT9+n3KHcAlQkDA=";
   subPackages = [ "cmd/influx" ];
 
   ldflags = [ "-X main.commit=v${version}" "-X main.version=${version}" ];
 
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd influx \
+      --bash <($out/bin/influx completion bash) \
+      --zsh  <($out/bin/influx completion zsh)
+  '';
+
   meta = with lib; {
     description = "CLI for managing resources in InfluxDB v2";
     license = licenses.mit;
diff --git a/pkgs/servers/nosql/mongodb/6.0.nix b/pkgs/servers/nosql/mongodb/6.0.nix
index 64be3b1f5f90b..537fe93e01c54 100644
--- a/pkgs/servers/nosql/mongodb/6.0.nix
+++ b/pkgs/servers/nosql/mongodb/6.0.nix
@@ -10,8 +10,8 @@ let
 in
 buildMongoDB {
   inherit avxSupport;
-  version = "6.0.15";
-  sha256 = "sha256-DX1wbrDx1/JrEHbzNaXC4Hqq7MrLqz+JZgG98beyVds=";
+  version = "6.0.16";
+  sha256 = "sha256-DdMWacJTx6sxgIKG2M8DkboSBr0fD2w91M+ZYt75hQI=";
   patches = [
     # Patches a bug that it couldn't build MongoDB 6.0 on gcc 13 because a include in ctype.h was missing
     ./fix-gcc-13-ctype-6_0.patch
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index 30317fdb3b938..f4b375a62cc1b 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "neo4j";
-  version = "5.20.0";
+  version = "5.21.0";
 
   src = fetchurl {
     url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
-    hash = "sha256-IDIVdIQCcChx5RHG3/88Yvclh8ToDfcDv4VAhcQ20GY=";
+    hash = "sha256-NFGoUqmG8VArQqx0p8qDUgvbtRnYbk1MYPSQ5CUFexg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/nzbhydra2/default.nix b/pkgs/servers/nzbhydra2/default.nix
index 7c70857585cc1..ab51aebed1be4 100644
--- a/pkgs/servers/nzbhydra2/default.nix
+++ b/pkgs/servers/nzbhydra2/default.nix
@@ -9,15 +9,19 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nzbhydra2";
-  version = "4.7.6";
+  version = "7.2.3";
 
   src = fetchzip {
-    url = "https://github.com/theotherp/${pname}/releases/download/v${version}/${pname}-${version}-linux.zip";
-    hash = "sha512-vc+VInEnh00bASxcEwSjJcsa0QJHmtRzSz30uW60wGmA24tlaJYSk42N5KpGFbkQkOkb2ijHmKGxPogSa4izRQ==";
+    url = "https://github.com/theotherp/${pname}/releases/download/v${version}/${pname}-${version}-generic.zip";
+    hash = "sha256-gGTEOqqnVSgsKvEjd6b5aG8EM2M8u0FdpIebYNQFP50=";
     stripRoot = false;
   };
 
-  nativeBuildInputs = [jre makeWrapper unzip];
+  nativeBuildInputs = [
+    jre
+    makeWrapper
+    unzip
+  ];
 
   installPhase = ''
     runHook preInstall
@@ -37,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "Usenet meta search";
     homepage = "https://github.com/theotherp/nzbhydra2";
     license = licenses.asl20;
-    maintainers = with maintainers; [jamiemagee];
+    maintainers = with maintainers; [ matteopacini ];
     platforms = with platforms; linux;
     mainProgram = "nzbhydra2";
   };
diff --git a/pkgs/servers/osmocom/libasn1c/default.nix b/pkgs/servers/osmocom/libasn1c/default.nix
index a7d6f69f12068..c86475c69b85f 100644
--- a/pkgs/servers/osmocom/libasn1c/default.nix
+++ b/pkgs/servers/osmocom/libasn1c/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/osmocom/libasn1c/";
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ janik ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/servers/osmocom/libosmo-netif/default.nix b/pkgs/servers/osmocom/libosmo-netif/default.nix
index 256fdeee4148b..440050cc2cdb7 100644
--- a/pkgs/servers/osmocom/libosmo-netif/default.nix
+++ b/pkgs/servers/osmocom/libosmo-netif/default.nix
@@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [
-      janik
       markuskowa
     ];
   };
diff --git a/pkgs/servers/osmocom/libosmo-sccp/default.nix b/pkgs/servers/osmocom/libosmo-sccp/default.nix
index bf814576c1640..b4f6091cdacc8 100644
--- a/pkgs/servers/osmocom/libosmo-sccp/default.nix
+++ b/pkgs/servers/osmocom/libosmo-sccp/default.nix
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [
-      janik
       markuskowa
     ];
   };
diff --git a/pkgs/servers/osmocom/libosmoabis/default.nix b/pkgs/servers/osmocom/libosmoabis/default.nix
index 6de87da1dc8dd..9a48278786bd0 100644
--- a/pkgs/servers/osmocom/libosmoabis/default.nix
+++ b/pkgs/servers/osmocom/libosmoabis/default.nix
@@ -44,7 +44,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [
-      janik
       markuskowa
     ];
   };
diff --git a/pkgs/servers/osmocom/libosmocore/default.nix b/pkgs/servers/osmocom/libosmocore/default.nix
index 770dcd97f0a4c..af000b142df56 100644
--- a/pkgs/servers/osmocom/libosmocore/default.nix
+++ b/pkgs/servers/osmocom/libosmocore/default.nix
@@ -56,7 +56,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [
       mog
-      janik
     ];
   };
 }
diff --git a/pkgs/servers/osmocom/osmo-bsc/default.nix b/pkgs/servers/osmocom/osmo-bsc/default.nix
index 1df6e7dd4c3be..eab88ea99cb06 100644
--- a/pkgs/servers/osmocom/osmo-bsc/default.nix
+++ b/pkgs/servers/osmocom/osmo-bsc/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     description = "GSM Base Station Controller";
     homepage = "https://projects.osmocom.org/projects/osmobsc";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
     mainProgram = "osmo-bsc";
   };
diff --git a/pkgs/servers/osmocom/osmo-bts/default.nix b/pkgs/servers/osmocom/osmo-bts/default.nix
index 42a214f7ce45b..1484c07f62e0f 100644
--- a/pkgs/servers/osmocom/osmo-bts/default.nix
+++ b/pkgs/servers/osmocom/osmo-bts/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "Osmocom GSM Base Transceiver Station (BTS)";
     homepage = "https://osmocom.org/projects/osmobts";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/osmocom/osmo-ggsn/default.nix b/pkgs/servers/osmocom/osmo-ggsn/default.nix
index 51615fdb1b3ce..3c1cac479bb21 100644
--- a/pkgs/servers/osmocom/osmo-ggsn/default.nix
+++ b/pkgs/servers/osmocom/osmo-ggsn/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "Osmocom Gateway GPRS Support Node (GGSN), successor of OpenGGSN";
     homepage = "https://osmocom.org/projects/openggsn";
     license = lib.licenses.gpl2Only;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
     mainProgram = "osmo-ggsn";
   };
diff --git a/pkgs/servers/osmocom/osmo-hlr/default.nix b/pkgs/servers/osmocom/osmo-hlr/default.nix
index 112e3c8739029..a8e017fabcb13 100644
--- a/pkgs/servers/osmocom/osmo-hlr/default.nix
+++ b/pkgs/servers/osmocom/osmo-hlr/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     description = "Osmocom implementation of 3GPP Home Location Registr (HLR)";
     homepage = "https://osmocom.org/projects/osmo-hlr";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
     mainProgram = "osmo-hlr";
   };
diff --git a/pkgs/servers/osmocom/osmo-hnbgw/default.nix b/pkgs/servers/osmocom/osmo-hnbgw/default.nix
index 30f0923073cbd..7d9b8c54ff4b2 100644
--- a/pkgs/servers/osmocom/osmo-hnbgw/default.nix
+++ b/pkgs/servers/osmocom/osmo-hnbgw/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     mainProgram = "osmo-hnbgw";
     homepage = "https://osmocom.org/projects/osmohnbgw";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/osmocom/osmo-hnodeb/default.nix b/pkgs/servers/osmocom/osmo-hnodeb/default.nix
index 95dd6bf72b702..b187ddd4f55de 100644
--- a/pkgs/servers/osmocom/osmo-hnodeb/default.nix
+++ b/pkgs/servers/osmocom/osmo-hnodeb/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     mainProgram = "osmo-hnodeb";
     homepage = "https://osmocom.org/projects/osmo-hnodeb";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/osmocom/osmo-iuh/default.nix b/pkgs/servers/osmocom/osmo-iuh/default.nix
index 56a94efbb02c7..a5653a31c9442 100644
--- a/pkgs/servers/osmocom/osmo-iuh/default.nix
+++ b/pkgs/servers/osmocom/osmo-iuh/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     description = "Osmocom IuH library";
     homepage = "https://osmocom.org/projects/osmohnbgw/wiki";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/osmocom/osmo-mgw/default.nix b/pkgs/servers/osmocom/osmo-mgw/default.nix
index 939f062a7b4fc..92986952378ee 100644
--- a/pkgs/servers/osmocom/osmo-mgw/default.nix
+++ b/pkgs/servers/osmocom/osmo-mgw/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     mainProgram = "osmo-mgw";
     homepage = "https://osmocom.org/projects/osmo-mgw";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/osmocom/osmo-msc/default.nix b/pkgs/servers/osmocom/osmo-msc/default.nix
index da6e719707ef1..de73eb980bbf7 100644
--- a/pkgs/servers/osmocom/osmo-msc/default.nix
+++ b/pkgs/servers/osmocom/osmo-msc/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     mainProgram = "osmo-msc";
     homepage = "https://osmocom.org/projects/osmomsc/wiki";
     license = lib.licenses.agpl3Only;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/osmocom/osmo-pcu/default.nix b/pkgs/servers/osmocom/osmo-pcu/default.nix
index 13b34b67b3336..1d079d3a8c040 100644
--- a/pkgs/servers/osmocom/osmo-pcu/default.nix
+++ b/pkgs/servers/osmocom/osmo-pcu/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     mainProgram = "osmo-pcu";
     homepage = "https://osmocom.org/projects/osmopcu";
     license = lib.licenses.gpl2Only;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/osmocom/osmo-sgsn/default.nix b/pkgs/servers/osmocom/osmo-sgsn/default.nix
index 9529c4f50cad7..0bcd2218a59cf 100644
--- a/pkgs/servers/osmocom/osmo-sgsn/default.nix
+++ b/pkgs/servers/osmocom/osmo-sgsn/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     description = "Osmocom implementation of the 3GPP Serving GPRS Support Node (SGSN)";
     homepage = "https://osmocom.org/projects/osmosgsn";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
     mainProgram = "osmo-sgsn";
   };
diff --git a/pkgs/servers/osmocom/osmo-sip-connector/default.nix b/pkgs/servers/osmocom/osmo-sip-connector/default.nix
index 0a5ab9ab9fd5f..77e4b8df3c5bf 100644
--- a/pkgs/servers/osmocom/osmo-sip-connector/default.nix
+++ b/pkgs/servers/osmocom/osmo-sip-connector/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     mainProgram = "osmo-sip-connector";
     homepage = "https://osmocom.org/projects/osmo-sip-conector";
     license = lib.licenses.agpl3Plus;
-    maintainers = with lib.maintainers; [ janik ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/oxigraph/default.nix b/pkgs/servers/oxigraph/default.nix
index 879f65454816c..868ec8f8bd396 100644
--- a/pkgs/servers/oxigraph/default.nix
+++ b/pkgs/servers/oxigraph/default.nix
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zwUiUDWdrmLF+Qj9Jy6JGXHaBskRnm+pMKW2GKGGeN8=";
+    hash = "sha256-zwUiUDWdrmLF+Qj9Jy6JGXHaBskRnm+pMKW2GKGGeN8=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/peertube/default.nix b/pkgs/servers/peertube/default.nix
index 9bd96afbbfc79..a839feda1f0a8 100644
--- a/pkgs/servers/peertube/default.nix
+++ b/pkgs/servers/peertube/default.nix
@@ -163,7 +163,7 @@ stdenv.mkDerivation rec {
 
     # Create static gzip and brotli files
     fd -e css -e eot -e html -e js -e json -e svg -e webmanifest -e xlf \
-      --type file --search-path $out/client/dist \
+      --type file --search-path $out/client/dist --threads $NIX_BUILD_CORES \
       --exec gzip -9 -n -c {} > {}.gz \;\
       --exec brotli --best -f {} -o {}.br
   '';
diff --git a/pkgs/servers/pinnwand/default.nix b/pkgs/servers/pinnwand/default.nix
index c7549e1913a14..bbed9967c2ac5 100644
--- a/pkgs/servers/pinnwand/default.nix
+++ b/pkgs/servers/pinnwand/default.nix
@@ -27,7 +27,6 @@ with python3.pkgs; buildPythonApplication rec {
 
   nativeBuildInputs = [
     pdm-pep517
-    pythonRelaxDepsHook
   ];
 
   pythonRelaxDeps = [
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index dbcd3aa9682fb..20de8eb6af496 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.40.3.8555-fef15d30c";
+  version = "1.40.4.8679-424562606";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    sha256 = "0v415di48dg5mvkvb374lbx089iavrbqiaada1wdhaz87gb54lww";
+    sha256 = "sha256-EZAMZ8GLOLCWhgi2Xxtn+EIHavSwLrw32aCwzAQfu8s=";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "0m2b9xalrvnwiblwygkjrypr8kpbcxh8mw30ka1sf4cxmny4g5lq";
+    sha256 = "sha256-wVyA70xqZ9T8brPlzjov2j4C9W+RJYo99hO3VtNBVqw=";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/pocketbase/default.nix b/pkgs/servers/pocketbase/default.nix
index 00e1f8cc38a45..a8812cfa2841b 100644
--- a/pkgs/servers/pocketbase/default.nix
+++ b/pkgs/servers/pocketbase/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "pocketbase";
-  version = "0.22.14";
+  version = "0.22.15";
 
   src = fetchFromGitHub {
     owner = "pocketbase";
     repo = "pocketbase";
     rev = "v${version}";
-    hash = "sha256-d2gqw3IJBkU2sfBf5J0E45VzFtuSox4cHpPucsl/o4s=";
+    hash = "sha256-HdsQ/l0TjvOegbX6YGI2ZZkZKofxJoXFIpUb2Vss1hc=";
   };
 
-  vendorHash = "sha256-G5VD5Joq/p1rur0SmK1xNQxtNZh7ZqR5I4j8fgswoDo=";
+  vendorHash = "sha256-KG1etP/wrjoDCTNYB9J5gmW2NMgBZQcdA1QfXKGipO8=";
 
   # This is the released subpackage from upstream repo
   subPackages = [ "examples/base" ];
diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix
index 5fbbf1752184c..61b867b653329 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-Scv4gXZZBujz/lq4QphH7rCQxTS7JT9wHpG4qsPK1mA=";
-    aarch64-linux = "sha256-fEDXNUrhSpheBFis7OdK4+fvpvm4+D4ulM/+h5erZLA=";
-    x86_64-darwin = "sha256-dgPuqclFQp/fOEIY32rlIqZIYbDzRbgHiYJRoICYWhg=";
-    x86_64-linux = "sha256-c89EiThP2LgkaeDxx01rQTtFZGcXvpMgo6yp+VViJO0=";
+    aarch64-darwin = "sha256-4bzeHU52XNAZW24P6uKQ0etUCW7dIsVpujrilPrI3hM=";
+    aarch64-linux = "sha256-0IpayOFTxhdbz7R3PhbTsdweMdDyY6J5WJ8JX/6aFbg=";
+    x86_64-darwin = "sha256-6hcuD63xwolT/dDKnrdfosyJy1W5kyPJJf/H4u6XGfw=";
+    x86_64-linux = "sha256-7ZDdXAVdMAArOy7iYaqmS6s70TQaZIknRoLRyTKpULg=";
   }.${stdenv.hostPlatform.system} or unsupported;
 
 in stdenv.mkDerivation rec {
   inherit pname;
-  version = "1.18.0.4543";
+  version = "1.19.0.4568";
 
   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/pufferpanel/default.nix b/pkgs/servers/pufferpanel/default.nix
index ce8a2762f07b7..e70106200b130 100644
--- a/pkgs/servers/pufferpanel/default.nix
+++ b/pkgs/servers/pufferpanel/default.nix
@@ -101,7 +101,7 @@ buildGoModule rec {
     description = "Free, open source game management panel";
     homepage = "https://www.pufferpanel.com/";
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ ckie tie ];
+    maintainers = with maintainers; [ tie ];
     mainProgram = "pufferpanel";
   };
 }
diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix
index 914eb44019e37..c8acc5debbfd9 100644
--- a/pkgs/servers/radarr/default.nix
+++ b/pkgs/servers/radarr/default.nix
@@ -10,15 +10,15 @@ let
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-rKe1xQR3lkPXQBUWmKdHUu/AQ99U1kCINeXV2z/ZG5o=";
-    arm64-linux_hash = "sha256-O/6brSo25E4BxvxAUQvwQa9kMY/Ga3YxgS+fuaL6/n0=";
-    x64-osx_hash = "sha256-oVBs0evwPl3Dd6GZlzUWqopB0Zq4mOCUwmLOjs44d6Q=";
-    arm64-osx_hash = "sha256-iUBy9ob2zOdKVhGbwsJx1ZrT9tD4D1BPLqjB46tCW08=";
+    x64-linux_hash = "sha256-MlnT16a2l209uqu9DuXLwqf4yiWBn9MggqVubzg0pM4=";
+    arm64-linux_hash = "sha256-2NkklAOjpDbAXid+rayiQ+jndLluIAMEiKz0MA1Hg0k=";
+    x64-osx_hash = "sha256-OzUZsXUwE7jF4h/rCvWAY5mh97z/cUbhh6MK0ozHC+A=";
+    arm64-osx_hash = "sha256-ggNqWCixkHxhiWTYfUx9qeZ9ocTyJEEgSZJqgGOnL+Q=";
   }."${arch}-${os}_hash";
 
 in stdenv.mkDerivation rec {
   pname = "radarr";
-  version = "5.6.0.8846";
+  version = "5.7.0.8882";
 
   src = fetchurl {
     url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/readarr/default.nix b/pkgs/servers/readarr/default.nix
index 7040e29470560..f2f159f8e4124 100644
--- a/pkgs/servers/readarr/default.nix
+++ b/pkgs/servers/readarr/default.nix
@@ -8,13 +8,13 @@ let
     x86_64-darwin = "x64";
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   hash = {
-    x64-linux_hash = "sha256-GncaJNZEbApPl6Tt9k0NblRPdYnOGiR1V6VTJB8+LIU=";
-    arm64-linux_hash = "sha256-PvZHTjBmcpfu7fg5TLgcGoLofnAr6QM/2uNbGOpsx+U=";
-    x64-osx_hash = "sha256-h6JPb9esNlR+zqa8P0U2+zeLyW2JWw+AE/5PBHBGIQA=";
+    x64-linux_hash = "sha256-jnsIftFHc2UpmW3WBWCff+cUqN40u/xKfQRMS1iMu4M=";
+    arm64-linux_hash = "sha256-ATdE9wXpew1D0wd/j2ntXBVYj/dMm/rWZLfOBKdrmnY=";
+    x64-osx_hash = "sha256-2/cUd45vhqdXAsrVPKlRTwOMd+kamW1OIOaB9G7xnjc=";
   }."${arch}-${os}_hash";
 in stdenv.mkDerivation rec {
   pname = "readarr";
-  version = "0.3.28.2554";
+  version = "0.3.29.2565";
 
   src = fetchurl {
     url = "https://github.com/Readarr/Readarr/releases/download/v${version}/Readarr.develop.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/resgate/default.nix b/pkgs/servers/resgate/default.nix
index a0de1efa69bab..7f74898234258 100644
--- a/pkgs/servers/resgate/default.nix
+++ b/pkgs/servers/resgate/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "resgate";
-  version = "1.7.5";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "resgateio";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-CAK2BjHa/l4cAWUKL0hGjqKi/Cdg+/K/MlnDreB69YE=";
+    hash = "sha256-HQgBWH6dqfmAfKMezUjPbwXif8bqAClns589la2lBVA=";
   };
 
-  vendorHash = "sha256-6uLCZvvQ8lRug6TlavQ1t73RqJlLCRxTwUhMp3OMMB0=";
+  vendorHash = "sha256-1yQScWjlqYvFmuqG4TLmImlCjFPrLcYcmZ1a3QUnSXY=";
 
   meta = with lib; {
     description = "Realtime API Gateway used with NATS to build REST, real time, and RPC APIs";
diff --git a/pkgs/servers/rinetd/default.nix b/pkgs/servers/rinetd/default.nix
index 23f1e89a780fe..1cd7d19059d49 100644
--- a/pkgs/servers/rinetd/default.nix
+++ b/pkgs/servers/rinetd/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/samhocevar/rinetd";
     changelog = "https://github.com/samhocevar/rinetd/blob/${src.rev}/CHANGES.md";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ janik ];
+    maintainers = with maintainers; [ ];
     mainProgram = "rinetd";
   };
 }
diff --git a/pkgs/servers/roon-server/default.nix b/pkgs/servers/roon-server/default.nix
index d6fee8dc56c68..368bca558cdf2 100644
--- a/pkgs/servers/roon-server/default.nix
+++ b/pkgs/servers/roon-server/default.nix
@@ -15,7 +15,7 @@
 , stdenv
 }:
 let
-  version = "2.0-1413";
+  version = "2.0-1432";
   urlVersion = builtins.replaceStrings [ "." "-" ] [ "00" "0" ] version;
 in
 stdenv.mkDerivation {
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://download.roonlabs.com/updates/production/RoonServer_linuxx64_${urlVersion}.tar.bz2";
-    hash = "sha256-VoTJu5+zuFFknDolGJ/69e1i6B4vfR9ev7sAKhfeRlU=";
+    hash = "sha256-h0Ly5S8ML29RtaZOpe0k4U/R0coClHHGUZyu5d1PqzQ=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 90c0fc9b2cdf1..00763ceee550c 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   src = fetchgit {
     url = "git://git.linux-nfs.org/projects/steved/rpcbind.git";
     rev = "c0c89b3bf2bdf304a5fe3cab626334e0cdaf1ef2";
-    sha256 = "sha256-aidETIZaQYzC3liDGM915wyBWpMrn4OudxEcFS/Iucw=";
+    hash = "sha256-aidETIZaQYzC3liDGM915wyBWpMrn4OudxEcFS/Iucw=";
   };
 
   patches = [
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 4874f45d96241..8723033346b02 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
   version = "4.20.1";
 
   src = fetchurl {
-    url = "mirror://samba/pub/samba/stable/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
+    url = "mirror://samba/pub/samba/stable/samba-${finalAttrs.version}.tar.gz";
     hash = "sha256-+Tw69SlTQNCBBsfA3PuF5PhQV9/RRYeqiBe+sxr/iPc=";
   };
 
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index 36192f2fc5ffc..a9bff8533ab90 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "groonga";
-  version = "14.0.4";
+  version = "14.0.5";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/groonga/groonga-${finalAttrs.version}.tar.gz";
-    hash = "sha256-8ppuiEAc25BDcWSiL28ehGfdarnBc4vnGTO+nLl6RsY=";
+    hash = "sha256-y4UGnv8kK0z+br8wXpPf57NMXkdEJHcLCuTvYiubnIc=";
   };
 
   patches = [
diff --git a/pkgs/servers/search/khoj/default.nix b/pkgs/servers/search/khoj/default.nix
index 202eedb46f7bf..5dad9fb101fdf 100644
--- a/pkgs/servers/search/khoj/default.nix
+++ b/pkgs/servers/search/khoj/default.nix
@@ -1,5 +1,4 @@
 { lib
-, stdenv
 , fetchFromGitHub
 , python3
 , postgresql
diff --git a/pkgs/servers/search/meilisearch/Cargo.lock b/pkgs/servers/search/meilisearch/Cargo.lock
index 321e3053e5363..3c728f3481922 100644
--- a/pkgs/servers/search/meilisearch/Cargo.lock
+++ b/pkgs/servers/search/meilisearch/Cargo.lock
@@ -36,9 +36,9 @@ dependencies = [
 
 [[package]]
 name = "actix-http"
-version = "3.6.0"
+version = "3.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d223b13fd481fc0d1f83bb12659ae774d9e3601814c68a0bc539731698cca743"
+checksum = "4eb9843d84c775696c37d9a418bbb01b932629d01870722c0f13eb3f95e2536d"
 dependencies = [
  "actix-codec",
  "actix-rt",
@@ -46,7 +46,7 @@ dependencies = [
  "actix-tls",
  "actix-utils",
  "ahash",
- "base64 0.21.7",
+ "base64 0.22.1",
  "bitflags 2.5.0",
  "brotli",
  "bytes",
@@ -80,18 +80,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
 dependencies = [
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
 name = "actix-router"
-version = "0.5.1"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799"
+checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8"
 dependencies = [
  "bytestring",
+ "cfg-if",
  "http 0.2.11",
  "regex",
+ "regex-lite",
  "serde",
  "tracing",
 ]
@@ -138,9 +140,9 @@ dependencies = [
 
 [[package]]
 name = "actix-tls"
-version = "3.3.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4cce60a2f2b477bc72e5cde0af1812a6e82d8fd85b5570a5dcf2a5bf2c5be5f"
+checksum = "ac453898d866cdbecdbc2334fe1738c747b4eba14a677261f2b768ba05329389"
 dependencies = [
  "actix-rt",
  "actix-service",
@@ -167,9 +169,9 @@ dependencies = [
 
 [[package]]
 name = "actix-web"
-version = "4.5.1"
+version = "4.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a6556ddebb638c2358714d853257ed226ece6023ef9364f23f0c70737ea984"
+checksum = "b1cf67dadb19d7c95e5a299e2dda24193b89d5d4f33a3b9800888ede9e19aa32"
 dependencies = [
  "actix-codec",
  "actix-http",
@@ -196,7 +198,7 @@ dependencies = [
  "mime",
  "once_cell",
  "pin-project-lite",
- "regex",
+ "regex-lite",
  "serde",
  "serde_json",
  "serde_urlencoded",
@@ -220,8 +222,9 @@ dependencies = [
 
 [[package]]
 name = "actix-web-static-files"
-version = "3.0.5"
-source = "git+https://github.com/kilork/actix-web-static-files.git?rev=2d3b6160#2d3b6160f0de4ba061c5d76b5704f34fb677f6df"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adf6d1ef6d7a60e084f9e0595e2a5234abda14e76c105ecf8e2d0e8800c41a1f"
 dependencies = [
  "actix-web",
  "derive_more",
@@ -378,9 +381,9 @@ dependencies = [
 
 [[package]]
 name = "arroy"
-version = "0.2.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efddeb1e7c32a551cc07ef4c3e181e3cd5478fdaf4f0bd799983171c1f6efe57"
+checksum = "2ece9e5347e7fdaaea3181dec7f916677ad5f3fcbac183648ce1924eb4aeef9a"
 dependencies = [
  "bytemuck",
  "byteorder",
@@ -424,7 +427,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -435,7 +438,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -487,6 +490,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
+name = "base64"
+version = "0.22.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
+
+[[package]]
 name = "base64ct"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -494,7 +503,7 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 
 [[package]]
 name = "benchmarks"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "anyhow",
  "bytes",
@@ -552,7 +561,7 @@ dependencies = [
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -607,9 +616,9 @@ dependencies = [
 
 [[package]]
 name = "brotli"
-version = "3.4.0"
+version = "6.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
+checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -618,9 +627,9 @@ dependencies = [
 
 [[package]]
 name = "brotli-decompressor"
-version = "2.5.1"
+version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
+checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -639,7 +648,7 @@ dependencies = [
 
 [[package]]
 name = "build-info"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "anyhow",
  "time",
@@ -670,9 +679,9 @@ checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
 
 [[package]]
 name = "bytemuck"
-version = "1.15.0"
+version = "1.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
+checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e"
 dependencies = [
  "bytemuck_derive",
 ]
@@ -685,7 +694,7 @@ checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -845,9 +854,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 
 [[package]]
 name = "cc"
-version = "1.0.90"
+version = "1.0.94"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
+checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
 dependencies = [
  "jobserver",
  "libc",
@@ -889,9 +898,9 @@ dependencies = [
 
 [[package]]
 name = "charabia"
-version = "0.8.10"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "933f20f2269b24d32fd5503e7b3c268af902190daf8d9d2b73ed2e75d77c00b4"
+checksum = "11a09ae38cfcc153f01576c3f579dfd916e0320f1b474f298c8d680b2dd92eb6"
 dependencies = [
  "aho-corasick",
  "cow-utils",
@@ -980,7 +989,7 @@ dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim",
+ "strsim 0.10.0",
 ]
 
 [[package]]
@@ -992,7 +1001,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1271,12 +1280,12 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.3"
+version = "0.20.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1"
 dependencies = [
- "darling_core 0.20.3",
- "darling_macro 0.20.3",
+ "darling_core 0.20.9",
+ "darling_macro 0.20.9",
 ]
 
 [[package]]
@@ -1289,22 +1298,22 @@ dependencies = [
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
+ "strsim 0.10.0",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.58",
+ "strsim 0.11.1",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1320,13 +1329,13 @@ dependencies = [
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178"
 dependencies = [
- "darling_core 0.20.3",
+ "darling_core 0.20.9",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1356,7 +1365,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1378,6 +1387,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "derive_builder"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7"
+dependencies = [
+ "derive_builder_macro 0.20.0",
+]
+
+[[package]]
 name = "derive_builder_core"
 version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1402,6 +1420,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "derive_builder_core"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d"
+dependencies = [
+ "darling 0.20.9",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.60",
+]
+
+[[package]]
 name = "derive_builder_macro"
 version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1422,6 +1452,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "derive_builder_macro"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b"
+dependencies = [
+ "derive_builder_core 0.20.0",
+ "syn 2.0.60",
+]
+
+[[package]]
 name = "derive_more"
 version = "0.99.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1448,7 +1488,7 @@ dependencies = [
  "serde-cs",
  "serde_json",
  "serde_urlencoded",
- "strsim",
+ "strsim 0.10.0",
 ]
 
 [[package]]
@@ -1460,7 +1500,7 @@ dependencies = [
  "convert_case 0.6.0",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1530,16 +1570,16 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
 
 [[package]]
 name = "doxygen-rs"
-version = "0.2.2"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bff670ea0c9bbb8414e7efa6e23ebde2b8f520a7eef78273a3918cf1903e7505"
+checksum = "415b6ec780d34dcf624666747194393603d0373b7141eef01d12ee58881507d9"
 dependencies = [
  "phf",
 ]
 
 [[package]]
 name = "dump"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "anyhow",
  "big_s",
@@ -1678,7 +1718,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1698,30 +1738,7 @@ checksum = "03cdc46ec28bd728e67540c528013c6a10eb69a02eb31078a1bda695438cbfb8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "env_filter"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
-dependencies = [
- "log",
- "regex",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
-dependencies = [
- "anstream",
- "anstyle",
- "env_filter",
- "humantime",
- "log",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1778,16 +1795,16 @@ version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d15473d7f83b54a44826907af16ae5727eaacaf6e53b51474016d3efd9aa35d5"
 dependencies = [
- "darling 0.20.3",
+ "darling 0.20.9",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "uuid",
 ]
 
 [[package]]
 name = "file-store"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "faux",
  "tempfile",
@@ -1810,7 +1827,7 @@ dependencies = [
 
 [[package]]
 name = "filter-parser"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "insta",
  "nom",
@@ -1830,7 +1847,7 @@ dependencies = [
 
 [[package]]
 name = "flatten-serde-json"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "criterion",
  "serde_json",
@@ -1913,7 +1930,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -1948,7 +1965,7 @@ dependencies = [
 
 [[package]]
 name = "fuzzers"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "arbitrary",
  "clap",
@@ -2117,9 +2134,9 @@ checksum = "36d244a08113319b5ebcabad2b8b7925732d15eec46d7e7ac3c11734f3b7a6ad"
 
 [[package]]
 name = "getrandom"
-version = "0.2.12"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -2256,12 +2273,11 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "heed"
-version = "0.20.0-alpha.9"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9648a50991c86df7d00c56c268c27754fcf4c80be2ba57fc4a00dc928c6fe934"
+checksum = "f60d7cff16094be9627830b399c087a25017e93fb3768b87cd656a68ccb1ebe8"
 dependencies = [
  "bitflags 2.5.0",
- "bytemuck",
  "byteorder",
  "heed-traits",
  "heed-types",
@@ -2275,15 +2291,15 @@ dependencies = [
 
 [[package]]
 name = "heed-traits"
-version = "0.20.0-alpha.9"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ab0b7d9cde969ad36dde692e487dc89d97f7168bf6a7bd3b894ad4bf7278298"
+checksum = "eb3130048d404c57ce5a1ac61a903696e8fcde7e8c2991e9fcfc1f27c3ef74ff"
 
 [[package]]
 name = "heed-types"
-version = "0.20.0-alpha.9"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0cb3567a7363f28b597bf6e9897b9466397951dd0e52df2c8196dd8a71af44a"
+checksum = "3cb0d6ba3700c9a57e83c013693e3eddb68a6d9b6781cacafc62a0d992e8ddb3"
 dependencies = [
  "bincode",
  "byteorder",
@@ -2375,12 +2391,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
 
 [[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
 name = "hyper"
 version = "0.14.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2413,7 +2423,7 @@ dependencies = [
  "futures-util",
  "http 0.2.11",
  "hyper",
- "rustls 0.21.10",
+ "rustls 0.21.12",
  "tokio",
  "tokio-rustls",
 ]
@@ -2442,9 +2452,10 @@ checksum = "206ca75c9c03ba3d4ace2460e57b189f39f43de612c2f85836e65c929701bb2d"
 
 [[package]]
 name = "index-scheduler"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "anyhow",
+ "arroy",
  "big_s",
  "bincode",
  "crossbeam",
@@ -2455,11 +2466,11 @@ dependencies = [
  "file-store",
  "flate2",
  "insta",
+ "maplit",
  "meili-snap",
  "meilisearch-auth",
  "meilisearch-types",
  "page_size 0.5.0",
- "puffin",
  "rayon",
  "roaring",
  "serde",
@@ -2638,7 +2649,7 @@ dependencies = [
 
 [[package]]
 name = "json-depth-checker"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "criterion",
  "serde_json",
@@ -2774,9 +2785,9 @@ dependencies = [
 
 [[package]]
 name = "lindera"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1bbf252ea3490053dc397539ece0b510924f2f72605fa28d3e858d86f43ec88"
+checksum = "dcd4fa369654517f72c10b24adf03ad4ce69d19facb79c3cb3cf9b4580ac352f"
 dependencies = [
  "lindera-analyzer",
  "lindera-core",
@@ -2787,9 +2798,9 @@ dependencies = [
 
 [[package]]
 name = "lindera-analyzer"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87febfec0e2859ce2154fb90dd6f66b774ddb0b6e264b44f8e3d1303c9dcedd7"
+checksum = "c2cba7fe275cb8ec4c594cfee9cc39e48b71e02a089457d52f3e70dc146a8133"
 dependencies = [
  "anyhow",
  "bincode",
@@ -2817,9 +2828,9 @@ dependencies = [
 
 [[package]]
 name = "lindera-cc-cedict"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb91bb8a93ab0f95dbc3c43b5105354bb059134ef731154f75a64b5d919e71d"
+checksum = "240adf9faba3f09ad16557aefcd316dd00ebb940ac94334a629660d772f118c1"
 dependencies = [
  "bincode",
  "byteorder",
@@ -2831,29 +2842,21 @@ dependencies = [
 
 [[package]]
 name = "lindera-cc-cedict-builder"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6022a8309a287dbef425fd09a61585351670c83001d74f6c089979e2330b683"
+checksum = "f12241f9e74babe708a0b9441d9f3fa67cb29fd01257918f30ffd480ca568820"
 dependencies = [
  "anyhow",
- "bincode",
- "byteorder",
- "csv",
- "encoding",
- "env_logger",
- "glob",
- "lindera-compress",
  "lindera-core",
  "lindera-decompress",
- "log",
- "yada",
+ "lindera-dictionary-builder",
 ]
 
 [[package]]
 name = "lindera-compress"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32363cbcf433f915e7d77c2a0c410db2d6b23442e80715cf2cf6b9864078a500"
+checksum = "50f9f7a858d70ff9e4383cbd507ca9e98c8faf0319e08c10df4c30cb58c9ca6c"
 dependencies = [
  "anyhow",
  "flate2",
@@ -2862,9 +2865,9 @@ dependencies = [
 
 [[package]]
 name = "lindera-core"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9a0e858753a02b1a3524fae4fbb11ca4b3a947128fd7854b797386562678be8"
+checksum = "7f09810ab98ce2a084d788ac38fbb7b31697f34bc47c61de0d880320a674bd15"
 dependencies = [
  "anyhow",
  "bincode",
@@ -2879,9 +2882,9 @@ dependencies = [
 
 [[package]]
 name = "lindera-decompress"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e406345f6f8b665b9a129c67079c18ca9d97e9d171d102b4106a64a592c285e"
+checksum = "d53400c9b2dd6b45f82d9fa5b5efe079f3acaf6ce609dba8d42c8a76baaa2b12"
 dependencies = [
  "anyhow",
  "flate2",
@@ -2890,9 +2893,9 @@ dependencies = [
 
 [[package]]
 name = "lindera-dictionary"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e2a3ec0e5fd6768a27c6ec1040e8470d3a5926418f7afe065859e98aabb3bfe"
+checksum = "2053d064a515839250438b8dfa6cf445e2b97633232ded34a54f267e945d196e"
 dependencies = [
  "anyhow",
  "bincode",
@@ -2914,10 +2917,32 @@ dependencies = [
 ]
 
 [[package]]
+name = "lindera-dictionary-builder"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14f486924055f8bedcc5877572e4dc91fbc10370862430ac2e5f7f0d671a18c8"
+dependencies = [
+ "anyhow",
+ "bincode",
+ "byteorder",
+ "csv",
+ "derive_builder 0.20.0",
+ "encoding",
+ "encoding_rs",
+ "encoding_rs_io",
+ "glob",
+ "lindera-compress",
+ "lindera-core",
+ "lindera-decompress",
+ "log",
+ "yada",
+]
+
+[[package]]
 name = "lindera-filter"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1badaf51bad051185ea4917ba91bbbf2d6f8167e155647e21e0eaaef0982a95d"
+checksum = "bb3904fc279f0297f6fd6210435adab1f8c82ba84eba8635407c791af51c0d8a"
 dependencies = [
  "anyhow",
  "csv",
@@ -2940,9 +2965,9 @@ dependencies = [
 
 [[package]]
 name = "lindera-ipadic"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "129ec16366354998f9791467ad38731539197747f649e573ead845358271ce25"
+checksum = "4aa3ef2f1f6838b0fa2e2fca2896242bb83bc877c1760cdb6fa23449ab95d664"
 dependencies = [
  "bincode",
  "byteorder",
@@ -2954,31 +2979,21 @@ dependencies = [
 
 [[package]]
 name = "lindera-ipadic-builder"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f0979a56bc57e9c9be2996dff232c47aa146a2e7baebf5dd567e388eba3dd90"
+checksum = "a41287db18eadb58d73a04d49778d41c161549fbbbe155d4338976b7b8541c7d"
 dependencies = [
  "anyhow",
- "bincode",
- "byteorder",
- "csv",
- "encoding_rs",
- "encoding_rs_io",
- "env_logger",
- "glob",
- "lindera-compress",
  "lindera-core",
  "lindera-decompress",
- "log",
- "serde",
- "yada",
+ "lindera-dictionary-builder",
 ]
 
 [[package]]
 name = "lindera-ipadic-neologd"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20076660c4e79ef0316735b44e18ec7644e54786acdee8946c972d5f97086d0f"
+checksum = "49382256f245078400bf7e72663f9eb30afcd9ed54cd46f29d7db1be529678e1"
 dependencies = [
  "bincode",
  "byteorder",
@@ -2990,31 +3005,21 @@ dependencies = [
 
 [[package]]
 name = "lindera-ipadic-neologd-builder"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eccd18ed5f65d1d64ac0cbfa1d6827bfbbaf6530520ae6847e6a91ee38f47e20"
+checksum = "5ae9cfd2fda68ef526ef0c7b50c5d4d5582a4daa6ecd0cea9e2b0b62564a2a5d"
 dependencies = [
  "anyhow",
- "bincode",
- "byteorder",
- "csv",
- "encoding_rs",
- "encoding_rs_io",
- "env_logger",
- "glob",
- "lindera-compress",
  "lindera-core",
  "lindera-decompress",
- "log",
- "serde",
- "yada",
+ "lindera-dictionary-builder",
 ]
 
 [[package]]
 name = "lindera-ko-dic"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59073171566c3e498ca048e84c2d0a7e117a42f36c8eb7d7163e65ac38bd6d48"
+checksum = "7f86d03a863f3ae1d269e7b7d4dd2cce9385a53463479bafc5d7aa48719f36db"
 dependencies = [
  "bincode",
  "byteorder",
@@ -3030,29 +3035,21 @@ dependencies = [
 
 [[package]]
 name = "lindera-ko-dic-builder"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae176afa8535ca2a5ee9471873f85d531db0a6c32a3c42b41084506aac22b577"
+checksum = "bd0f44f2e56358c5879dfb5e7f76cc6ba7853ec31082c4e3f8fb65fb2d849c51"
 dependencies = [
  "anyhow",
- "bincode",
- "byteorder",
- "csv",
- "encoding",
- "env_logger",
- "glob",
- "lindera-compress",
  "lindera-core",
  "lindera-decompress",
- "log",
- "yada",
+ "lindera-dictionary-builder",
 ]
 
 [[package]]
 name = "lindera-tokenizer"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "457285bdde84571aa510c9e05371904305a55e8a541fa1473d4393062f06932d"
+checksum = "7c5182735cdc2832ac757b31e8a5b150a3514357a30efe3dec212f8dcb06ba14"
 dependencies = [
  "bincode",
  "lindera-core",
@@ -3064,9 +3061,9 @@ dependencies = [
 
 [[package]]
 name = "lindera-unidic"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5839980be552dfa639b70964c61914a9ad014148663679b0e148aa72e5e30f23"
+checksum = "6c63da104728dd1cf14bfa564753cbfa996f6078ed2e23e31475bd1d639fc597"
 dependencies = [
  "bincode",
  "byteorder",
@@ -3082,22 +3079,14 @@ dependencies = [
 
 [[package]]
 name = "lindera-unidic-builder"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcaab8f061d5b944b1e424f49c7efbf8f276e8a72e4f4ff956d01e46d481f008"
+checksum = "04acecbc068dac21766a1b7ed1f2608b6f250d10b4f8bff67abc2a00437a0974"
 dependencies = [
  "anyhow",
- "bincode",
- "byteorder",
- "csv",
- "encoding",
- "env_logger",
- "glob",
- "lindera-compress",
  "lindera-core",
  "lindera-decompress",
- "log",
- "yada",
+ "lindera-dictionary-builder",
 ]
 
 [[package]]
@@ -3157,7 +3146,7 @@ checksum = "fc2fb41a9bb4257a3803154bdf7e2df7d45197d1941c9b1a90ad815231630721"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -3183,14 +3172,13 @@ checksum = "f9d642685b028806386b2b6e75685faadd3eb65a85fff7df711ce18446a422da"
 
 [[package]]
 name = "lmdb-master-sys"
-version = "0.1.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "629c123f5321b48fa4f8f4d3b868165b748d9ba79c7103fb58e3a94f736bcedd"
+checksum = "a5142795c220effa4c8f4813537bd4c88113a07e45e93100ccb2adc5cec6c7f3"
 dependencies = [
  "cc",
  "doxygen-rs",
  "libc",
- "pkg-config",
 ]
 
 [[package]]
@@ -3213,9 +3201,9 @@ checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -3228,12 +3216,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
-name = "lz4_flex"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b8c72594ac26bfd34f2d99dfced2edfaddfe8a476e3ff2ca0eb293d925c4f83"
-
-[[package]]
 name = "macro_rules_attribute"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3258,7 +3240,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -3275,7 +3257,7 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
 
 [[package]]
 name = "meili-snap"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "insta",
  "md5",
@@ -3284,7 +3266,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "actix-cors",
  "actix-http",
@@ -3337,12 +3319,11 @@ dependencies = [
  "pin-project-lite",
  "platform-dirs",
  "prometheus",
- "puffin",
  "rand",
  "rayon",
  "regex",
  "reqwest",
- "rustls 0.21.10",
+ "rustls 0.21.12",
  "rustls-pemfile",
  "segment",
  "serde",
@@ -3377,7 +3358,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch-auth"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "base64 0.21.7",
  "enum-iterator",
@@ -3396,7 +3377,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch-types"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "actix-web",
  "anyhow",
@@ -3426,7 +3407,7 @@ dependencies = [
 
 [[package]]
 name = "meilitool"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "anyhow",
  "clap",
@@ -3465,7 +3446,7 @@ dependencies = [
 
 [[package]]
 name = "milli"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "arroy",
  "big_s",
@@ -3505,7 +3486,6 @@ dependencies = [
  "obkv",
  "once_cell",
  "ordered-float",
- "puffin",
  "rand",
  "rand_pcg",
  "rayon",
@@ -3598,7 +3578,7 @@ checksum = "371717c0a5543d6a800cac822eac735aa7d2d2fbb41002e9856a4089532dbdce"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -3906,7 +3886,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "permissive-json-pointer"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "big_s",
  "serde_json",
@@ -3942,7 +3922,7 @@ dependencies = [
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -3996,7 +3976,7 @@ dependencies = [
  "phf_shared",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4025,7 +4005,7 @@ checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4133,9 +4113,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.79"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
+checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
 dependencies = [
  "unicode-ident",
 ]
@@ -4177,23 +4157,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94"
 
 [[package]]
-name = "puffin"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76425abd4e1a0ad4bd6995dd974b52f414fca9974171df8e3708b3e660d05a21"
-dependencies = [
- "anyhow",
- "bincode",
- "byteorder",
- "cfg-if",
- "instant",
- "lz4_flex",
- "once_cell",
- "parking_lot",
- "serde",
-]
-
-[[package]]
 name = "pulp"
 version = "0.18.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4207,9 +4170,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.35"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 dependencies = [
  "proc-macro2",
 ]
@@ -4363,6 +4326,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "regex-lite"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e"
+
+[[package]]
 name = "regex-syntax"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4391,7 +4360,7 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
- "rustls 0.21.10",
+ "rustls 0.21.12",
  "rustls-pemfile",
  "serde",
  "serde_json",
@@ -4411,12 +4380,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "retain_mut"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086"
-
-[[package]]
 name = "ring"
 version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4433,13 +4396,12 @@ dependencies = [
 
 [[package]]
 name = "roaring"
-version = "0.10.2"
+version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6106b5cf8587f5834158895e9715a3c6c9716c8aefab57f1f7680917191c7873"
+checksum = "7699249cc2c7d71939f30868f47e9d7add0bdc030d90ee10bfd16887ff8bb1c8"
 dependencies = [
  "bytemuck",
  "byteorder",
- "retain_mut",
  "serde",
 ]
 
@@ -4505,9 +4467,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.21.10"
+version = "0.21.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
 dependencies = [
  "log",
  "ring",
@@ -4517,9 +4479,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.22.2"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
 dependencies = [
  "log",
  "ring",
@@ -4540,9 +4502,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.3.1"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ede67b28608b4c60685c7d54122d4400d90f62b40caee7700e700380a390fa8"
+checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
 
 [[package]]
 name = "rustls-webpki"
@@ -4643,9 +4605,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
 
 [[package]]
 name = "serde"
-version = "1.0.197"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
 dependencies = [
  "serde_derive",
 ]
@@ -4661,20 +4623,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.197"
+version = "1.0.198"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.115"
+version = "1.0.116"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
+checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
 dependencies = [
  "indexmap",
  "itoa",
@@ -4923,6 +4885,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
 name = "strum"
 version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4941,7 +4909,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -4963,9 +4931,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.58"
+version = "2.0.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
+checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4989,7 +4957,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -5085,22 +5053,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.58"
+version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
+checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.58"
+version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
+checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -5243,7 +5211,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -5252,7 +5220,7 @@ version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
 dependencies = [
- "rustls 0.21.10",
+ "rustls 0.21.12",
  "tokio",
 ]
 
@@ -5335,9 +5303,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-actix-web"
-version = "0.7.9"
+version = "0.7.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fe0d5feac3f4ca21ba33496bcb1ccab58cca6412b1405ae80f0581541e0ca78"
+checksum = "4ee9e39a66d9b615644893ffc1704d2a89b5b315b7fd0228ad3182ca9a306b19"
 dependencies = [
  "actix-web",
  "mutually_exclusive_features",
@@ -5354,7 +5322,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -5469,9 +5437,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-blocks"
@@ -5529,15 +5497,15 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "ureq"
-version = "2.9.6"
+version = "2.9.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35"
+checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd"
 dependencies = [
- "base64 0.21.7",
+ "base64 0.22.1",
  "flate2",
  "log",
  "once_cell",
- "rustls 0.22.2",
+ "rustls 0.22.4",
  "rustls-pki-types",
  "rustls-webpki 0.102.2",
  "serde",
@@ -5703,7 +5671,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "wasm-bindgen-shared",
 ]
 
@@ -5737,7 +5705,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -5834,7 +5802,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
 dependencies = [
  "windows-core",
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -5843,7 +5811,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -5870,7 +5838,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -5905,17 +5873,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -5932,9 +5900,9 @@ checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -5950,9 +5918,9 @@ checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -5968,9 +5936,9 @@ checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -5986,9 +5954,9 @@ checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -6004,9 +5972,9 @@ checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -6022,9 +5990,9 @@ checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -6040,9 +6008,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winnow"
@@ -6074,7 +6042,7 @@ dependencies = [
 
 [[package]]
 name = "xtask"
-version = "1.8.3"
+version = "1.9.0"
 dependencies = [
  "anyhow",
  "build-info",
@@ -6140,7 +6108,7 @@ checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "synstructure",
 ]
 
@@ -6161,7 +6129,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
 ]
 
 [[package]]
@@ -6181,7 +6149,7 @@ checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.58",
+ "syn 2.0.60",
  "synstructure",
 ]
 
diff --git a/pkgs/servers/search/meilisearch/default.nix b/pkgs/servers/search/meilisearch/default.nix
index 4a67233194168..efbef3bed8fda 100644
--- a/pkgs/servers/search/meilisearch/default.nix
+++ b/pkgs/servers/search/meilisearch/default.nix
@@ -10,7 +10,7 @@
 }:
 
 let
-  version = "1.8.3";
+  version = "1.9.0";
 in
 rustPlatform.buildRustPackage {
   pname = "meilisearch";
@@ -18,9 +18,9 @@ rustPlatform.buildRustPackage {
 
   src = fetchFromGitHub {
     owner = "meilisearch";
-    repo = "MeiliSearch";
+    repo = "meiliSearch";
     rev = "refs/tags/v${version}";
-    hash = "sha256-R074dn9kWxHf5loq/K4aLWvrJwpt7YAigNU0YHc0mRg=";
+    hash = "sha256-fPXhayS8OKiiiDvVvBry3njZ74/W6oVL0p85Z5qf3KA==";
   };
 
   cargoBuildFlags = [ "--package=meilisearch" ];
@@ -28,7 +28,6 @@ rustPlatform.buildRustPackage {
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "actix-web-static-files-3.0.5" = "sha256-2BN0RzLhdykvN3ceRLkaKwSZtel2DBqZ+uz4Qut+nII=";
       "hf-hub-0.3.2" = "sha256-tsn76b+/HRvPnZ7cWd8SBcEdnMPtjUEIRJipOJUbz54=";
       "tokenizers-0.15.2" = "sha256-lWvCu2hDJFzK6IUBJ4yeL4eZkOA08LHEMfiKXVvkog8=";
     };
diff --git a/pkgs/servers/search/qdrant/Cargo.lock b/pkgs/servers/search/qdrant/Cargo.lock
index 65ed8a715ae4f..0f07b40a12e6b 100644
--- a/pkgs/servers/search/qdrant/Cargo.lock
+++ b/pkgs/servers/search/qdrant/Cargo.lock
@@ -231,9 +231,9 @@ dependencies = [
 
 [[package]]
 name = "actix-web"
-version = "4.7.0"
+version = "4.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d6316df3fa569627c98b12557a8b6ff0674e5be4bb9b5e4ae2550ddb4964ed6"
+checksum = "1988c02af8d2b718c05bc4aeb6a66395b7cdf32858c2c71131e5637a8c05a9ff"
 dependencies = [
  "actix-codec",
  "actix-http",
@@ -476,7 +476,7 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
 
 [[package]]
 name = "api"
-version = "1.9.6"
+version = "1.9.7"
 dependencies = [
  "chrono",
  "common",
@@ -871,9 +871,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 
 [[package]]
 name = "cc"
-version = "1.0.99"
+version = "1.0.100"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695"
+checksum = "c891175c3fb232128f48de6590095e59198bbeb8620c310be349bfc3afd12c7b"
 dependencies = [
  "jobserver",
  "libc",
@@ -1586,11 +1586,12 @@ dependencies = [
 
 [[package]]
 name = "dashmap"
-version = "5.5.3"
+version = "6.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28"
 dependencies = [
  "cfg-if",
+ "crossbeam-utils",
  "hashbrown 0.14.2",
  "lock_api",
  "once_cell",
@@ -1647,17 +1648,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "displaydoc"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.48",
-]
-
-[[package]]
 name = "dlv-list"
 version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2608,124 +2598,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "icu_collections"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
-dependencies = [
- "displaydoc",
- "yoke",
- "zerofrom",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
-dependencies = [
- "displaydoc",
- "litemap",
- "tinystr",
- "writeable",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid_transform"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
-dependencies = [
- "displaydoc",
- "icu_locid",
- "icu_locid_transform_data",
- "icu_provider",
- "tinystr",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid_transform_data"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
-
-[[package]]
-name = "icu_normalizer"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
-dependencies = [
- "displaydoc",
- "icu_collections",
- "icu_normalizer_data",
- "icu_properties",
- "icu_provider",
- "smallvec",
- "utf16_iter",
- "utf8_iter",
- "write16",
- "zerovec",
-]
-
-[[package]]
-name = "icu_normalizer_data"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
-
-[[package]]
-name = "icu_properties"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036"
-dependencies = [
- "displaydoc",
- "icu_collections",
- "icu_locid_transform",
- "icu_properties_data",
- "icu_provider",
- "tinystr",
- "zerovec",
-]
-
-[[package]]
-name = "icu_properties_data"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
-
-[[package]]
-name = "icu_provider"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
-dependencies = [
- "displaydoc",
- "icu_locid",
- "icu_provider_macros",
- "stable_deref_trait",
- "tinystr",
- "writeable",
- "yoke",
- "zerofrom",
- "zerovec",
-]
-
-[[package]]
-name = "icu_provider_macros"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.48",
-]
-
-[[package]]
 name = "ident_case"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2743,14 +2615,12 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "1.0.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
- "icu_normalizer",
- "icu_properties",
- "smallvec",
- "utf8_iter",
+ "unicode-bidi",
+ "unicode-normalization",
 ]
 
 [[package]]
@@ -3030,9 +2900,9 @@ checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
 
 [[package]]
 name = "lazy_static"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
 
 [[package]]
 name = "lazycell"
@@ -4200,9 +4070,9 @@ dependencies = [
 
 [[package]]
 name = "proptest"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf"
+checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d"
 dependencies = [
  "bit-set",
  "bit-vec",
@@ -4445,7 +4315,7 @@ dependencies = [
 
 [[package]]
 name = "qdrant"
-version = "1.9.6"
+version = "1.9.7"
 dependencies = [
  "actix-cors",
  "actix-files",
@@ -5949,9 +5819,9 @@ checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
 
 [[package]]
 name = "strum"
-version = "0.26.2"
+version = "0.26.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
+checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
 dependencies = [
  "strum_macros",
 ]
@@ -6033,17 +5903,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
 
 [[package]]
-name = "synstructure"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.48",
-]
-
-[[package]]
 name = "sys-info"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6256,16 +6115,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tinystr"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
-dependencies = [
- "displaydoc",
- "zerovec",
-]
-
-[[package]]
 name = "tinytemplate"
 version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6749,29 +6598,17 @@ dependencies = [
 
 [[package]]
 name = "url"
-version = "2.5.1"
+version = "2.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56"
+checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
 dependencies = [
  "form_urlencoded",
- "idna 1.0.0",
+ "idna 0.5.0",
  "percent-encoding",
  "serde",
 ]
 
 [[package]]
-name = "utf16_iter"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
-
-[[package]]
-name = "utf8_iter"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
-
-[[package]]
 name = "utf8parse"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6779,9 +6616,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.8.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
+checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439"
 dependencies = [
  "getrandom 0.2.11",
  "serde",
@@ -7340,18 +7177,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "write16"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
-
-[[package]]
-name = "writeable"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
-
-[[package]]
 name = "wyz"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7387,30 +7212,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "yoke"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
-dependencies = [
- "serde",
- "stable_deref_trait",
- "yoke-derive",
- "zerofrom",
-]
-
-[[package]]
-name = "yoke-derive"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.48",
- "synstructure",
-]
-
-[[package]]
 name = "zerocopy"
 version = "0.7.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7435,21 +7236,6 @@ name = "zerofrom"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "655b0814c5c0b19ade497851070c640773304939a6c0fd5f5fb43da0696d05b7"
-dependencies = [
- "zerofrom-derive",
-]
-
-[[package]]
-name = "zerofrom-derive"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.48",
- "synstructure",
-]
 
 [[package]]
 name = "zeroize"
@@ -7463,20 +7249,7 @@ version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c"
 dependencies = [
- "yoke",
  "zerofrom",
- "zerovec-derive",
-]
-
-[[package]]
-name = "zerovec-derive"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.48",
 ]
 
 [[package]]
diff --git a/pkgs/servers/search/qdrant/default.nix b/pkgs/servers/search/qdrant/default.nix
index cb8ef90f2026f..b34640a32aa92 100644
--- a/pkgs/servers/search/qdrant/default.nix
+++ b/pkgs/servers/search/qdrant/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "qdrant";
-  version = "1.9.6";
+  version = "1.9.7";
 
   src = fetchFromGitHub {
     owner = "qdrant";
     repo = "qdrant";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-fRQZmCHbWC5G6kS4+9KWgI4Qc6JnX3aBS4wJJgTWHlk=";
+    sha256 = "sha256-PM2nzHkZVvlH/ojZK8o2ELkLUtMNr0I2cezFlaPqYSA=";
   };
 
   cargoLock = {
diff --git a/pkgs/servers/search/weaviate/default.nix b/pkgs/servers/search/weaviate/default.nix
index 8cd90febb036f..667ba4434d58b 100644
--- a/pkgs/servers/search/weaviate/default.nix
+++ b/pkgs/servers/search/weaviate/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "weaviate";
-  version = "1.25.5";
+  version = "1.25.6";
 
   src = fetchFromGitHub {
     owner = "weaviate";
     repo = "weaviate";
     rev = "v${version}";
-    hash = "sha256-tkTsZ9iDZdQARhkEUyRYm77ebUCwNWgDdDEjLj7LOgY=";
+    hash = "sha256-jXnCICtw5NYnqfiBeM8aZkpnTd30IcQJMH2CUqPGMlY=";
   };
 
   vendorHash = "sha256-40O6MF1Tk9ZhGVLcKGzoUTaUFjKuXdpIHbB1GuRgyL8=";
diff --git a/pkgs/servers/serviio/default.nix b/pkgs/servers/serviio/default.nix
index 1363aea11e342..f2e652adaae3d 100644
--- a/pkgs/servers/serviio/default.nix
+++ b/pkgs/servers/serviio/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "serviio";
-  version = "2.2.1";
+  version = "2.4";
 
   src = fetchurl {
     url = "http://download.serviio.org/releases/${pname}-${version}-linux.tar.gz";
-    sha256 = "sha256-uRRWKMv4f2b1yIE9OnXDIZAmcoqw/8F0z1LOesQBsyQ=";
+    sha256 = "sha256-ssi2fKbAMizr5eLAMng+G25ui3v98zCNWzMg7uLgGas=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/shairport-sync/default.nix b/pkgs/servers/shairport-sync/default.nix
index 3d4d433bcd407..a9043f65331d0 100644
--- a/pkgs/servers/shairport-sync/default.nix
+++ b/pkgs/servers/shairport-sync/default.nix
@@ -40,13 +40,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "shairport-sync";
-  version = "4.3.3";
+  version = "4.3.4";
 
   src = fetchFromGitHub {
     repo = "shairport-sync";
     owner = "mikebrady";
     rev = "refs/tags/${version}";
-    hash = "sha256-sxYzFmI1Geoqckw+7XMXyvkizNVSlfvpWI7vMbCPT0U=";
+    hash = "sha256:1y8dh1gdffq38hgy6x1228l51l6p56iaiqlflw7w1dcbgw15llcd";
   };
 
   nativeBuildInputs = [
@@ -62,11 +62,6 @@ stdenv.mkDerivation rec {
     unixtools.xxd
   ];
 
-  makeFlags = [
-    # Workaround for https://github.com/mikebrady/shairport-sync/issues/1705
-    "AR=${stdenv.cc.bintools.targetPrefix}ar"
-  ];
-
   buildInputs = [
     openssl
     avahi
diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix
index 4c534cc2bfe46..f01358146197c 100644
--- a/pkgs/servers/sickbeard/sickgear.nix
+++ b/pkgs/servers/sickbeard/sickgear.nix
@@ -4,13 +4,13 @@ let
   pythonEnv = python3.withPackages(ps: with ps; [ cheetah3 lxml ]);
 in stdenv.mkDerivation rec {
   pname = "sickgear";
-  version = "3.31.1";
+  version = "3.32.3";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    hash = "sha256-qcivNJ3CrvToT8CBq5Z/xssP/srTerXJfRGXcvNh2Ag=";
+    hash = "sha256-Qqemee13V5+k56Q4hPOKjRsw6pmfALGRcKi4gHBj6eI=";
   };
 
   patches = [
diff --git a/pkgs/servers/simplehttp2server/deps.nix b/pkgs/servers/simplehttp2server/deps.nix
deleted file mode 100644
index e6a26bf2506c7..0000000000000
--- a/pkgs/servers/simplehttp2server/deps.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/NYTimes/gziphandler";
-    fetch = {
-      type = "git";
-      url = "https://github.com/NYTimes/gziphandler";
-      rev = "289a3b81f5aedc99f8d6eb0f67827c142f1310d8";
-      sha256 = "1r9ly9wdqjcc4nwv71mfldf1f5cjm4r34vvkdm5wabmdqqqwkbyx";
-    };
-  }
-]
diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix
index d66b3cd2726d0..fa90943d1ce12 100644
--- a/pkgs/servers/snappymail/default.nix
+++ b/pkgs/servers/snappymail/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snappymail";
-  version = "2.36.3";
+  version = "2.36.4";
 
   src = fetchurl {
     url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
-    sha256 = "sha256-+8bw6pFbogM1955OO/w21KnJa+JlAALTRc2m1QAXObE=";
+    sha256 = "sha256-pKOYyEiVszbZM1iDe8e6YgaNPB6MoiAc24e06Nyeeb0=";
   };
 
   sourceRoot = "snappymail";
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
deleted file mode 100644
index b2ea1080c30b8..0000000000000
--- a/pkgs/servers/sonarr/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ lib, stdenv, fetchurl, dotnet-runtime, icu, ffmpeg, openssl, sqlite, curl, makeWrapper, nixosTests, zlib }:
-
-let
-  os = if stdenv.isDarwin then "osx" else "linux";
-  arch = {
-    x86_64-linux = "x64";
-    aarch64-linux = "arm64";
-    x86_64-darwin = "x64";
-    aarch64-darwin = "arm64";
-  }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
-
-  hash = {
-    x64-linux_hash = "sha256-MkRKWMhH4x5Z9mURh8qpShaozHrBFOHHwTmFlU1wqS8=";
-    arm64-linux_hash = "sha256-OIwWZEW4qmL5359hmGdNzunxVTIT3hIbTdAsd5Cpw/k=";
-    x64-osx_hash = "sha256-uDQXfj4r56ewrhZdwOnF78L3M1o0jDLt/PZlfWxxV18=";
-    arm64-osx_hash = "sha256-6WUeMIfF5juNHrLqep3mONqfcgxlBJOOJmHJkyHpZhU=";
-  }."${arch}-${os}_hash";
-in
-stdenv.mkDerivation rec {
-  pname = "sonarr";
-  version = "4.0.5.1710";
-
-  src = fetchurl {
-    url = "https://github.com/Sonarr/Sonarr/releases/download/v${version}/Sonarr.main.${version}.${os}-${arch}.tar.gz";
-    inherit hash;
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/{bin,share/sonarr-${version}}
-    cp -r * $out/share/sonarr-${version}/.
-
-    makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/NzbDrone \
-      --add-flags "$out/share/sonarr-${version}/Sonarr.dll" \
-      --prefix PATH : ${lib.makeBinPath [ ffmpeg ]} \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ curl sqlite openssl icu zlib ]}
-
-    runHook postInstall
-  '';
-
-  passthru = {
-    updateScript = ./update.sh;
-    tests.smoke-test = nixosTests.sonarr;
-  };
-
-  meta = {
-    description = "Smart PVR for newsgroup and bittorrent users";
-    homepage = "https://sonarr.tv/";
-    license = lib.licenses.gpl3Only;
-    maintainers = with lib.maintainers; [ fadenb purcell ];
-    mainProgram = "NzbDrone";
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/servers/sonarr/update.sh b/pkgs/servers/sonarr/update.sh
deleted file mode 100755
index 8ccbc5ba99192..0000000000000
--- a/pkgs/servers/sonarr/update.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl gnused nix-prefetch jq
-
-set -e
-
-dirname="$(dirname "$0")"
-
-updateHash()
-{
-    version=$1
-    arch=$2
-    os=$3
-
-    hashKey="${arch}-${os}_hash"
-
-    url="https://github.com/Sonarr/Sonarr/releases/download/v${version}/Sonarr.main.${version}.${os}-${arch}.tar.gz";
-    hash=$(nix-prefetch-url --type sha256 $url)
-    sriHash="$(nix hash to-sri --type sha256 $hash)"
-
-    sed -i "s|$hashKey = \"[a-zA-Z0-9\/+-=]*\";|$hashKey = \"$sriHash\";|g" "$dirname/default.nix"
-}
-
-updateVersion()
-{
-    sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix"
-}
-
-currentVersion=$(cd $dirname && nix eval --raw -f ../../.. sonarr.version)
-
-latestTag=$(curl https://api.github.com/repos/Sonarr/Sonarr/releases/latest | jq -r ".tag_name")
-latestVersion="$(expr $latestTag : 'v\(.*\)')"
-
-if [[ "$currentVersion" == "$latestVersion" ]]; then
-    echo "Sonarr is up-to-date: ${currentVersion}"
-    exit 0
-fi
-
-updateVersion $latestVersion
-
-updateHash $latestVersion x64 linux
-updateHash $latestVersion arm64 linux
-updateHash $latestVersion x64 osx
-updateHash $latestVersion arm64 osx
diff --git a/pkgs/servers/sql/dolt/default.nix b/pkgs/servers/sql/dolt/default.nix
index dd8a8005a50a9..a0cb05a4140eb 100644
--- a/pkgs/servers/sql/dolt/default.nix
+++ b/pkgs/servers/sql/dolt/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "1.41.0";
+  version = "1.41.3";
 
   src = fetchFromGitHub {
     owner = "dolthub";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-IeLG2IRHGrx5F3tIcvilhgC9BUFHpIpbzTo6vdQj+ZE=";
+    sha256 = "sha256-jp7LVPrAPUAKfsPMi+frCvG+7YH8dInbVVgwijVxSA8=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" ];
-  vendorHash = "sha256-bqTw4k2WWE7vsp36Ldexnp/eoFOBUL5po8lZzsbv7D4=";
+  vendorHash = "sha256-Wbhvk3q4IVzIuZ3TnwSUORv8uNmTYJ/qu7dM9ROwMNA=";
   proxyVendor = true;
   doCheck = false;
 
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 18922e5deb0a6..2f0b4d0b2b5ec 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.18";
+  version = "26.4.19";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    hash = "sha256-JZMw9P+70c6m1zxaQLn0N46jL+P71cvyROekjoc5/Kk=";
+    hash = "sha256-DSYwOMBs7kxskTjEIO1AqXw+oAUeDXzX+qLNBuob0Jg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix
index 598be781403de..6de05cba60f3d 100644
--- a/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/pkgs/servers/sql/mysql/8.0.x.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mysql";
-  version = "8.0.36";
+  version = "8.0.37";
 
   src = fetchurl {
     url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz";
-    hash = "sha256-9PJwa5WKinOA72yVjdlyMHvb7qRR76/DQuTEbim36d0=";
+    hash = "sha256-4GOgkazZ7EC7BfLATfZPiZan5OJuiDu2UChJ1fa0pho=";
   };
 
   nativeBuildInputs = [ bison cmake pkg-config ]
diff --git a/pkgs/servers/sql/pgbouncer/default.nix b/pkgs/servers/sql/pgbouncer/default.nix
index 3e330a2375c18..178ef933d5a55 100644
--- a/pkgs/servers/sql/pgbouncer/default.nix
+++ b/pkgs/servers/sql/pgbouncer/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pgbouncer";
-  version = "1.22.1";
+  version = "1.23.0";
 
   src = fetchurl {
     url = "https://www.pgbouncer.org/downloads/files/${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-KwGKps5/WSyYkrueD9kCYkhOtzk3/Sr5KXcKRTc7ohU=";
+    hash = "sha256-GAQhnDAe8DXn9B6pr/HlGAtLr4hF1hBh6aEIWTYyMiY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/sql/postgresql/ext/smlar.nix b/pkgs/servers/sql/postgresql/ext/smlar.nix
index a3ce699b87e6e..12fdd79cc8f42 100644
--- a/pkgs/servers/sql/postgresql/ext/smlar.nix
+++ b/pkgs/servers/sql/postgresql/ext/smlar.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://sigaev.ru/smlar.git";
     rev = "f2522d5f20a46a3605a761d34a3aefcdffb94e71";
-    sha256 = "sha256-AC6w7uYw0OW70pQpWbK1A3rkCnMvTJzTCAdFiY3rO7A=";
+    hash = "sha256-AC6w7uYw0OW70pQpWbK1A3rkCnMvTJzTCAdFiY3rO7A=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
index 4a14b9925cd47..0c403c3558b2c 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
@@ -39,7 +39,7 @@
     homepage = "https://github.com/timescale/timescaledb-toolkit";
     maintainers = with maintainers; [ typetetris ];
     platforms = postgresql.meta.platforms;
-    license = licenses.asl20;
+    license = licenses.tsl;
 
     # as it needs to be used with timescaledb, simply use the condition from there
     broken = stdenv.isDarwin;
diff --git a/pkgs/servers/sql/rqlite/default.nix b/pkgs/servers/sql/rqlite/default.nix
index ec681de8ff450..4add347a24a2a 100644
--- a/pkgs/servers/sql/rqlite/default.nix
+++ b/pkgs/servers/sql/rqlite/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rqlite";
-  version = "8.26.2";
+  version = "8.26.6";
 
   src = fetchFromGitHub {
     owner = "rqlite";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GGqnhsEvv8pnaRmJO+IX64VNQVnBaGZcUKMOiW/PJaQ=";
+    sha256 = "sha256-Mn6rju0DioW2xI9tz0e9Sy4H4tg6StpYn7NjJRxzfAI=";
   };
 
-  vendorHash = "sha256-x1W2niLqhAcroh67cssDuuiJA3Pd5W4Wkh12uKqSfDI=";
+  vendorHash = "sha256-bzK6PYSg9z1QS+5Vk6pPM10ddrLVRm0C7rmepZt4b0M=";
 
   subPackages = [ "cmd/rqlite" "cmd/rqlited" "cmd/rqbench" ];
 
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index 32ae3aab92004..bdfdc2f562d63 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation (finalAttrs: {
   version = "6.8";
 
   src = fetchurl {
-    url = "http://www.squid-cache.org/Versions/v6/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
+    url = "http://www.squid-cache.org/Versions/v6/squid-${finalAttrs.version}.tar.xz";
     hash = "sha256-EcxWULUYCdmUg8z64kdEouUc0WGZ9f8MkX6E/OaVhw8=";
   };
 
diff --git a/pkgs/servers/sunshine/0001-fix-upnp-support-newer-miniupnpc-library-2782.patch b/pkgs/servers/sunshine/0001-fix-upnp-support-newer-miniupnpc-library-2782.patch
new file mode 100644
index 0000000000000..1852ef8465508
--- /dev/null
+++ b/pkgs/servers/sunshine/0001-fix-upnp-support-newer-miniupnpc-library-2782.patch
@@ -0,0 +1,120 @@
+From f4f1800f5e67ab59312ccf710695acf06fb4ae26 Mon Sep 17 00:00:00 2001
+From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
+Date: Mon, 1 Jul 2024 10:07:06 -0400
+Subject: [PATCH] fix(upnp): support newer miniupnpc library (#2782)
+
+Co-authored-by: Vithorio Polten <reach@vithor.io>
+---
+ src/upnp.cpp | 30 +++++++++++++++---------------
+ src/upnp.h   | 31 ++++++++++++++++++++++++++++++-
+ 2 files changed, 45 insertions(+), 16 deletions(-)
+
+diff --git a/src/upnp.cpp b/src/upnp.cpp
+index f65bcb87..fcbaaeb5 100644
+--- a/src/upnp.cpp
++++ b/src/upnp.cpp
+@@ -19,19 +19,6 @@
+ using namespace std::literals;
+ 
+ namespace upnp {
+-  constexpr auto INET6_ADDRESS_STRLEN = 46;
+-
+-  constexpr auto PORT_MAPPING_LIFETIME = 3600s;
+-  constexpr auto REFRESH_INTERVAL = 120s;
+-
+-  constexpr auto IPv4 = 0;
+-  constexpr auto IPv6 = 1;
+-
+-  using device_t = util::safe_ptr<UPNPDev, freeUPNPDevlist>;
+-
+-  KITTY_USING_MOVE_T(urls_t, UPNPUrls, , {
+-    FreeUPNPUrls(&el);
+-  });
+ 
+   struct mapping_t {
+     struct {
+@@ -59,6 +46,19 @@ namespace upnp {
+     return "Unknown status"sv;
+   }
+ 
++  /**
++   * This function is a wrapper around UPNP_GetValidIGD() that returns the status code. There is a pre-processor
++   * check to determine which version of the function to call based on the version of the MiniUPnPc library.
++   */
++  int
++  UPNP_GetValidIGDStatus(device_t &device, urls_t *urls, IGDdatas *data, std::array<char, INET6_ADDRESS_STRLEN> &lan_addr) {
++#if (MINIUPNPC_API_VERSION >= 18)
++    return UPNP_GetValidIGD(device.get(), &urls->el, data, lan_addr.data(), lan_addr.size(), nullptr, 0);
++#else
++    return UPNP_GetValidIGD(device.get(), &urls->el, data, lan_addr.data(), lan_addr.size());
++#endif
++  }
++
+   class deinit_t: public platf::deinit_t {
+   public:
+     deinit_t() {
+@@ -109,7 +109,7 @@ namespace upnp {
+       IGDdatas data;
+       urls_t urls;
+       std::array<char, INET6_ADDRESS_STRLEN> lan_addr;
+-      auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size());
++      auto status = upnp::UPNP_GetValidIGDStatus(device, &urls, &data, lan_addr);
+       if (status != 1 && status != 2) {
+         BOOST_LOG(debug) << "No valid IPv6 IGD: "sv << status_string(status);
+         return false;
+@@ -331,7 +331,7 @@ namespace upnp {
+         std::array<char, INET6_ADDRESS_STRLEN> lan_addr;
+ 
+         urls_t urls;
+-        auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size());
++        auto status = upnp::UPNP_GetValidIGDStatus(device, &urls, &data, lan_addr);
+         if (status != 1 && status != 2) {
+           BOOST_LOG(error) << status_string(status);
+           mapped = false;
+diff --git a/src/upnp.h b/src/upnp.h
+index 73fc4f79..4b2e3296 100644
+--- a/src/upnp.h
++++ b/src/upnp.h
+@@ -4,9 +4,38 @@
+  */
+ #pragma once
+ 
++#include <miniupnpc/miniupnpc.h>
++
+ #include "platform/common.h"
+ 
+ namespace upnp {
++  constexpr auto INET6_ADDRESS_STRLEN = 46;
++  constexpr auto IPv4 = 0;
++  constexpr auto IPv6 = 1;
++  constexpr auto PORT_MAPPING_LIFETIME = 3600s;
++  constexpr auto REFRESH_INTERVAL = 120s;
++
++  using device_t = util::safe_ptr<UPNPDev, freeUPNPDevlist>;
++
++  KITTY_USING_MOVE_T(urls_t, UPNPUrls, , {
++    FreeUPNPUrls(&el);
++  });
++
++  /**
++   * @brief Get the valid IGD status.
++   * @param device The device.
++   * @param urls The URLs.
++   * @param data The IGD data.
++   * @param lan_addr The LAN address.
++   * @return The UPnP Status.
++   * @retval 0 No IGD found.
++   * @retval 1 A valid connected IGD has been found.
++   * @retval 2 A valid IGD has been found but it reported as not connected.
++   * @retval 3 An UPnP device has been found but was not recognized as an IGD.
++   */
++  int
++  UPNP_GetValidIGDStatus(device_t &device, urls_t *urls, IGDdatas *data, std::array<char, INET6_ADDRESS_STRLEN> &lan_addr);
++
+   [[nodiscard]] std::unique_ptr<platf::deinit_t>
+   start();
+-}
++}  // namespace upnp
+-- 
+2.45.2
+
diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix
index 6f949728f14a2..0f36c31169358 100644
--- a/pkgs/servers/sunshine/default.nix
+++ b/pkgs/servers/sunshine/default.nix
@@ -58,10 +58,16 @@ stdenv'.mkDerivation rec {
     owner = "LizardByte";
     repo = "Sunshine";
     rev = "v${version}";
-    sha256 = "sha256-D5ee5m2ZTKVqZDH07nzJuFEbZBQ4xW7m4nYnJQe0EaA=";
+    hash = "sha256-D5ee5m2ZTKVqZDH07nzJuFEbZBQ4xW7m4nYnJQe0EaA=";
     fetchSubmodules = true;
   };
 
+  patches = [
+    # fix(upnp): support newer miniupnpc library (#2782)
+    # Manually cherry-picked on to 0.23.1.
+    ./0001-fix-upnp-support-newer-miniupnpc-library-2782.patch
+  ];
+
   # build webui
   ui = buildNpmPackage {
     inherit src version;
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index a69e7eb3aecdd..de407fb443254 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -11,10 +11,11 @@
 , procps
 , nixosTests
 , installShellFiles
+, tailscale-nginx-auth
 }:
 
 let
-  version = "1.68.1";
+  version = "1.68.2";
 in
 buildGoModule {
   pname = "tailscale";
@@ -24,7 +25,7 @@ buildGoModule {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    hash = "sha256-ZAzro69F7ovfdqzRss/U7puh1T37bkEtUXabCYc5LwU=";
+    hash = "sha256-VI5k8PnPP8r2rIkW7AeQod7JmoHWuSLiaxkZXXv+0T8=";
   };
 
   patches = [
@@ -76,6 +77,7 @@ buildGoModule {
 
   passthru.tests = {
     inherit (nixosTests) headscale;
+    inherit tailscale-nginx-auth;
   };
 
   meta = with lib; {
diff --git a/pkgs/servers/tarantool/default.nix b/pkgs/servers/tarantool/default.nix
index d3de202185505..6526fdefae694 100644
--- a/pkgs/servers/tarantool/default.nix
+++ b/pkgs/servers/tarantool/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "tarantool";
     repo = pname;
     rev = version;
-    sha256 = "sha256-yCRU5IxC6gNS+O2KYtKWjFk35EHkBnnzWy5UnyuB9f4=";
+    hash = "sha256-yCRU5IxC6gNS+O2KYtKWjFk35EHkBnnzWy5UnyuB9f4=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/teleport/14/default.nix b/pkgs/servers/teleport/14/default.nix
index 456938012664d..eda21fd7cb121 100644
--- a/pkgs/servers/teleport/14/default.nix
+++ b/pkgs/servers/teleport/14/default.nix
@@ -10,8 +10,4 @@ import ../generic.nix (args // {
       "rdp-rs-0.1.0" = "sha256-U52FVuqo2DH/7f0cQ1qcb1GbFZ97yxExVFMX5cs0zw4=";
     };
   };
-  extPatches = [
-    # https://github.com/NixOS/nixpkgs/issues/120738
-    ../tsh_14.patch
-  ];
 })
diff --git a/pkgs/servers/teleport/15/default.nix b/pkgs/servers/teleport/15/default.nix
index 8c356547270a4..1dcaad94fa0b4 100644
--- a/pkgs/servers/teleport/15/default.nix
+++ b/pkgs/servers/teleport/15/default.nix
@@ -12,10 +12,6 @@ import ../generic.nix (args // {
       "sspi-0.10.1" = "sha256-fkclC/plTh2d8zcmqthYmr5yXqbPTeFxI1VuaPX5vxk=";
     };
   };
-  extPatches = [
-    # https://github.com/NixOS/nixpkgs/issues/120738
-    ../tsh_14.patch
-  ];
 
   # wasm-bindgen-cli version must match the version of wasm-bindgen in Cargo.lock
   wasm-bindgen-cli = wasm-bindgen-cli.override {
diff --git a/pkgs/servers/teleport/16/Cargo.lock b/pkgs/servers/teleport/16/Cargo.lock
new file mode 100644
index 0000000000000..45249a280c203
--- /dev/null
+++ b/pkgs/servers/teleport/16/Cargo.lock
@@ -0,0 +1,3441 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aes"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
+dependencies = [
+ "cfg-if",
+ "cipher",
+ "cpufeatures",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "asn1-rs"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ad1373757efa0f70ec53939aabc7152e1591cb485208052993070ac8d2429d"
+dependencies = [
+ "asn1-rs-derive",
+ "asn1-rs-impl",
+ "displaydoc",
+ "nom",
+ "num-traits",
+ "rusticata-macros",
+ "thiserror",
+]
+
+[[package]]
+name = "asn1-rs-derive"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7378575ff571966e99a744addeff0bff98b8ada0dedf1956d59e634db95eaac1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+ "synstructure",
+]
+
+[[package]]
+name = "asn1-rs-impl"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "async-dnssd"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98efc05996cc8d660e88841fcffb75aa71be5339c9ae559a8c8016c048420b82"
+dependencies = [
+ "bitflags 1.3.2",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-util",
+ "libc",
+ "log",
+ "pin-utils",
+ "pkg-config",
+ "tokio",
+ "winapi",
+]
+
+[[package]]
+name = "async-recursion"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "atomic-polyfill"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4"
+dependencies = [
+ "critical-section",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
+
+[[package]]
+name = "backtrace"
+version = "0.3.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "base16ct"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64ct"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+
+[[package]]
+name = "bindgen"
+version = "0.68.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
+dependencies = [
+ "bitflags 2.6.0",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "bit_field"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "block-padding"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "boring"
+version = "4.7.0"
+source = "git+https://github.com/gravitational/boring?rev=99897308abb5976ea05625b8314c24b16eebb01b#99897308abb5976ea05625b8314c24b16eebb01b"
+dependencies = [
+ "bitflags 2.6.0",
+ "boring-sys",
+ "foreign-types",
+ "libc",
+ "once_cell",
+]
+
+[[package]]
+name = "boring-sys"
+version = "4.7.0"
+source = "git+https://github.com/gravitational/boring?rev=99897308abb5976ea05625b8314c24b16eebb01b#99897308abb5976ea05625b8314c24b16eebb01b"
+dependencies = [
+ "bindgen",
+ "cmake",
+ "fs_extra",
+ "fslock",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "bytes"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
+
+[[package]]
+name = "cbc"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "cbindgen"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49"
+dependencies = [
+ "clap",
+ "heck",
+ "indexmap 1.9.3",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn 1.0.109",
+ "tempfile",
+ "toml",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.101"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d"
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "cipher"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+dependencies = [
+ "crypto-common",
+ "inout",
+]
+
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "3.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+dependencies = [
+ "atty",
+ "bitflags 1.3.2",
+ "clap_lex",
+ "indexmap 1.9.3",
+ "strsim",
+ "termcolor",
+ "textwrap",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "cmake"
+version = "0.1.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "colorchoice"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
+
+[[package]]
+name = "console_error_panic_hook"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "const-oid"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
+
+[[package]]
+name = "core-foundation"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "critical-section"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216"
+
+[[package]]
+name = "crypto"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf1e6e5492f8f0830c37f301f6349e0dac8b2466e4fe89eef90e9eef906cd046"
+dependencies = [
+ "crypto-common",
+]
+
+[[package]]
+name = "crypto-bigint"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
+dependencies = [
+ "generic-array",
+ "rand_core",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "crypto-mac"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"
+dependencies = [
+ "generic-array",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest",
+ "fiat-crypto",
+ "rustc_version",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "delog"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af2b93368262340c9d4441251b824500d1b641a50957ecf4219a2cc41b9eac8f"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "der"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
+dependencies = [
+ "const-oid",
+ "der_derive",
+ "flagset",
+ "pem-rfc7468",
+ "zeroize",
+]
+
+[[package]]
+name = "der-parser"
+version = "9.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553"
+dependencies = [
+ "asn1-rs",
+ "displaydoc",
+ "nom",
+ "num-traits",
+ "rusticata-macros",
+]
+
+[[package]]
+name = "der_derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fe87ce4529967e0ba1dcf8450bab64d97dfd5010a6256187ffe2e43e6f0e049"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "des"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "const-oid",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "displaydoc"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "ecdsa"
+version = "0.16.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
+dependencies = [
+ "der",
+ "digest",
+ "elliptic-curve",
+ "rfc6979",
+ "signature",
+ "spki",
+]
+
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "pkcs8",
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "rand_core",
+ "serde",
+ "sha2",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "elliptic-curve"
+version = "0.13.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
+dependencies = [
+ "base16ct",
+ "crypto-bigint",
+ "digest",
+ "ff",
+ "generic-array",
+ "group",
+ "hkdf",
+ "pem-rfc7468",
+ "pkcs8",
+ "rand_core",
+ "sec1",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "env_filter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+dependencies = [
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
+ "humantime",
+ "log",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
+
+[[package]]
+name = "ff"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
+dependencies = [
+ "rand_core",
+ "subtle",
+]
+
+[[package]]
+name = "fiat-crypto"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
+
+[[package]]
+name = "flagset"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdeb3aa5e95cf9aabc17f060cfa0ced7b83f042390760ca53bf09df9968acaa1"
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fs_extra"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
+
+[[package]]
+name = "fslock"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04412b8935272e3a9bae6f48c7bfff74c2911f60525404edfdd28e49884c3bfb"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "futures"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+ "zeroize",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "gimli"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "group"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
+dependencies = [
+ "ff",
+ "rand_core",
+ "subtle",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap 2.2.6",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "hash32"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+
+[[package]]
+name = "heapless"
+version = "0.7.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f"
+dependencies = [
+ "atomic-polyfill",
+ "hash32",
+ "rustc_version",
+ "spin",
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hkdf"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
+dependencies = [
+ "hmac",
+]
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "http"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "hyper"
+version = "0.14.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
+dependencies = [
+ "futures-util",
+ "http",
+ "hyper",
+ "rustls",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown 0.12.3",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.5",
+]
+
+[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "block-padding",
+ "generic-array",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+
+[[package]]
+name = "ironrdp"
+version = "0.1.0"
+dependencies = [
+ "console_error_panic_hook",
+ "getrandom",
+ "ironrdp-graphics",
+ "ironrdp-pdu",
+ "ironrdp-session",
+ "js-sys",
+ "log",
+ "time",
+ "tracing",
+ "tracing-subscriber",
+ "tracing-web",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "ironrdp-async"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "bytes",
+ "ironrdp-connector",
+ "ironrdp-pdu",
+ "tracing",
+]
+
+[[package]]
+name = "ironrdp-cliprdr"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "bitflags 2.6.0",
+ "ironrdp-pdu",
+ "ironrdp-svc",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "ironrdp-connector"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "ironrdp-error",
+ "ironrdp-pdu",
+ "ironrdp-svc",
+ "rand_core",
+ "sspi 0.11.1",
+ "tracing",
+ "url",
+ "winapi",
+]
+
+[[package]]
+name = "ironrdp-displaycontrol"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "ironrdp-dvc",
+ "ironrdp-pdu",
+ "ironrdp-svc",
+ "tracing",
+]
+
+[[package]]
+name = "ironrdp-dvc"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "ironrdp-pdu",
+ "ironrdp-svc",
+ "slab",
+ "tracing",
+]
+
+[[package]]
+name = "ironrdp-error"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+
+[[package]]
+name = "ironrdp-graphics"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "bit_field",
+ "bitflags 2.6.0",
+ "bitvec",
+ "byteorder",
+ "ironrdp-error",
+ "ironrdp-pdu",
+ "lazy_static",
+ "num-derive",
+ "num-traits",
+ "thiserror",
+]
+
+[[package]]
+name = "ironrdp-pdu"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "bit_field",
+ "bitflags 2.6.0",
+ "byteorder",
+ "der-parser",
+ "ironrdp-error",
+ "md-5",
+ "num-bigint",
+ "num-derive",
+ "num-integer",
+ "num-traits",
+ "pkcs1",
+ "sha1",
+ "tap",
+ "thiserror",
+ "x509-cert",
+]
+
+[[package]]
+name = "ironrdp-rdpdr"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "bitflags 2.6.0",
+ "ironrdp-error",
+ "ironrdp-pdu",
+ "ironrdp-svc",
+ "tracing",
+]
+
+[[package]]
+name = "ironrdp-rdpsnd"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "ironrdp-pdu",
+ "ironrdp-svc",
+]
+
+[[package]]
+name = "ironrdp-session"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "ironrdp-connector",
+ "ironrdp-displaycontrol",
+ "ironrdp-dvc",
+ "ironrdp-error",
+ "ironrdp-graphics",
+ "ironrdp-pdu",
+ "ironrdp-svc",
+ "tracing",
+]
+
+[[package]]
+name = "ironrdp-svc"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "bitflags 2.6.0",
+ "ironrdp-pdu",
+]
+
+[[package]]
+name = "ironrdp-tls"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "tokio",
+ "tokio-rustls",
+ "x509-cert",
+]
+
+[[package]]
+name = "ironrdp-tokio"
+version = "0.1.0"
+source = "git+https://github.com/Devolutions/IronRDP?rev=dfbe947e5b9bd2da06f1e14620ee4d68bca4252f#dfbe947e5b9bd2da06f1e14620ee4d68bca4252f"
+dependencies = [
+ "bytes",
+ "ironrdp-async",
+ "tokio",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
+
+[[package]]
+name = "iso7816"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3af73ac9c821e7aea3280532118e15cdf9e7bb45c923cbf0e319ae25b27d20c"
+dependencies = [
+ "delog",
+ "heapless",
+]
+
+[[package]]
+name = "iso7816-tlv"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7660d28d24a831d690228a275d544654a30f3b167a8e491cf31af5fe5058b546"
+dependencies = [
+ "untrusted",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "keccak"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
+dependencies = [
+ "cpufeatures",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+dependencies = [
+ "spin",
+]
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libc"
+version = "0.2.155"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+
+[[package]]
+name = "libloading"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d"
+dependencies = [
+ "cfg-if",
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "lock_api"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
+[[package]]
+name = "md-5"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
+dependencies = [
+ "cfg-if",
+ "digest",
+]
+
+[[package]]
+name = "md4"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da5ac363534dce5fabf69949225e174fbf111a498bf0ff794c8ea1fba9f3dda"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7"
+dependencies = [
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint-dig"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
+dependencies = [
+ "byteorder",
+ "lazy_static",
+ "libm",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "rand",
+ "serde",
+ "smallvec",
+ "zeroize",
+]
+
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+ "libm",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi 0.3.9",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.36.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "oid"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c19903c598813dba001b53beeae59bb77ad4892c5c1b9b3500ce4293a0d06c2"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "p256"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2",
+]
+
+[[package]]
+name = "p384"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core 0.8.6",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb"
+dependencies = [
+ "lock_api",
+ "parking_lot_core 0.9.10",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
+dependencies = [
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall 0.2.16",
+ "smallvec",
+ "winapi",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.5.2",
+ "smallvec",
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "pbkdf2"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
+dependencies = [
+ "digest",
+ "hmac",
+ "sha1",
+]
+
+[[package]]
+name = "peeking_take_while"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+
+[[package]]
+name = "pem-rfc7468"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
+dependencies = [
+ "base64ct",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "picky"
+version = "7.0.0-rc.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52cccdaffd2f361b4b4eb70b4249bd71d89bb66cb84b7f76483ecd1640c543ce"
+dependencies = [
+ "base64",
+ "digest",
+ "ed25519-dalek",
+ "md-5",
+ "num-bigint-dig",
+ "p256",
+ "p384",
+ "picky-asn1",
+ "picky-asn1-der",
+ "picky-asn1-x509",
+ "rand",
+ "rand_core",
+ "rsa",
+ "serde",
+ "sha1",
+ "sha2",
+ "sha3",
+ "thiserror",
+ "x25519-dalek",
+ "zeroize",
+]
+
+[[package]]
+name = "picky-asn1"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "295eea0f33c16be21e2a98b908fdd4d73c04dd48c8480991b76dbcf0cb58b212"
+dependencies = [
+ "oid",
+ "serde",
+ "serde_bytes",
+ "time",
+ "zeroize",
+]
+
+[[package]]
+name = "picky-asn1-der"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5df7873a9e36d42dadb393bea5e211fe83d793c172afad5fb4ec846ec582793f"
+dependencies = [
+ "picky-asn1",
+ "serde",
+ "serde_bytes",
+]
+
+[[package]]
+name = "picky-asn1-x509"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c5f20f71a68499ff32310f418a6fad8816eac1a2859ed3f0c5c741389dd6208"
+dependencies = [
+ "base64",
+ "num-bigint-dig",
+ "oid",
+ "picky-asn1",
+ "picky-asn1-der",
+ "serde",
+ "widestring",
+ "zeroize",
+]
+
+[[package]]
+name = "picky-krb"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f71cf61ebe6e657a81bcac31f9d61d52c23a1fd517b0dad77b915a7d3d15d2e8"
+dependencies = [
+ "aes",
+ "byteorder",
+ "cbc",
+ "crypto",
+ "des",
+ "hmac",
+ "num-bigint-dig",
+ "oid",
+ "pbkdf2",
+ "picky-asn1",
+ "picky-asn1-der",
+ "picky-asn1-x509",
+ "rand",
+ "serde",
+ "sha1",
+ "thiserror",
+ "uuid",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkcs1"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
+dependencies = [
+ "der",
+ "pkcs8",
+ "spki",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
+dependencies = [
+ "der",
+ "spki",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "portpicker"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be97d76faf1bfab666e1375477b23fde79eccf0276e9b63b92a39d676a889ba9"
+dependencies = [
+ "rand",
+]
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "primeorder"
+version = "0.13.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
+dependencies = [
+ "elliptic-curve",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rdp-client"
+version = "0.1.0"
+dependencies = [
+ "bitflags 2.6.0",
+ "boring",
+ "byteorder",
+ "bytes",
+ "cbindgen",
+ "env_logger",
+ "ironrdp-cliprdr",
+ "ironrdp-connector",
+ "ironrdp-displaycontrol",
+ "ironrdp-dvc",
+ "ironrdp-pdu",
+ "ironrdp-rdpdr",
+ "ironrdp-rdpsnd",
+ "ironrdp-session",
+ "ironrdp-svc",
+ "ironrdp-tls",
+ "ironrdp-tokio",
+ "iso7816",
+ "iso7816-tlv",
+ "log",
+ "parking_lot 0.12.2",
+ "rand",
+ "rand_chacha",
+ "rsa",
+ "sspi 0.10.1",
+ "static_init",
+ "tempfile",
+ "tokio",
+ "tokio-boring",
+ "utf16string",
+ "uuid",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
+
+[[package]]
+name = "reqwest"
+version = "0.11.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
+dependencies = [
+ "base64",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-rustls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls",
+ "rustls-native-certs",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "system-configuration",
+ "tokio",
+ "tokio-rustls",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "webpki-roots",
+ "winreg 0.50.0",
+]
+
+[[package]]
+name = "rfc6979"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
+dependencies = [
+ "hmac",
+ "subtle",
+]
+
+[[package]]
+name = "ring"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
+dependencies = [
+ "cc",
+ "cfg-if",
+ "getrandom",
+ "libc",
+ "spin",
+ "untrusted",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rsa"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
+dependencies = [
+ "const-oid",
+ "digest",
+ "num-bigint-dig",
+ "num-integer",
+ "num-traits",
+ "pkcs1",
+ "pkcs8",
+ "rand_core",
+ "signature",
+ "spki",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rusticata-macros"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
+dependencies = [
+ "bitflags 2.6.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.21.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
+dependencies = [
+ "log",
+ "ring",
+ "rustls-webpki",
+ "sct",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+dependencies = [
+ "base64",
+]
+
+[[package]]
+name = "rustls-webpki"
+version = "0.101.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
+[[package]]
+name = "schannel"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "sct"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "sec1"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
+dependencies = [
+ "base16ct",
+ "der",
+ "generic-array",
+ "pkcs8",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "security-framework"
+version = "2.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0"
+dependencies = [
+ "bitflags 2.6.0",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+
+[[package]]
+name = "serde"
+version = "1.0.203"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_bytes"
+version = "0.11.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.203"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.118"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sha3"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
+dependencies = [
+ "digest",
+ "keccak",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "signature"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
+dependencies = [
+ "digest",
+ "rand_core",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "socket2"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "spki"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
+dependencies = [
+ "base64ct",
+ "der",
+]
+
+[[package]]
+name = "sspi"
+version = "0.10.1"
+source = "git+https://github.com/Devolutions/sspi-rs?rev=d54bdfcafa0e10d9d78224ebacc4f2a0992a6b79#d54bdfcafa0e10d9d78224ebacc4f2a0992a6b79"
+dependencies = [
+ "async-dnssd",
+ "async-recursion",
+ "bitflags 2.6.0",
+ "byteorder",
+ "cfg-if",
+ "crypto-mac",
+ "futures",
+ "hmac",
+ "lazy_static",
+ "md-5",
+ "md4",
+ "num-bigint-dig",
+ "num-derive",
+ "num-traits",
+ "oid",
+ "picky",
+ "picky-asn1",
+ "picky-asn1-der",
+ "picky-asn1-x509",
+ "picky-krb",
+ "portpicker",
+ "rand",
+ "reqwest",
+ "serde",
+ "serde_derive",
+ "sha1",
+ "sha2",
+ "time",
+ "tokio",
+ "tracing",
+ "url",
+ "uuid",
+ "winapi",
+ "windows",
+ "windows-sys 0.48.0",
+ "winreg 0.51.0",
+ "zeroize",
+]
+
+[[package]]
+name = "sspi"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18d31fab47d9290be28a8d027c8428756826f1d4fe1e5ba0f51d24f52c568e21"
+dependencies = [
+ "async-dnssd",
+ "async-recursion",
+ "bitflags 2.6.0",
+ "byteorder",
+ "cfg-if",
+ "crypto-mac",
+ "futures",
+ "hmac",
+ "lazy_static",
+ "md-5",
+ "md4",
+ "num-bigint-dig",
+ "num-derive",
+ "num-traits",
+ "oid",
+ "picky",
+ "picky-asn1",
+ "picky-asn1-der",
+ "picky-asn1-x509",
+ "picky-krb",
+ "rand",
+ "serde",
+ "serde_derive",
+ "sha1",
+ "sha2",
+ "time",
+ "tokio",
+ "tracing",
+ "url",
+ "uuid",
+ "winapi",
+ "windows",
+ "windows-sys 0.48.0",
+ "winreg 0.51.0",
+ "zeroize",
+]
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "static_init"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6"
+dependencies = [
+ "bitflags 1.3.2",
+ "cfg_aliases",
+ "libc",
+ "parking_lot 0.11.2",
+ "parking_lot_core 0.8.6",
+ "static_init_macro",
+ "winapi",
+]
+
+[[package]]
+name = "static_init_macro"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf"
+dependencies = [
+ "cfg_aliases",
+ "memchr",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "synstructure"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tempfile"
+version = "3.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
+
+[[package]]
+name = "thiserror"
+version = "1.0.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "time"
+version = "0.3.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+dependencies = [
+ "deranged",
+ "itoa",
+ "js-sys",
+ "num-conv",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82"
+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 = "tls_codec"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e78c9c330f8c85b2bae7c8368f2739157db9991235123aa1b15ef9502bfb6a"
+dependencies = [
+ "tls_codec_derive",
+ "zeroize",
+]
+
+[[package]]
+name = "tls_codec_derive"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d9ef545650e79f30233c0003bcc2504d7efac6dad25fca40744de773fe2049c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "tokio"
+version = "1.38.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "parking_lot 0.12.2",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-boring"
+version = "4.7.0"
+source = "git+https://github.com/gravitational/boring?rev=99897308abb5976ea05625b8314c24b16eebb01b#99897308abb5976ea05625b8314c24b16eebb01b"
+dependencies = [
+ "boring",
+ "boring-sys",
+ "once_cell",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
+dependencies = [
+ "rustls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "log",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "nu-ansi-term",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "time",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "tracing-web"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e6a141feebd51f8d91ebfd785af50fca223c570b86852166caa3b141defe7c"
+dependencies = [
+ "js-sys",
+ "tracing-core",
+ "tracing-subscriber",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "url"
+version = "2.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "utf16string"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b62a1e85e12d5d712bf47a85f426b73d303e2d00a90de5f3004df3596e9d216"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
+[[package]]
+name = "uuid"
+version = "1.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439"
+dependencies = [
+ "getrandom",
+ "serde",
+]
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "want"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
+
+[[package]]
+name = "web-sys"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.25.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
+
+[[package]]
+name = "widestring"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311"
+
+[[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.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[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.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
+dependencies = [
+ "windows-core",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
+
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "winreg"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "x25519-dalek"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
+dependencies = [
+ "curve25519-dalek",
+ "rand_core",
+ "serde",
+ "zeroize",
+]
+
+[[package]]
+name = "x509-cert"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94"
+dependencies = [
+ "const-oid",
+ "der",
+ "spki",
+ "tls_codec",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
+dependencies = [
+ "zeroize_derive",
+]
+
+[[package]]
+name = "zeroize_derive"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.68",
+]
diff --git a/pkgs/servers/teleport/16/default.nix b/pkgs/servers/teleport/16/default.nix
new file mode 100644
index 0000000000000..eaf0ab11d992c
--- /dev/null
+++ b/pkgs/servers/teleport/16/default.nix
@@ -0,0 +1,22 @@
+{ wasm-bindgen-cli, ... }@args:
+import ../generic.nix (args // {
+  version = "16.0.4";
+  hash = "sha256-svDqcYm6PbmPyHhN00VKn/sGRkfb7ah2N7BtEVdZ9hg=";
+  vendorHash = "sha256-H4Rwel/UAvxY8/4CfSbneJYjt9HHgsuNbYXUM6MtqXM=";
+  yarnHash = "sha256-OHNnN66MevDiH4Zr6Uq3Om65XBzf4O3AIrPvhlvhkbE=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "boring-4.7.0" = "sha256-ACzw4Bfo6OUrwvi3h21tvx5CpdQaWCEIDkslzjzy9o8=";
+      "ironrdp-async-0.1.0" = "sha256-nE5O/wRJ3vJqJG5zdYmpVkhx6JC6Yb92pR4EKSWSdkA=";
+      "sspi-0.10.1" = "sha256-fkclC/plTh2d8zcmqthYmr5yXqbPTeFxI1VuaPX5vxk=";
+    };
+  };
+
+  # wasm-bindgen-cli version must match the version of wasm-bindgen in Cargo.lock
+  wasm-bindgen-cli = wasm-bindgen-cli.override {
+    version = "0.2.92";
+    hash = "sha256-1VwY8vQy7soKEgbki4LD+v259751kKxSxmo/gqE6yV0=";
+    cargoHash = "sha256-aACJ+lYNEU8FFBs158G1/JG8sc6Rq080PeKCMnwdpH0=";
+  };
+})
diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix
index 79eafe5286831..10b4eb98efadf 100644
--- a/pkgs/servers/teleport/default.nix
+++ b/pkgs/servers/teleport/default.nix
@@ -3,7 +3,8 @@ let
   f = args: rec {
     teleport_14 = import ./14 args;
     teleport_15 = import ./15 args;
-    teleport = teleport_15;
+    teleport_16 = import ./16 args;
+    teleport = teleport_16;
   };
   # Ensure the following callPackages invocation includes everything 'generic' needs.
   f' = lib.setFunctionArgs f (builtins.functionArgs (import ./generic.nix));
diff --git a/pkgs/servers/teleport/generic.nix b/pkgs/servers/teleport/generic.nix
index 51bea403f7dbf..003f0b79320f7 100644
--- a/pkgs/servers/teleport/generic.nix
+++ b/pkgs/servers/teleport/generic.nix
@@ -27,7 +27,7 @@
 , version
 , hash
 , vendorHash
-, extPatches ? null
+, extPatches ? []
 , cargoHash ? null
 , cargoLock ? null
 , yarnHash
@@ -136,6 +136,7 @@ buildGoModule rec {
   patches = extPatches ++ [
     ./0001-fix-add-nix-path-to-exec-env.patch
     ./rdpclient.patch
+    ./tsh.patch
   ];
 
   # Reduce closure size for client machines
diff --git a/pkgs/servers/teleport/tsh.patch b/pkgs/servers/teleport/tsh.patch
index fac9c98ab0496..6344a3915717d 100644
--- a/pkgs/servers/teleport/tsh.patch
+++ b/pkgs/servers/teleport/tsh.patch
@@ -1,8 +1,8 @@
-diff --git a/tool/tsh/tsh.go b/tool/tsh/tsh.go
-index f73b0a4e46..6848286781 100644
---- a/tool/tsh/tsh.go
-+++ b/tool/tsh/tsh.go
-@@ -1065,10 +1065,11 @@ func Run(ctx context.Context, args []string, opts ...cliOption) error {
+diff --git a/tool/tsh/common/tsh.go b/tool/tsh/common/tsh.go
+index 5de21c69d0..3995c19e3c 100644
+--- a/tool/tsh/common/tsh.go
++++ b/tool/tsh/common/tsh.go
+@@ -1084,10 +1084,11 @@ func Run(ctx context.Context, args []string, opts ...CliOption) error {
  
  	var err error
  
diff --git a/pkgs/servers/teleport/tsh_14.patch b/pkgs/servers/teleport/tsh_14.patch
deleted file mode 100644
index 6344a3915717d..0000000000000
--- a/pkgs/servers/teleport/tsh_14.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/tool/tsh/common/tsh.go b/tool/tsh/common/tsh.go
-index 5de21c69d0..3995c19e3c 100644
---- a/tool/tsh/common/tsh.go
-+++ b/tool/tsh/common/tsh.go
-@@ -1084,10 +1084,11 @@ func Run(ctx context.Context, args []string, opts ...CliOption) error {
- 
- 	var err error
- 
--	cf.executablePath, err = os.Executable()
-+	tempBinaryPath, err := os.Executable()
- 	if err != nil {
- 		return trace.Wrap(err)
- 	}
-+	cf.executablePath = path.Dir(tempBinaryPath) + "/tsh"
- 
- 	// configs
- 	setEnvFlags(&cf)
diff --git a/pkgs/servers/tracing/honeycomb/refinery/default.nix b/pkgs/servers/tracing/honeycomb/refinery/default.nix
index f4e29dbcb36cb..364115b6bfee0 100644
--- a/pkgs/servers/tracing/honeycomb/refinery/default.nix
+++ b/pkgs/servers/tracing/honeycomb/refinery/default.nix
@@ -32,7 +32,7 @@ buildGoModule rec {
     homepage = "https://github.com/honeycombio/refinery";
     description = "Tail-sampling proxy for OpenTelemetry";
     license = licenses.asl20;
-    maintainers = with maintainers; [ lf- ];
+    maintainers = [ ];
     mainProgram = "refinery";
   };
 }
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 375347b22fc12..e6275826ccf6f 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "3.0.3";
+  version = "3.0.4";
 
   # Archive with static assets for webui
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    hash = "sha256-vjY8sbNkY/kdQiJ020iUWxIVzxkmpkeLhxBThc6tUuE=";
+    hash = "sha256-9dxg9UL6wkoIs2ql+pLHzd2z+w83vzXYN6zRRLtIegQ=";
     stripRoot = false;
   };
 
-  vendorHash = "sha256-rvo3nw9yUfikO82cy6BbukwqwBSrUCCEta3nKBprCbk=";
+  vendorHash = "sha256-4zI4OL4UlaaefxRPQoUtjyn9M8yfuYOBOyYh6vTnMJg=";
 
   subPackages = [ "cmd/traefik" ];
 
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index 9938658259d57..4055c505daacd 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
     repo = "trezord-go";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-3I6NOzDMhzRyVSOURl7TjJ1Z0P0RcKrSs5rNaZ0Ho9M=";
+    hash = "sha256-3I6NOzDMhzRyVSOURl7TjJ1Z0P0RcKrSs5rNaZ0Ho9M=";
   };
 
   vendorHash = "sha256-wXgAmZEXdM4FcMCQbAs+ydXshCAMu7nl/yVv/3sqaXE=";
diff --git a/pkgs/servers/unpackerr/default.nix b/pkgs/servers/unpackerr/default.nix
index 26ee095e951d3..5d0b90265deb5 100644
--- a/pkgs/servers/unpackerr/default.nix
+++ b/pkgs/servers/unpackerr/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "unpackerr";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "davidnewhall";
     repo = "unpackerr";
     rev = "v${version}";
-    sha256 = "sha256-K6ZDRDtxeqtjToElix1qVgclHaEeOY0W6hOwehFNIgo=";
+    sha256 = "sha256-boDDxQVEUnPOt+ido8J1MvkVUrZRusdSORY0/mPfjDw=";
   };
 
-  vendorHash = "sha256-1OSZzs/hUvauRIE5lzlXPIS2EkHm4aNK1iddjKCb6zA=";
+  vendorHash = "sha256-rxoAHcVxjKII945FQ4/HD3UjtZTwmlFx8zJx0Rfumu4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Cocoa WebKit ];
 
@@ -20,7 +20,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Extracts downloads for Radarr, Sonarr, Lidarr - Deletes extracted files after import";
     homepage = "https://github.com/davidnewhall/unpackerr";
-    maintainers = with maintainers; [ nullx76 ];
+    maintainers = with maintainers; [ ];
     license = licenses.mit;
     mainProgram = "unpackerr";
   };
diff --git a/pkgs/servers/web-apps/changedetection-io/default.nix b/pkgs/servers/web-apps/changedetection-io/default.nix
index a04165a5aa36c..55d27b196362c 100644
--- a/pkgs/servers/web-apps/changedetection-io/default.nix
+++ b/pkgs/servers/web-apps/changedetection-io/default.nix
@@ -5,21 +5,21 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "changedetection-io";
-  version = "0.45.23";
+  version = "0.45.24";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dgtlmoon";
     repo = "changedetection.io";
     rev = "refs/tags/${version}";
-    hash = "sha256-EamTErJfa6mQCem4DWKC53ydupXP+6jrj9tGPlwehLc=";
+    hash = "sha256-VltrcTbX95agV9JGV2KYGeZ6iUlgzrOsjShsUpiGfes=";
   };
 
   postPatch = ''
     substituteInPlace requirements.txt \
       --replace "apprise~=1.8.0" "apprise" \
       --replace "cryptography~=3.4" "cryptography" \
-      --replace "dnspython~=2.4" "dnspython" \
+      --replace "dnspython==2.6.1" "dnspython" \
       --replace "pytest ~=7.2" "" \
       --replace "pytest-flask ~=1.2" "" \
       --replace "selenium~=4.14.0" "selenium" \
@@ -43,6 +43,7 @@ python3.pkgs.buildPythonApplication rec {
     flask-paginate
     flask-restful
     flask-wtf
+    greenlet
     inscriptis
     jinja2
     jinja2-time
@@ -51,7 +52,6 @@ python3.pkgs.buildPythonApplication rec {
     loguru
     lxml
     paho-mqtt
-    pillow
     playwright
     pyee
     pyppeteer
diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix
index 79d7d096f6688..b85be3beb0e38 100644
--- a/pkgs/servers/web-apps/discourse/default.nix
+++ b/pkgs/servers/web-apps/discourse/default.nix
@@ -41,18 +41,19 @@
 , jq
 , moreutils
 , terser
+, uglify-js
 
 , plugins ? []
 }@args:
 
 let
-  version = "3.2.2";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse";
     rev = "v${version}";
-    sha256 = "sha256-JUCFtB5BvBytO3flq9o6iI3HPmvLU358HEmE6wbBsSk=";
+    sha256 = "sha256-ehv81trN8eG7QRAD5ERiSql6ZRCJK9cz6VOT9OzjZhg=";
   };
 
   ruby = ruby_3_2;
@@ -214,7 +215,7 @@ let
     nativeBuildInputs = runtimeDeps ++ [
       postgresql
       redis
-      nodePackages.uglify-js
+      uglify-js
       terser
       yarn
       jq
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile
index d2a2d943c408e..ba35ee28efa9f 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile
@@ -5,6 +5,5 @@ source "https://rubygems.org"
 # gem "rails"
 gem 'bcrypt', '3.1.13'
 gem 'unix-crypt', '1.3.0'
-gem 'ffi', '1.16.3', require: false
 gem 'ffi-compiler', '1.0.1', require: false
 gem 'argon2', '2.2.0'
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock
index a7bfa717ed9db..e806952546ee2 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock
@@ -5,7 +5,7 @@ GEM
       ffi (~> 1.15)
       ffi-compiler (~> 1.0)
     bcrypt (3.1.13)
-    ffi (1.16.3)
+    ffi (1.17.0)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
@@ -18,9 +18,8 @@ PLATFORMS
 DEPENDENCIES
   argon2 (= 2.2.0)
   bcrypt (= 3.1.13)
-  ffi (= 1.16.3)
   ffi-compiler (= 1.0.1)
   unix-crypt (= 1.3.0)
 
 BUNDLED WITH
-   2.5.9
+   2.5.11
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix
index 2189ba854eb7a..d220f050e20a2 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "communiteq";
     repo = "discourse-migratepassword";
-    rev = "32d5fca6de3e8daf3869696ce835fefca1f00bfa";
-    sha256 = "sha256-kNYkA6zuiuUZlPgvIvaO49P8bD+nNysEsow33xG1PnI=";
+    rev = "a732ae244cd4125561fd225a67bae95ef5f738d0";
+    sha256 = "sha256-EO+QnFTy3PgxZ92DZBm9sP8sFAny3ZpFw+faTX32j7Q=";
   };
   meta = with lib; {
     homepage = "https://github.com/communiteq/discourse-migratepassword";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix
index 49174f05d0e91..bff0d82479a3a 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix
@@ -25,10 +25,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
+      sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
       type = "gem";
     };
-    version = "1.16.3";
+    version = "1.17.0";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
index d0fa5b690bb6e..29812ea63b624 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, mkDiscoursePlugin, fetchFromGitHub }:
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
 
  mkDiscoursePlugin {
   bundlerEnvArgs.gemdir = ./.;
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
index f73aeecb6baab..bae9d8b9852df 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
@@ -55,8 +55,6 @@ gem "message_bus"
 
 gem "rails_multisite"
 
-gem "fast_xs", platform: :ruby
-
 gem "fastimage"
 
 gem "aws-sdk-s3", require: false
@@ -199,8 +197,6 @@ gem "puma", require: false
 
 gem "rbtrace", require: false, platform: :mri
 
-gem "gc_tracer", require: false, platform: :mri
-
 # required for feed importing and embedding
 gem "ruby-readability", require: false
 
@@ -269,3 +265,8 @@ gem "net-http"
 gem "cgi", ">= 0.3.6", require: false
 
 gem "tzinfo-data"
+gem "csv", require: false
+
+# TODO: Can be removed once we upgrade to Rails 7.1
+gem "mutex_m"
+gem "drb"
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
index 31af98840b1ca..4437a2d36817a 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
@@ -33,7 +33,7 @@ GEM
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    actionview_precompiler (0.3.0)
+    actionview_precompiler (0.4.0)
       actionview (>= 6.0.a)
     active_model_serializers (0.8.4)
       activemodel (>= 3.0)
@@ -117,6 +117,7 @@ GEM
     crass (1.0.6)
     css_parser (1.16.0)
       addressable
+    csv (3.3.0)
     date (3.3.4)
     debug_inspector (1.2.0)
     diff-lcs (1.5.0)
@@ -130,6 +131,7 @@ GEM
       faker (~> 2.16)
       literate_randomizer
     docile (1.4.0)
+    drb (2.2.1)
     email_reply_trimmer (0.1.13)
     erubi (1.12.0)
     excon (0.109.0)
@@ -146,16 +148,14 @@ GEM
     faraday-retry (2.2.0)
       faraday (~> 2.0)
     fast_blank (1.0.1)
-    fast_xs (0.8.0)
     fastimage (2.3.0)
     ffi (1.16.3)
     fspath (3.1.2)
-    gc_tracer (1.5.1)
     globalid (1.2.1)
       activesupport (>= 6.1)
-    google-protobuf (3.25.2)
-    google-protobuf (3.25.2-arm64-darwin)
-    google-protobuf (3.25.2-x86_64-darwin)
+    google-protobuf (3.25.3)
+    google-protobuf (3.25.3-arm64-darwin)
+    google-protobuf (3.25.3-x86_64-darwin)
     guess_html_encoding (0.0.11)
     hana (1.3.7)
     hashdiff (1.1.0)
@@ -217,7 +217,7 @@ GEM
       rack (>= 1.1.3)
     method_source (1.0.0)
     mini_mime (1.1.5)
-    mini_portile2 (2.8.6)
+    mini_portile2 (2.8.7)
     mini_racer (0.8.0)
       libv8-node (~> 18.16.0.0)
     mini_scheduler (0.16.0)
@@ -233,6 +233,7 @@ GEM
     multi_json (1.15.0)
     multi_xml (0.6.0)
     mustache (1.1.1)
+    mutex_m (0.2.0)
     net-http (0.4.1)
       uri
     net-imap (0.4.9.1)
@@ -517,6 +518,7 @@ GEM
 PLATFORMS
   arm64-darwin-21
   arm64-darwin-22
+  arm64-darwin-23
   ruby
   x86_64-darwin-22
 
@@ -546,11 +548,13 @@ DEPENDENCIES
   cose
   cppjieba_rb
   css_parser
+  csv
   diffy
   digest
   discourse-fonts
   discourse-seed-fu
   discourse_dev_assets
+  drb
   email_reply_trimmer
   excon
   execjs
@@ -560,9 +564,7 @@ DEPENDENCIES
   faraday
   faraday-retry
   fast_blank
-  fast_xs
   fastimage
-  gc_tracer
   highline
   htmlentities
   http_accept_language
@@ -591,6 +593,7 @@ DEPENDENCIES
   mocha
   multi_json
   mustache
+  mutex_m
   net-http
   net-imap
   net-pop
@@ -661,4 +664,4 @@ DEPENDENCIES
   yard
 
 BUNDLED WITH
-   2.5.9
+   2.5.11
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
index 79cba6f33bee3..16474c3367628 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07jyr2h87ha6k2y965rs4ywq142ddkfkhbmp0r44xg4wnffr8jbl";
+      sha256 = "077d83avfm73nd0yji853jn94jpbr496apyz5zh5df61qipbvdik";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "0.4.0";
   };
   active_model_serializers = {
     dependencies = ["activemodel"];
@@ -449,6 +449,16 @@
     };
     version = "1.16.0";
   };
+  csv = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zfn40dvgjk1xv1z8l11hr9jfg3jncwsc9yhzsz4l4rivkpivg8b";
+      type = "gem";
+    };
+    version = "3.3.0";
+  };
   date = {
     groups = ["default"];
     platforms = [];
@@ -541,6 +551,16 @@
     };
     version = "1.4.0";
   };
+  drb = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79";
+      type = "gem";
+    };
+    version = "2.2.1";
+  };
   email_reply_trimmer = {
     groups = ["default"];
     platforms = [];
@@ -675,22 +695,6 @@
     };
     version = "1.0.1";
   };
-  fast_xs = {
-    groups = ["default"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "rbx";
-    } {
-      engine = "ruby";
-    }];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1iydzaqmvqq7ncxkr182aybkk6xap0cb2w9amr73vbdxi2qf3wjz";
-      type = "gem";
-    };
-    version = "0.8.0";
-  };
   fastimage = {
     groups = ["default"];
     platforms = [];
@@ -725,20 +729,6 @@
     };
     version = "3.1.2";
   };
-  gc_tracer = {
-    groups = ["default"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "ruby";
-    }];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yv3mp8lx74lfzs04fd5h4g89209iwhzpc407y35p7cmzgx6a4kv";
-      type = "gem";
-    };
-    version = "1.5.1";
-  };
   globalid = {
     dependencies = ["activesupport"];
     groups = ["default"];
@@ -755,10 +745,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02sh4rp14wmpfv9r7xrap6xgcakg0lk6zjvq1gsi5y38swhn2blw";
+      sha256 = "1mnxzcq8kmyfb9bkzqnp019d1hx1vprip3yzdkkha6b3qz5rgg9r";
       type = "gem";
     };
-    version = "3.25.2";
+    version = "3.25.3";
   };
   guess_html_encoding = {
     groups = ["default"];
@@ -1141,10 +1131,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "149r94xi6b3jbp6bv72f8383b95ndn0p5sxnq11gs1j9jadv0ajf";
+      sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk";
       type = "gem";
     };
-    version = "2.8.6";
+    version = "2.8.7";
   };
   mini_racer = {
     dependencies = ["libv8-node"];
@@ -1264,6 +1254,16 @@
     };
     version = "1.1.1";
   };
+  mutex_m = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
   net-http = {
     dependencies = ["uri"];
     groups = ["default"];
diff --git a/pkgs/servers/web-apps/discourse/update.py b/pkgs/servers/web-apps/discourse/update.py
index 5d17b9798b600..9d922de7c9ccb 100755
--- a/pkgs/servers/web-apps/discourse/update.py
+++ b/pkgs/servers/web-apps/discourse/update.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i python3 -p bundix bundler nix-update nix-universal-prefetch "python3.withPackages (ps: with ps; [ requests click click-log packaging ])" prefetch-yarn-deps
+#! nix-shell -i python3 -p bundix bundler nix-update nurl "python3.withPackages (ps: with ps; [ requests click click-log packaging ])" prefetch-yarn-deps
 from __future__ import annotations
 
 import click
@@ -301,6 +301,11 @@ def update_plugins():
         name = plugin.get('name')
         repo_name = plugin.get('repo_name') or name
 
+        if fetcher == "fetchFromGitHub":
+            url = f"https://github.com/{owner}/{repo_name}"
+        else:
+            raise NotImplementedError(f"Missing URL pattern for {fetcher}")
+
         repo = DiscourseRepo(owner=owner, repo=repo_name)
 
         # implement the plugin pinning algorithm laid out here:
@@ -378,10 +383,11 @@ def update_plugins():
 
         prev_hash = _nix_eval(f'discourse.plugins.{name}.src.outputHash')
         new_hash = subprocess.check_output([
-            'nix-universal-prefetch', fetcher,
-            '--owner', owner,
-            '--repo', repo_name,
-            '--rev', rev,
+            "nurl",
+            "--fetcher", fetcher,
+            "--hash",
+            url,
+            rev,
         ], text=True).strip("\n")
 
         click.echo(f"Update {name}, {prev_commit_sha} -> {rev} in {filename}")
diff --git a/pkgs/servers/web-apps/freshrss/default.nix b/pkgs/servers/web-apps/freshrss/default.nix
index f43aa15887cfd..78c73719b481b 100644
--- a/pkgs/servers/web-apps/freshrss/default.nix
+++ b/pkgs/servers/web-apps/freshrss/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , nixosTests
 , php
+, writeText
 }:
 
 stdenvNoCC.mkDerivation rec {
@@ -16,26 +17,33 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-AAOON1RdbG6JSnCc123jmIlIXHOE1PE49BV4hcASO/s=";
   };
 
-  passthru.tests = {
-    inherit (nixosTests) freshrss-sqlite freshrss-pgsql freshrss-http-auth freshrss-none-auth;
-  };
+  postPatch = ''
+    patchShebangs cli/*.php app/actualize_script.php
+  '';
+
+  # the thirdparty_extension_path can only be set by config, but should be read by an env-var.
+  overrideConfig = writeText "constants.local.php" ''
+    <?php
+      define('THIRDPARTY_EXTENSIONS_PATH', getenv('THIRDPARTY_EXTENSIONS_PATH') . '/extensions');
+  '';
 
   buildInputs = [ php ];
 
   # There's nothing to build.
   dontBuild = true;
 
-  postPatch = ''
-    patchShebangs cli/*.php app/actualize_script.php
-  '';
-
   installPhase = ''
     runHook preInstall
     mkdir -p $out
     cp -vr * $out/
+    cp $overrideConfig $out/constants.local.php
     runHook postInstall
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) freshrss-sqlite freshrss-pgsql freshrss-http-auth freshrss-none-auth freshrss-extensions;
+  };
+
   meta = with lib; {
     description = "FreshRSS is a free, self-hostable RSS aggregator";
     homepage = "https://www.freshrss.org/";
diff --git a/pkgs/servers/web-apps/freshrss/extensions/default.nix b/pkgs/servers/web-apps/freshrss/extensions/default.nix
new file mode 100644
index 0000000000000..c8d779f7933d6
--- /dev/null
+++ b/pkgs/servers/web-apps/freshrss/extensions/default.nix
@@ -0,0 +1,138 @@
+{ config
+, lib
+, fetchFromGitHub
+, fetchFromGitLab
+, callPackage
+}:
+
+let
+  buildFreshRssExtension = (callPackage ./freshrss-utils.nix { }).buildFreshRssExtension;
+
+  official_extensions_version = "unstable-2024-04-27";
+  official_extensions_src = fetchFromGitHub {
+    owner = "FreshRSS";
+    repo = "Extensions";
+    rev = "71de129744ba37fd4cf363b78445f5345bc6d0b7";
+    hash = "sha256-A+hOjbGNfhwTOAMeo08MUdqfWxxetzLz865oQQDsQlg=";
+  };
+
+  baseExtensions =
+    _self:
+    lib.mapAttrs (_n: lib.recurseIntoAttrs) {
+      auto-ttl = buildFreshRssExtension rec {
+        FreshRssExtUniqueId = "AutoTTL";
+        pname = "auto-ttl";
+        version = "0.5.0";
+        src = fetchFromGitHub {
+          owner = "mgnsk";
+          repo = "FreshRSS-AutoTTL";
+          rev = "v${version}";
+          hash = "sha256-OiTiLZ2BjQD1W/BD8EkUt7WB2wOjL6GMGJ+APT4YpwE=";
+        };
+        meta = {
+          description = "FreshRSS extension for automatic feed refresh TTL based on the average frequency of entries.";
+          homepage = "https://github.com/mgnsk/FreshRSS-AutoTTL";
+          license = lib.licenses.agpl3Only;
+          maintainers = [ lib.maintainers.stunkymonkey ];
+        };
+      };
+
+      demo = buildFreshRssExtension {
+        FreshRssExtUniqueId = "Demo";
+        pname = "demo";
+        version = "unstable-2023-12-22";
+        src = fetchFromGitHub {
+          owner = "FreshRSS";
+          repo = "xExtension-Demo";
+          rev = "8d60f71a2f0411f5fbbb1f88a57791cee0848f35";
+          hash = "sha256-5fe8TjefSiGMaeZkurxSJjX8qEEa1ArhJxDztp7ZNZc=";
+        };
+        meta = {
+          description = "FreshRSS Extension for the demo version.";
+          homepage = "https://github.com/FreshRSS/xExtension-Demo";
+          license = lib.licenses.agpl3Only;
+          maintainers = [ lib.maintainers.stunkymonkey ];
+        };
+      };
+
+      reading-time = buildFreshRssExtension rec {
+        FreshRssExtUniqueId = "ReadingTime";
+        pname = "reading-time";
+        version = "1.5";
+        src = fetchFromGitLab {
+          domain = "framagit.org";
+          owner = "Lapineige";
+          repo = "FreshRSS_Extension-ReadingTime";
+          rev = "fb6e9e944ef6c5299fa56ffddbe04c41e5a34ebf";
+          hash = "sha256-C5cRfaphx4Qz2xg2z+v5qRji8WVSIpvzMbethTdSqsk=";
+        };
+        meta = {
+          description = "FreshRSS extension adding a reading time estimation next to each article.";
+          homepage = "https://framagit.org/Lapineige/FreshRSS_Extension-ReadingTime";
+          license = lib.licenses.agpl3Only;
+          maintainers = [ lib.maintainers.stunkymonkey ];
+        };
+      };
+
+      reddit-image = buildFreshRssExtension rec {
+        FreshRssExtUniqueId = "RedditImage";
+        pname = "reddit-image";
+        version = "1.2.0";
+        src = fetchFromGitHub {
+          owner = "aledeg";
+          repo = "xExtension-RedditImage";
+          rev = "v${version}";
+          hash = "sha256-H/uxt441ygLL0RoUdtTn9Q6Q/Ois8RHlhF8eLpTza4Q=";
+        };
+        meta = {
+          description = "FreshRSS extension to process Reddit feeds.";
+          homepage = "https://github.com/aledeg/xExtension-RedditImage";
+          license = lib.licenses.agpl3Only;
+          maintainers = [ lib.maintainers.stunkymonkey ];
+        };
+      };
+
+      title-wrap = buildFreshRssExtension {
+        FreshRssExtUniqueId = "TitleWrap";
+        pname = "title-wrap";
+        version = official_extensions_version;
+        src = official_extensions_src;
+        sourceRoot = "source/xExtension-TitleWrap";
+        meta = {
+          description = "FreshRSS extension instead of truncating the title is wrapped.";
+          homepage = "https://github.com/FreshRSS/Extensions/tree/master/xExtension-TitleWrap";
+          license = lib.licenses.agpl3Only;
+          maintainers = [ lib.maintainers.stunkymonkey ];
+        };
+      };
+
+      youtube = buildFreshRssExtension {
+        FreshRssExtUniqueId = "YouTube";
+        pname = "youtube";
+        version = official_extensions_version;
+        src = official_extensions_src;
+        sourceRoot = "source/xExtension-YouTube";
+        meta = {
+          description = "FreshRSS extension allows you to directly watch YouTube/PeerTube videos from within subscribed channel feeds.";
+          homepage = "https://github.com/FreshRSS/Extensions/tree/master/xExtension-YouTube";
+          license = lib.licenses.agpl3Only;
+          maintainers = [ lib.maintainers.stunkymonkey ];
+        };
+      };
+    };
+
+  # add possibility to define aliases
+  aliases = super: {
+    # example:  RedditImage = super.reddit-image;
+  };
+
+  # overlays will be applied left to right, overrides should come after aliases.
+  overlays = lib.optionals config.allowAliases [
+    (_self: super: lib.recursiveUpdate super (aliases super))
+  ];
+
+  toFix = lib.foldl' (lib.flip lib.extends) baseExtensions overlays;
+in
+(lib.fix toFix) // {
+  inherit buildFreshRssExtension;
+}
diff --git a/pkgs/servers/web-apps/freshrss/extensions/freshrss-utils.nix b/pkgs/servers/web-apps/freshrss/extensions/freshrss-utils.nix
new file mode 100644
index 0000000000000..bd0fc8f6de546
--- /dev/null
+++ b/pkgs/servers/web-apps/freshrss/extensions/freshrss-utils.nix
@@ -0,0 +1,45 @@
+{ stdenv, unzip }:
+let
+  buildFreshRssExtension =
+    args@{ pname
+    , version
+    , src
+    , FreshRssExtUniqueId
+    , configurePhase ? ''
+        runHook preConfigure
+        runHook postConfigure
+      ''
+    , buildPhase ? ''
+        runHook preBuild
+        runHook postBuild
+      ''
+    , dontPatchELF ? true
+    , dontStrip ? true
+    , passthru ? { }
+    , sourceRoot ? "source"
+    , ...
+    }:
+    stdenv.mkDerivation ((removeAttrs args [ "FreshRssExtUniqueId" ]) // {
+      pname = "freshrss-extension-${pname}";
+
+      inherit version src configurePhase buildPhase dontPatchELF dontStrip sourceRoot;
+
+      installPrefix = "share/freshrss/extensions/xExtension-${FreshRssExtUniqueId}";
+
+      installPhase = ''
+        runHook preInstall
+
+        mkdir -p "$out/$installPrefix"
+        find . -mindepth 1 -maxdepth 1 | xargs -d'\n' mv -t "$out/$installPrefix/"
+
+        runHook postInstall
+      '';
+
+      passthru = passthru // {
+        inherit FreshRssExtUniqueId;
+      };
+    });
+in
+{
+  inherit buildFreshRssExtension;
+}
diff --git a/pkgs/servers/web-apps/hedgedoc/default.nix b/pkgs/servers/web-apps/hedgedoc/default.nix
index 7e1c7644fb014..e079ac81b30f3 100644
--- a/pkgs/servers/web-apps/hedgedoc/default.nix
+++ b/pkgs/servers/web-apps/hedgedoc/default.nix
@@ -6,7 +6,7 @@
 , yarn
 , makeBinaryWrapper
 , nodejs
-, python3
+, python311
 , nixosTests
 }:
 
@@ -52,7 +52,7 @@ in stdenv.mkDerivation {
   nativeBuildInputs = [
     makeBinaryWrapper
     yarn
-    python3 # needed for sqlite node-gyp
+    python311 # needed for sqlite node-gyp
   ];
 
   buildInputs = [
diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix
index e7956b6c694ac..f1097aeb1aec1 100644
--- a/pkgs/servers/web-apps/jitsi-meet/default.nix
+++ b/pkgs/servers/web-apps/jitsi-meet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet";
-  version = "1.0.7952";
+  version = "1.0.8043";
 
   src = fetchurl {
     url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2";
-    sha256 = "K3CBISTOza8xhF4/DmqdTZaPL9zwu4ej+yqJXBawFEk=";
+    sha256 = "XJlfCMQXnHjfHQhK916RXsdPzrU2U2IaOMiXIHL1sCI=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/lemmy/package.json b/pkgs/servers/web-apps/lemmy/package.json
deleted file mode 100644
index 97600d6801a2e..0000000000000
--- a/pkgs/servers/web-apps/lemmy/package.json
+++ /dev/null
@@ -1,149 +0,0 @@
-{
-  "name": "lemmy-ui",
-  "description": "An isomorphic UI for lemmy",
-  "version": "0.19.3",
-  "author": "Dessalines <tyhou13@gmx.com>",
-  "license": "AGPL-3.0-only",
-  "scripts": {
-    "analyze": "webpack --mode=none",
-    "build:dev": "webpack --env COMMIT_HASH=$(git rev-parse --short HEAD) --mode=development",
-    "build:prod": "webpack --env COMMIT_HASH=$(git rev-parse --short HEAD) --mode=production",
-    "clean": "yarn run rimraf dist",
-    "dev": "yarn build:dev --watch",
-    "lint": "yarn translations:generate && tsc --noEmit && eslint --report-unused-disable-directives --ext .js,.ts,.tsx \"src/**\" && prettier --check \"src/**/*.{ts,tsx,js,css,scss}\"",
-    "postinstall": "husky install",
-    "prebuild:dev": "yarn clean && node generate_translations.js",
-    "prebuild:prod": "yarn clean && node generate_translations.js",
-    "prepare": "husky install",
-    "themes:build": "sass src/assets/css/themes/:src/assets/css/themes",
-    "themes:watch": "sass --watch src/assets/css/themes/:src/assets/css/themes",
-    "translations:generate": "node generate_translations.js",
-    "translations:init": "git submodule init && yarn translations:update",
-    "translations:update": "git submodule update --remote --recursive"
-  },
-  "repository": "https://github.com/LemmyNet/lemmy-ui",
-  "engines": {
-    "node": ">=8.9.0"
-  },
-  "dependencies": {
-    "@babel/plugin-proposal-class-properties": "^7.18.6",
-    "@babel/plugin-proposal-decorators": "^7.23.7",
-    "@babel/plugin-transform-runtime": "^7.23.7",
-    "@babel/plugin-transform-typescript": "^7.23.6",
-    "@babel/preset-env": "^7.23.8",
-    "@babel/preset-typescript": "^7.21.5",
-    "@babel/runtime": "^7.23.8",
-    "@emoji-mart/data": "^1.1.0",
-    "@shortcm/qr-image": "^9.0.2",
-    "autosize": "^6.0.1",
-    "babel-loader": "^9.1.3",
-    "babel-plugin-inferno": "^6.7.1",
-    "bootstrap": "^5.3.1",
-    "check-password-strength": "^2.0.7",
-    "classnames": "^2.5.1",
-    "clean-webpack-plugin": "^4.0.0",
-    "cookie": "^0.6.0",
-    "copy-webpack-plugin": "^12.0.2",
-    "css-loader": "^6.9.1",
-    "date-fns": "^3.2.0",
-    "emoji-mart": "^5.4.0",
-    "emoji-short-name": "^2.0.0",
-    "express": "~4.18.2",
-    "history": "^5.3.0",
-    "html-to-text": "^9.0.5",
-    "husky": "^8.0.3",
-    "i18next": "^23.7.16",
-    "inferno": "^8.2.3",
-    "inferno-create-element": "^8.2.3",
-    "inferno-helmet": "^5.2.1",
-    "inferno-hydrate": "^8.2.3",
-    "inferno-i18next-dess": "0.0.2",
-    "inferno-router": "^8.2.3",
-    "inferno-server": "^8.2.3",
-    "jwt-decode": "^4.0.0",
-    "lemmy-js-client": "0.19.2-alpha.1",
-    "lodash.isequal": "^4.5.0",
-    "markdown-it": "^14.0.0",
-    "markdown-it-bidi": "^0.1.0",
-    "markdown-it-container": "^4.0.0",
-    "markdown-it-emoji": "^3.0.0",
-    "markdown-it-footnote": "^4.0.0",
-    "markdown-it-highlightjs": "^4.0.1",
-    "markdown-it-html5-embed": "^1.0.0",
-    "markdown-it-ruby": "^0.1.1",
-    "markdown-it-sub": "^2.0.0",
-    "markdown-it-sup": "^2.0.0",
-    "mini-css-extract-plugin": "^2.7.7",
-    "register-service-worker": "^1.7.2",
-    "run-node-webpack-plugin": "^1.3.0",
-    "rxjs": "^7.8.1",
-    "sanitize-html": "^2.11.0",
-    "sass": "^1.70.0",
-    "sass-loader": "^14.0.0",
-    "serialize-javascript": "^6.0.2",
-    "service-worker-webpack": "^1.0.0",
-    "sharp": "0.32.6",
-    "tippy.js": "^6.3.7",
-    "toastify-js": "^1.12.0",
-    "tributejs": "^5.1.3",
-    "webpack": "^5.89.0",
-    "webpack-cli": "^5.1.4",
-    "webpack-node-externals": "^3.0.0"
-  },
-  "devDependencies": {
-    "@babel/core": "^7.23.7",
-    "@types/autosize": "^4.0.0",
-    "@types/bootstrap": "^5.2.6",
-    "@types/cookie": "^0.6.0",
-    "@types/express": "^4.17.17",
-    "@types/html-to-text": "^9.0.0",
-    "@types/lodash.isequal": "^4.5.6",
-    "@types/markdown-it": "^13.0.7",
-    "@types/markdown-it-container": "^2.0.6",
-    "@types/node": "^20.11.5",
-    "@types/path-browserify": "^1.0.0",
-    "@types/sanitize-html": "^2.9.0",
-    "@types/serialize-javascript": "^5.0.1",
-    "@types/toastify-js": "^1.12.0",
-    "@typescript-eslint/eslint-plugin": "^6.19.0",
-    "@typescript-eslint/parser": "^6.19.0",
-    "eslint": "^8.56.0",
-    "eslint-plugin-inferno": "^7.33.3",
-    "eslint-plugin-jsx-a11y": "^6.7.1",
-    "eslint-plugin-prettier": "^5.1.3",
-    "import-sort-style-module": "^6.0.0",
-    "lint-staged": "^15.2.0",
-    "prettier": "^3.2.4",
-    "prettier-plugin-import-sort": "^0.0.7",
-    "prettier-plugin-organize-imports": "^3.2.3",
-    "prettier-plugin-packagejson": "^2.4.9",
-    "rimraf": "^5.0.0",
-    "sortpack": "^2.4.0",
-    "style-loader": "^3.3.4",
-    "terser": "^5.27.0",
-    "typescript": "^5.3.3",
-    "typescript-language-server": "^4.3.1",
-    "webpack-bundle-analyzer": "^4.9.0",
-    "webpack-dev-server": "4.15.1"
-  },
-  "lint-staged": {
-    "*.{css, scss}": [
-      "prettier --write"
-    ],
-    "*.{ts,tsx,js}": [
-      "prettier --write",
-      "eslint --fix"
-    ],
-    "package.json": [
-      "sortpack"
-    ]
-  },
-  "packageManager": "yarn@1.22.19",
-  "engineStrict": true,
-  "importSort": {
-    ".js, .jsx, .ts, .tsx": {
-      "style": "module",
-      "parser": "typescript"
-    }
-  }
-}
diff --git a/pkgs/servers/web-apps/lemmy/pin.json b/pkgs/servers/web-apps/lemmy/pin.json
index fdab1c9d63d69..36c61ba3d92b1 100644
--- a/pkgs/servers/web-apps/lemmy/pin.json
+++ b/pkgs/servers/web-apps/lemmy/pin.json
@@ -1,8 +1,8 @@
 {
-  "serverVersion": "0.19.3",
-  "uiVersion": "0.19.3",
-  "serverHash": "sha256-iO7bY2oChx0cZbwgXMrrV4e1kffop9s4xmepNywnApU=",
-  "serverCargoHash": "sha256-XXfg0o/LQ/imnsHsREoBXMDP1hU5Stxv0s6AP+o+USc=",
-  "uiHash": "sha256-6GGiKCNL0PALdz0W0d1OOPyMIA5kaoL3148j9GWzrMM=",
-  "uiYarnDepsHash": "sha256-UQ+B2vF34L+HuisyO7wdW2zCfEEGa8YdnoaB4jHi+DY="
+  "serverVersion": "0.19.5",
+  "uiVersion": "0.19.5",
+  "serverHash": "sha256-ellHimZdbB5EQSHVsppBNYyZOODpUADvUn7u6JOu1ns=",
+  "serverCargoHash": "sha256-UdFw8RPKYLqY98So8z9kiaVCl3b8KaqIoUMK/EV2uNM=",
+  "uiHash": "sha256-bhbZQ8tDnJ6TWYj+ki/JQW8cbVjRfLzxaXRDX9JAIm4=",
+  "uiPNPMDepsHash": "sha256-aJPa46a2W8xHlDzFt0QMFQtEoUSkFQtN9VhaQOvoVio="
 }
diff --git a/pkgs/servers/web-apps/lemmy/server.nix b/pkgs/servers/web-apps/lemmy/server.nix
index d4d44c473f5c2..8cb65bfef2bf0 100644
--- a/pkgs/servers/web-apps/lemmy/server.nix
+++ b/pkgs/servers/web-apps/lemmy/server.nix
@@ -50,6 +50,10 @@ rustPlatform.buildRustPackage rec {
   checkFlags = [
     # test requires database access
     "--skip=session_middleware::tests::test_session_auth"
+
+    # tests require network access
+    "--skip=scheduled_tasks::tests::test_nodeinfo_mastodon_social"
+    "--skip=scheduled_tasks::tests::test_nodeinfo_voyager_lemmy_ml"
   ];
 
   passthru.updateScript = ./update.py;
@@ -59,7 +63,7 @@ rustPlatform.buildRustPackage rec {
     description = "🐀 Building a federated alternative to reddit in rust";
     homepage = "https://join-lemmy.org/";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ happysalada billewanick ];
+    maintainers = with maintainers; [ happysalada billewanick georgyo ];
     mainProgram = "lemmy_server";
   };
 }
diff --git a/pkgs/servers/web-apps/lemmy/ui.nix b/pkgs/servers/web-apps/lemmy/ui.nix
index 2bb1ccaeb8428..b3b267d2f7228 100644
--- a/pkgs/servers/web-apps/lemmy/ui.nix
+++ b/pkgs/servers/web-apps/lemmy/ui.nix
@@ -1,11 +1,11 @@
 { lib
-, mkYarnPackage
+, stdenvNoCC
 , libsass
 , nodejs
 , python3
 , pkg-config
+, pnpm_9
 , fetchFromGitHub
-, fetchYarnDeps
 , nixosTests
 , vips
 , nodePackages
@@ -14,85 +14,70 @@
 let
   pinData = lib.importJSON ./pin.json;
 
-  pkgConfig = {
-    node-sass = {
-      nativeBuildInputs = [ pkg-config ];
-      buildInputs = [ libsass python3 ];
-      postInstall = ''
-        LIBSASS_EXT=auto yarn --offline run build
-        rm build/config.gypi
-      '';
-    };
-    sharp = {
-      nativeBuildInputs = [ pkg-config nodePackages.node-gyp nodePackages.semver ];
-      buildInputs = [ vips ];
-      postInstall = ''
-        yarn --offline run install
-      '';
-    };
-  };
 
-  name = "lemmy-ui";
+in
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+
+  pname = "lemmy-ui";
   version = pinData.uiVersion;
 
-  src = fetchFromGitHub {
+  src = with finalAttrs; fetchFromGitHub {
     owner = "LemmyNet";
-    repo = name;
+    repo = pname;
     rev = version;
     fetchSubmodules = true;
     hash = pinData.uiHash;
   };
-in
-mkYarnPackage {
 
-  inherit src pkgConfig name version;
+  nativeBuildInputs = [
+    nodejs
+    pnpm_9.configHook
+  ];
 
-  extraBuildInputs = [ libsass ];
+  buildInputs = [libsass vips ];
 
-  packageJSON = ./package.json;
-  offlineCache = fetchYarnDeps {
-    yarnLock = src + "/yarn.lock";
-    hash = pinData.uiYarnDepsHash;
+  extraBuildInputs = [ libsass ];
+  pnpmDeps = pnpm_9.fetchDeps {
+    inherit (finalAttrs) pname version src;
+    hash = pinData.uiPNPMDepsHash;
   };
 
-  patchPhase = ''
-    substituteInPlace ./package.json \
-      --replace '$(git rev-parse --short HEAD)' "${src.rev}" \
-      --replace 'yarn clean' 'yarn --offline clean' \
-      --replace 'yarn run rimraf dist' 'yarn --offline run rimraf dist'
-  '';
+  buildPhase = ''
+    runHook preBuild
+
+    pnpm build:prod
 
-  yarnPreBuild = ''
-    export npm_config_nodedir=${nodejs}
+    runHook postBuild
   '';
 
-  buildPhase = ''
-    # Yarn writes cache directories etc to $HOME.
-    export HOME=$PWD/yarn_home
+  # installPhase = ''
+  #     runHook preInstall
 
-    ln -sf $PWD/node_modules $PWD/deps/lemmy-ui/
-    echo 'export const VERSION = "${version}";' > $PWD/deps/lemmy-ui/src/shared/version.ts
+  #     mkdir -p $out/{bin,lib/${finalAttrs.pname}}
+  #     mv {dist,node_modules} $out/lib/${finalAttrs.pname}
 
-    yarn --offline build:prod
-  '';
+  #     runHook postInstall
 
-  preInstall = ''
+  #  '';
+    preInstall = ''
     mkdir $out
-    cp -R ./deps/lemmy-ui/dist $out
+    cp -R ./dist $out
     cp -R ./node_modules $out
   '';
 
+
   distPhase = "true";
 
   passthru.updateScript = ./update.py;
   passthru.tests.lemmy-ui = nixosTests.lemmy;
-  passthru.commit_sha = src.rev;
+  passthru.commit_sha = finalAttrs.src.rev;
 
   meta = with lib; {
     description = "Building a federated alternative to reddit in rust";
     homepage = "https://join-lemmy.org/";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ happysalada billewanick ];
+    maintainers = with maintainers; [ happysalada billewanick georgyo ];
     inherit (nodejs.meta) platforms;
   };
-}
+})
diff --git a/pkgs/servers/web-apps/lemmy/update.py b/pkgs/servers/web-apps/lemmy/update.py
index 4e867553b7900..c9ce4e6e8823c 100755
--- a/pkgs/servers/web-apps/lemmy/update.py
+++ b/pkgs/servers/web-apps/lemmy/update.py
@@ -30,7 +30,7 @@ class Pin:
     serverHash: str = ""
     serverCargoHash: str = ""
     uiHash: str = ""
-    uiYarnDepsHash: str = ""
+    uiPNPMDepsHash: str = ""
 
     filename: Optional[str] = None
 
@@ -136,18 +136,10 @@ def make_server_pin(pin: Pin, attr: str) -> None:
     pin.write()
 
 
-def make_ui_pin(pin: Pin, package_json: str, attr: str) -> None:
-    # Save a copy of package.json
-    print("Getting package.json")
-    with urlopen(
-        f"https://raw.githubusercontent.com/{OWNER}/{UI_REPO}/{pin.uiVersion}/package.json"
-    ) as resp:
-        with open(os.path.join(SCRIPT_DIR, package_json), "wb") as fd:
-            fd.write(resp.read())
-
+def make_ui_pin(pin: Pin, attr: str) -> None:
     pin.uiHash = prefetch_github(OWNER, UI_REPO, pin.uiVersion)
     pin.write()
-    pin.uiYarnDepsHash = get_fod_hash(attr)
+    pin.uiPNPMDepsHash = get_fod_hash(attr)
     pin.write()
 
 
@@ -160,4 +152,4 @@ if __name__ == "__main__":
 
     pin = Pin(server_version, ui_version, filename=os.path.join(SCRIPT_DIR, "pin.json"))
     make_server_pin(pin, "lemmy-server")
-    make_ui_pin(pin, "package.json", "lemmy-ui")
+    make_ui_pin(pin, "lemmy-ui")
diff --git a/pkgs/servers/web-apps/livebook/default.nix b/pkgs/servers/web-apps/livebook/default.nix
index e1815a819bbf2..990f658ce9f7b 100644
--- a/pkgs/servers/web-apps/livebook/default.nix
+++ b/pkgs/servers/web-apps/livebook/default.nix
@@ -1,7 +1,7 @@
 { lib, beamPackages, makeWrapper, rebar3, elixir, erlang, fetchFromGitHub, nixosTests }:
 beamPackages.mixRelease rec {
   pname = "livebook";
-  version = "0.12.1";
+  version = "0.13.3";
 
   inherit elixir;
 
@@ -13,13 +13,13 @@ beamPackages.mixRelease rec {
     owner = "livebook-dev";
     repo = "livebook";
     rev = "v${version}";
-    hash = "sha256-Q4c0AelZZDPxE/rtoHIRQi3INMLHeiZ72TWgy183f4Q=";
+    hash = "sha256-luvqH6fjovRhVQrsP00XLSQ/rjHZgUbUWmL2B5XCyKI=";
   };
 
   mixFodDeps = beamPackages.fetchMixDeps {
     pname = "mix-deps-${pname}";
     inherit src version;
-    hash = "sha256-dyKhrbb7vazBV6LFERtGHLQXEx29vTgn074mY4fsHy4=";
+    hash = "sha256-/U/UmNVtl7H0rdgXpibM/bYvRbio8WzVRTv4tQ7GQcY=";
   };
 
   postInstall = ''
diff --git a/pkgs/servers/web-apps/mediawiki/default.nix b/pkgs/servers/web-apps/mediawiki/default.nix
index 964baf96f827e..43f3f399b4e1e 100644
--- a/pkgs/servers/web-apps/mediawiki/default.nix
+++ b/pkgs/servers/web-apps/mediawiki/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mediawiki";
-  version = "1.41.1";
+  version = "1.42.1";
 
   src = fetchurl {
     url = "https://releases.wikimedia.org/mediawiki/${lib.versions.majorMinor version}/mediawiki-${version}.tar.gz";
-    hash = "sha256-TguqlTuF6U0xBAyyUSCrxgb6hpsuMxJr37t/xhPoxLI=";
+    hash = "sha256-7IevlaNd0Jw01S4CeVZSoDCrcpVeQx8IynIqc3N+ulM=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/web-apps/netbox/generic.nix b/pkgs/servers/web-apps/netbox/generic.nix
index 862b817be90e7..c7a5225a66e30 100644
--- a/pkgs/servers/web-apps/netbox/generic.nix
+++ b/pkgs/servers/web-apps/netbox/generic.nix
@@ -92,6 +92,7 @@
       '';
 
       passthru = {
+        python = python3;
         # PYTHONPATH of all dependencies used by the package
         pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
         gunicorn = python3.pkgs.gunicorn;
diff --git a/pkgs/servers/web-apps/nifi/default.nix b/pkgs/servers/web-apps/nifi/default.nix
index e579303bcfd20..3a65cb0fecfa3 100644
--- a/pkgs/servers/web-apps/nifi/default.nix
+++ b/pkgs/servers/web-apps/nifi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nifi";
-  version = "1.26.0";
+  version = "1.27.0";
 
   src = fetchzip {
     url = "mirror://apache/nifi/${version}/nifi-${version}-bin.zip";
-    hash = "sha256-V/XrggYDeitsDmdvwnXK5QIBGDDBmK4mToz1RphkbSk=";
+    hash = "sha256-D3o7MLn8vdDqzk6/AJ7Lmq6Yx2swy8CwOyDTlxFSVME=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/web-apps/pixelfed/default.nix b/pkgs/servers/web-apps/pixelfed/default.nix
index d69ee6a154b04..1c2f33117cc30 100644
--- a/pkgs/servers/web-apps/pixelfed/default.nix
+++ b/pkgs/servers/web-apps/pixelfed/default.nix
@@ -1,5 +1,4 @@
 { lib
-, stdenv
 , fetchFromGitHub
 , php
 , nixosTests
@@ -10,16 +9,16 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "pixelfed";
-  version = "0.11.13";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "pixelfed";
-    repo = finalAttrs.pname;
+    repo = "pixelfed";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-bEwKaC9fSOGLQbjsuPuIdMMbO3kzvzQxWQR8C2A4mQc=";
+    hash = "sha256-pNo10vvUD7q0HLM7+GgT+6PyocF4kDZ3Zee4ZCPDJNQ=";
   };
 
-  vendorHash = "sha256-ahQsOq3qOMGt3b0Ebac4xex+MP9knTmjyCy0PSNE4W8=";
+  vendorHash = "sha256-y6dgF/LHEYEVG+MgNnZa6f6oMQGvuvAgG6PVbmeMIz4=";
 
   postInstall = ''
     mv "$out/share/php/${finalAttrs.pname}"/* $out
diff --git a/pkgs/servers/web-apps/shiori/default.nix b/pkgs/servers/web-apps/shiori/default.nix
index 8a9fc7973f98a..98b084ad50e33 100644
--- a/pkgs/servers/web-apps/shiori/default.nix
+++ b/pkgs/servers/web-apps/shiori/default.nix
@@ -1,10 +1,10 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests, installShellFiles, stdenv }:
 
 buildGoModule rec {
   pname = "shiori";
-  version = "1.5.5";
+  version = "1.7.0";
 
-  vendorHash = "sha256-suWdtqf5IZntEVD+NHGD6RsL1tjcGH9vh5skISW+aCc=";
+  vendorHash = "sha256-fakRqgoEcdzw9WZuubaxfGfvVrMvb8gV/IwPikMnfRQ=";
 
   doCheck = false;
 
@@ -12,18 +12,24 @@ buildGoModule rec {
     owner = "go-shiori";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kGPvCYvLLixEH9qih/F3StUyGPqlKukTWLSw41+Mq8E=";
+    sha256 = "sha256-5+hTtvBnj3Nh5HitReVkLift9LTiMYVuuYx5EirN0SA=";
   };
 
-  passthru.tests = {
-    smoke-test = nixosTests.shiori;
-  };
+  nativeBuildInputs = [ installShellFiles ];
+  postInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+    installShellCompletion --cmd shiori \
+      --bash <($out/bin/shiori completion bash) \
+      --fish <($out/bin/shiori completion fish) \
+      --zsh <($out/bin/shiori completion zsh)
+  '';
+
+  passthru.tests.smoke-test = nixosTests.shiori;
 
   meta = with lib; {
     description = "Simple bookmark manager built with Go";
     mainProgram = "shiori";
     homepage = "https://github.com/go-shiori/shiori";
     license = licenses.mit;
-    maintainers = with maintainers; [ minijackson ];
+    maintainers = with maintainers; [ minijackson CaptainJawZ ];
   };
 }
diff --git a/pkgs/servers/web-apps/slskd/default.nix b/pkgs/servers/web-apps/slskd/default.nix
index 75dd597001b30..db233e2a70203 100644
--- a/pkgs/servers/web-apps/slskd/default.nix
+++ b/pkgs/servers/web-apps/slskd/default.nix
@@ -8,13 +8,13 @@
 }:
 let
   pname = "slskd";
-  version = "0.19.5";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "slskd";
     repo = "slskd";
     rev = version;
-    sha256 = "sha256-Vm+nA3yKiCMpQ41GTQF6Iuat89QrUtstQdHmX/DyU9g=";
+    sha256 = "sha256-ic631e4pyby6EibUkxIGc/uQnVuPY9RFZ9hWvw3u1zk=";
   };
 
   meta = with lib; {
@@ -32,7 +32,7 @@ let
     src = "${src}/src/web";
     npmFlags = [ "--legacy-peer-deps" ];
     nodejs = nodejs_18;
-    npmDepsHash = "sha256-E1J4fYcY1N+UmN4Ch4Ss6ty+nYlmrv3ngvCJ8YCjPfI=";
+    npmDepsHash = "sha256-06qQ1y870TrkXhkHYADjnWVhdyiLWEqdDt3qrJ1BBFo=";
     installPhase = ''
       cp -r build $out
     '';
@@ -43,8 +43,8 @@ in buildDotnetModule {
 
   runtimeDeps = [ mono ];
 
-  dotnet-sdk = dotnetCorePackages.sdk_7_0;
-  dotnet-runtime = dotnetCorePackages.aspnetcore_7_0;
+  dotnet-sdk = dotnetCorePackages.sdk_8_0;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
 
   projectFile = "slskd.sln";
 
diff --git a/pkgs/servers/web-apps/slskd/deps.nix b/pkgs/servers/web-apps/slskd/deps.nix
index 7de44128b9aaa..e4d5bcd850b55 100644
--- a/pkgs/servers/web-apps/slskd/deps.nix
+++ b/pkgs/servers/web-apps/slskd/deps.nix
@@ -2,114 +2,105 @@
 # Please dont edit it manually, your changes might get overwritten!
 
 { fetchNuGet }: [
+  (fetchNuGet { pname = "Asp.Versioning.Abstractions"; version = "8.1.0"; sha256 = "1pcnmhk5viym05kq9ivkx7w03m181z1dd0i9fy450acyzksz7zfa"; })
+  (fetchNuGet { pname = "Asp.Versioning.Http"; version = "8.1.0"; sha256 = "0y4zr1brvjsfz3ldjga2zrwvvvsdla9b4hsqgnhk9bdjyfiiwyj3"; })
+  (fetchNuGet { pname = "Asp.Versioning.Mvc"; version = "8.1.0"; sha256 = "0wlr7akw6z9nm2a8an4zks08gj9g0bmgg7kmlws3y61rzbwlhk3g"; })
+  (fetchNuGet { pname = "Asp.Versioning.Mvc.ApiExplorer"; version = "8.1.0"; sha256 = "12dn272zmgk2z03j5f50jf0a4zin7df4v15q96djbwhrxc6wc7q9"; })
   (fetchNuGet { pname = "AutoFixture"; version = "4.18.1"; sha256 = "0whinrvkr2xbhkwd02jbcnws3wz7vlc25hk6w0iw4g92hrmgxqxd"; })
   (fetchNuGet { pname = "AutoFixture.Xunit2"; version = "4.18.1"; sha256 = "1xs5dbj410h29spdl5c07vrxqkdl3rcyl2fv4jv4g7vq3kanc5p6"; })
   (fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; })
   (fetchNuGet { pname = "coverlet.msbuild"; version = "6.0.0"; sha256 = "18qgg6d0ybrr70g69yqamgn5qvpyizlii1123cnj65amd0w2rxjl"; })
   (fetchNuGet { pname = "Fare"; version = "2.1.1"; sha256 = "1gagj8k2w5m2z6nlywrzhqx1q9n880yriwk0lsq3vcda9lcggmcz"; })
-  (fetchNuGet { pname = "FluentFTP"; version = "48.0.3"; sha256 = "147n6vk3042jm1qspn2jss84qf5v5qh0spv3arpcak2nh61pjrf4"; })
+  (fetchNuGet { pname = "FluentFTP"; version = "49.0.2"; sha256 = "14arsbqz7qxpig7nd1amxg9577mgvwak3631kqmiq1x4hfw5whim"; })
   (fetchNuGet { pname = "IPAddressRange"; version = "6.0.0"; sha256 = "0fnaxxabamzijj7a418i1z5nnd5ymcjsbplqrj95z8vdw02b99ny"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.JwtBearer"; version = "7.0.13"; sha256 = "1zzihfm2rwy5z11ndvpi0bx2llghg52msv1mwhgjlrm06q2zff5l"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "7.0.13"; sha256 = "091cim81z0r0yl33d8qgs5h1xm6r2fwzl4v805arfkjhjr02q3f3"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Client"; version = "7.0.13"; sha256 = "1wp7dvm9cq3bxz8lxknkjyn9myxlcyr4f0a3296pr48r7jnhafk7"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "7.0.13"; sha256 = "0n7g7581n9gmpxm2bi0mgxkwj63gva9kmy3njb3zpvvr2vz93fq2"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Versioning"; version = "5.1.0"; sha256 = "09v155s17px3d4zm2qz4syj6gdj17sb1a18fzwwvsrs3h357m4c1"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer"; version = "5.1.0"; sha256 = "01bhvs1n7217js1rh3vgl5i2gmxvkgpa3b8i71sv3k8bcz29101l"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client"; version = "7.0.13"; sha256 = "13mpw2rj0yb68gvjzb0yg5nzl9wi5pg95swmb4lj38vzypbc897p"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client.Core"; version = "7.0.13"; sha256 = "1lk74hsv3m1sc86cjrbx89a9w7f0a8v38sk6nmig49bk1fkpnb46"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Common"; version = "7.0.13"; sha256 = "0fvajiq24waqxh7pvp3kjnjbj7adhffhm21rmw6l09dvcin8hqwf"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "7.0.13"; sha256 = "0kzisw542lvcn96n7vk2cwb9n2kb580hxanwahw57x3j8kyz97nz"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "7.0.4"; sha256 = "0x0gb6r9lr72jcnv3kkgi01zx1hgpx54niszmrjkdcfivbmmaa81"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.JwtBearer"; version = "8.0.6"; sha256 = "1ks797mr3pjq01zxhknccv5rxi7z6vbw9p19nz69ir4xxf8kfj5d"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "8.0.6"; sha256 = "1lw5fjmxb3nvl3akhv16plv83g59m554k7944ahpak77860cqyr8"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Client"; version = "8.0.6"; sha256 = "1gs2f63j0z63qzj8564ldba02i4754b8x80d7rmyb0hihz60fyf6"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "8.0.6"; sha256 = "101b91c8iqfs55am569sgd6bc66dhqqxnll4jbcshvz5q6j4yaq4"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client"; version = "8.0.6"; sha256 = "0csdgi0z40kyyxpy3wqd558n2s8mf4c6zxh785parg27r0bl41mi"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client.Core"; version = "8.0.6"; sha256 = "0kl6skydfslz7p6hixlgq8y4472pwfmyar18nqydabmfl8w5fy1j"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Common"; version = "8.0.6"; sha256 = "03cncacrdhsc0yfrzwxs3cmsj8g1fy1nc49xjg58vid3i1jc81pz"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "8.0.6"; sha256 = "05yw7c79zdj7y0kwpfbgzcnh130rrphscg76y96sq1q3fp3gh3x6"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "8.0.0"; sha256 = "1mkzpxk07mcvb1wkqsm4cz0kjln0m5z4fn902874dcj9v5phi8v7"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.8.0"; sha256 = "173wjadp3gan4x2jfjchngnc4ca4mb95h1sbb28jydfkfw0z1zvj"; })
-  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
-  (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "7.0.13"; sha256 = "07k00mk8f9pd4gcmx81i3l5kqbih2abc939lixpak7hmqzf3a18r"; })
-  (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "7.0.13"; sha256 = "1rnm635jvjyxc7jb9isgarasrhmpvsahv6r6gp4b7li1y2sz3pyv"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "7.0.13"; sha256 = "0jmmfcqvxfacgycwdqqrxgimjk83m59w68lpy5vgnqwcbfabg7zj"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "7.0.13"; sha256 = "0r36s142lknwx8j9lnxnx70wv3i7f4z6y2d5fi7r2whd3rvidkpq"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "7.0.13"; sha256 = "030s0rz3xjdlr77p1s7w0mqs0jrwgsklz63bnm30sxgr6zb25pz3"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "7.0.13"; sha256 = "0kx5056d6qkyxdcpqz46gd344xmizp2w0hknxh1x06bdfsnd292i"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "7.0.13"; sha256 = "1mrgz6r4nllm3v8lgg1xy53am80kscr8kfh18xzc48w3frxwslr7"; })
+  (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "8.0.6"; sha256 = "17h6jhhaagdhk1ljyjgxsqq168xw7yda5ys1sxls7nqkbrq3an5p"; })
+  (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.6"; sha256 = "0sifqhm9myix618a77w5h4v66da9dgq0aabgqrics30bpmnh219j"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "8.0.6"; sha256 = "0q9j6qqns82c99imkqaw1ngq0x19flbm1p9wc92b0l46n3lz7lsg"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "8.0.6"; sha256 = "0zq9hcajib3b2j5xn7qllfq2x9g6xh9s8rap03r729llsl1hims5"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "8.0.6"; sha256 = "17r858s69mar0k70zqf0r2cp7k7sc06xazml0ncgacglw9l9ydb9"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "8.0.6"; sha256 = "1p55h0w30gxvnbq312pbivwss5la86zz7nmfa9wvskdp5b6y8rwp"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "8.0.6"; sha256 = "181lp36mh96rix1f8zl0061p2m37ksw7dnj9r384n1cxw1961dg2"; })
   (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "7.0.0"; sha256 = "1hv94kwd4v7969cq3ik2afg5ipn44zbhpsgaga9cd0z47swz4r3a"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "7.0.0"; sha256 = "09mq6g61rqjy5mdhsz2224m0rb0z9rkrxhhqym9zwpn272bbc9df"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "8.0.0"; sha256 = "04m6ywsf9731z24nfd14z0ah8xl06619ba7mkdb4vg8h5jpllsn4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "8.0.0"; sha256 = "0bv8ihd5i2gwr97qljwf56h8mdwspmlw0zs64qyk608fb3ciwi25"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.0"; sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.0.0"; sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.0"; sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "7.0.0"; sha256 = "1as8cygz0pagg17w22nsf6mb49lr2mcl1x8i3ad1wi8lyzygy1a3"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.0"; sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; sha256 = "1m0gawiz8f5hc3li9vd5psddlygwgkiw13d7div87kmkf4idza8r"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.0.0"; sha256 = "0cqbvy49ph16rlba2f35qhi0n7vpcf5kjybvn5fbs7dchfdzw927"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.0"; sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "7.0.0"; sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.0.0"; sha256 = "06s8j8v0w06f12jxw6vvsd0l5zqrmsvc3rr2gqx9z3gcq7mdnr3l"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.0"; sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0"; sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "7.0.0"; sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "7.0.0"; sha256 = "04wb6hw3r7mmhg57215r1mb01q17glyaddjw1j5g1drsws914fj4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.1"; sha256 = "1wyhpamm1nqjfi3r463dhxljdlr6rm2ax4fvbgq2s0j3jhpdhd4p"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "8.0.0"; sha256 = "02jnx23hm1vid3yd9pw4gghzn6qkgdl5xfc5r0zrcxdax70rsh5a"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.0"; sha256 = "15m4j6w9n8h0mj7hlfzb83hd3wn7aq1s7fxbicm16slsjfwzj82i"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.HealthChecks"; version = "6.0.9"; sha256 = "06mx8zmlmi371ab5pskw8iawy8bbi4vx6rwrcj0andc59zfmg96q"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions"; version = "6.0.9"; sha256 = "1nv2rwq0q7ql63qip5ba45p97yxgva9jg6gnvrnfh2yk2fjwyag2"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Features"; version = "7.0.13"; sha256 = "1sdn9cssq7khq094zb5y8mrp3xapfbmccgm0wgd0chs0h3vxim49"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Features"; version = "8.0.6"; sha256 = "0kl39lwpmk3wa3h4wanz80ckzzl5ffyn5ydgccpcjzy7ihpj4j95"; })
   (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "6.0.0"; sha256 = "1fbqmfapxdz77drcv1ndyj2ybvd2rv4c9i9pgiykcpl4fa6dc65q"; })
   (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; sha256 = "1idq65fxwcn882c06yci7nscy9i0rgw6mqjrl7362prvvsd9f15r"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "6.0.0"; sha256 = "1mwjx6li4a82nb589763whpnhf5hfy1bpv1dzqqvczb1lhxhzhlj"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.0"; sha256 = "00d5dwmzw76iy8z40ly01hy9gly49a7rpf7k7m99vrid1kxp346h"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "3.1.0"; sha256 = "02ipxf75rqzsbmmy5ka44hh8krmxgky9mdxmh8f7fkbclpg2s6cy"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.0"; sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "7.0.0"; sha256 = "1bqd3pqn5dacgnkq0grc17cgb2i0w8z1raw12nwm3p3zhrfcvgxf"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.0"; sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.2"; sha256 = "1wv54f3p3r2zj1pr9a6z8zqrh2ihm6v6qcw2pjwis1lcc0qb472m"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "7.0.0"; sha256 = "1gn7d18i1wfy13vrwhmdv1rmsb4vrk26kqdld4cgvh77yigj90xs"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "7.0.1"; sha256 = "0xv3sqc1lbx5j4yy6g2w3kakzvrpwqs2ihax6lqasj5sz5map6fk"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.1"; sha256 = "0i9pgmk60b8xlws3q9z890gim1xjq42dhyh6dj4xvbycmgg1x1sd"; })
   (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "7.0.0"; sha256 = "15lz0qk2gr2q52i05ip51dzm9p4hzqlrammkc0hv2ng6g0z72697"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.0"; sha256 = "0akccwhpn93a4qrssyb3rszdsp3j4p9hlxbsb7yhqb78xydaqhyh"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "6.0.0"; sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "7.0.0"; sha256 = "0b90zkrsk5dw3wr749rbynhpxlg4bgqdnd7d5vdlw2g9c7zlhgx6"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "7.0.1"; sha256 = "0ghz4y4gxnf2vw8yvhz9nkw21p6q2qqwh19phkk1xwxywyilr3mq"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.2"; sha256 = "0as39ml1idgp42yvh725ddqp4illq87adzd1ymzx6xjxsxsjadq2"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.0"; sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.0.3"; sha256 = "0njmg2lygnirnfjv9gck2f5lq4ly5rgws9cpf8qj3kwcwxfp0b9s"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.0.3"; sha256 = "1ayh85xqdq8rqjk2iqcn7iaczcl7d8qg6bxk0b4rgx59fmsmbqj7"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "6.15.1"; sha256 = "1jnswvv5d6gbnssmql08d72pb0a42xscp4k5k1svsk8k5pj3nf8p"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.0.3"; sha256 = "13cjqmf59k895q6gkd5ycl89mnpalckda7rhsdl11jdyr32hsfnv"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols"; version = "6.15.1"; sha256 = "1075g2g30g7qmznc9mf97nm4k4xbz4s37bi59qxwbx0y2pnl1f2r"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols.OpenIdConnect"; version = "6.15.1"; sha256 = "19sbh8hxbbp24294k8vc6z92906wq366m49k5484mngwrw5jpsyf"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "6.15.1"; sha256 = "1ljg7nrxjkfcwh081831s30agpfx8f3flqvwg5piy6vfc9hqmxa8"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.0.3"; sha256 = "1pmhd0imh9wlhvbvvwjrpjsqvzagi2ly22nddwr4r0pi234khyz1"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.1.2"; sha256 = "01jdg8b1hi4nx5h1cn9baalfkp4y70kc2wf4lz77kw8w1fvrppa0"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.1.2"; sha256 = "1y9yq07hr91aaxm7pahv3fc590dzydlffr4hs3zix1g45pvd4m4i"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.1.2"; sha256 = "1yi7s2pm4f8vl6b0qck0nrfsrf1h4jwamznkzl75n1cwxpbdikp8"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols"; version = "7.1.2"; sha256 = "0ql5b7472g7359b1pqh2lfm8s3lym9vyzj1xpvbhsv9syk9czrg8"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols.OpenIdConnect"; version = "7.1.2"; sha256 = "06r9i1m6zhfbbx18p0drpcbswirlq7xg0wm3iqfjgzxyv053033h"; })
+  (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.1.2"; sha256 = "1q70c1ax9f5nggqp4g8nyfaz0481grsaxhp85cmjpmx8l3q35zx9"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.8.0"; sha256 = "1syvl3g0hbrcgfi9rq6pld8s8hqqww4dflf1lxn59ccddyyx0gmv"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
-  (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
+  (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.6.14"; sha256 = "1wr8crmjg4gznm3jqgz9s9p285vrwb8a6baqc6gz3b58rn4m88km"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.8.0"; sha256 = "0b0i7lmkrcfvim8i3l93gwqvkhhhfzd53fqfnygdqvkg6np0cg7m"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.8.0"; sha256 = "0f5jah93kjkvxwmhwb78lw11m9pkkq9fvf135hpymmmpxqbdh97q"; })
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
-  (fetchNuGet { pname = "Mono.Posix.NETStandard"; version = "1.0.0"; sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; })
   (fetchNuGet { pname = "Moq"; version = "4.16.1"; sha256 = "1m2gwbx0gsy84rl9c3hgdaw9gz8d08ffg19nwg0idsdqmmiq887l"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.5.0"; sha256 = "0s37d1p4md0k6d4cy6sq36f2dgkd9qfbzapxhkvi8awwh0vrynhj"; })
-  (fetchNuGet { pname = "OneOf"; version = "3.0.263"; sha256 = "08jiy5ff6nx3bbmia7iqcfrva0bynr87m0m4nxkzm5ri21w49ri1"; })
-  (fetchNuGet { pname = "prometheus-net"; version = "8.2.0"; sha256 = "19m9lkpc4h9a0jmn66p61x8960gk9fidcwic70nrvjhmd5m201fj"; })
-  (fetchNuGet { pname = "prometheus-net.AspNetCore"; version = "8.2.0"; sha256 = "1lilk7xw19wgl2i7cjbf09ssd4jicla45wj29hfy6d1bzcnd6yn8"; })
-  (fetchNuGet { pname = "prometheus-net.AspNetCore.HealthChecks"; version = "8.2.0"; sha256 = "1kzvlab31ypgp62663nnr6g964w19iabnyilqlkm6acl5f5vvfvv"; })
+  (fetchNuGet { pname = "OneOf"; version = "3.0.271"; sha256 = "09b15fh1f3wzx3m9m3150pyflb02h9vqspg7aigm4p9zk3qb4mdl"; })
+  (fetchNuGet { pname = "prometheus-net"; version = "8.2.1"; sha256 = "0g1hf6v6k4ym9a663az76775rkazvxmfl4yb60w0ghqzvrfxw49p"; })
+  (fetchNuGet { pname = "prometheus-net.AspNetCore"; version = "8.2.1"; sha256 = "1rygyyflx53djczfgavr6jzqgz0sfw3r1h93gm3gs3v48d6c06kn"; })
+  (fetchNuGet { pname = "prometheus-net.AspNetCore.HealthChecks"; version = "8.2.1"; sha256 = "012954anrd279hjdav4bb1rrblbnsq2fs15l4s6ab6cz6ih4hi0b"; })
   (fetchNuGet { pname = "prometheus-net.DotNetRuntime"; version = "4.4.0"; sha256 = "1hrzf2djkjiswyf4xg3pl6rb0a8i0mh294hrfbna782hfxya7c29"; })
-  (fetchNuGet { pname = "prometheus-net.SystemMetrics"; version = "3.0.0"; sha256 = "0gl1msasy19vy836dzwkp8046f141nlrx0fhzg70vzfzjnrh3jm5"; })
+  (fetchNuGet { pname = "prometheus-net.SystemMetrics"; version = "3.1.0"; sha256 = "1k6qw6bgfq5h88z0zjndv7hpaaicgln96py9y1nyskms1xhdxb7n"; })
   (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
   (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
   (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
@@ -156,7 +147,7 @@
   (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
   (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
   (fetchNuGet { pname = "Serilog"; version = "3.1.1"; sha256 = "0ck51ndmaqflsri7yyw5792z42wsp91038rx2i6vg7z4r35vfvig"; })
-  (fetchNuGet { pname = "Serilog.AspNetCore"; version = "8.0.0"; sha256 = "0g1scn1a5paiydxk1nnrwzzqny2vabc3hniy6jwjqycag6ch2pni"; })
+  (fetchNuGet { pname = "Serilog.AspNetCore"; version = "8.0.1"; sha256 = "0vmrbhj9vb00fhvxrw3w5j1gvdx4xzxz8d2cp65hps988zxwykkb"; })
   (fetchNuGet { pname = "Serilog.Extensions.Hosting"; version = "8.0.0"; sha256 = "10cgp4nsrzkld5yxnvkfkwd0wkc1m8m7p5z42w4sqd8f188n8i9q"; })
   (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "8.0.0"; sha256 = "087ab94sfhkj6h6x3cwwf66g456704faxnfyc4pi6shxk45b318s"; })
   (fetchNuGet { pname = "Serilog.Formatting.Compact"; version = "2.0.0"; sha256 = "0y7vg2qji02riq7r0kgybarhkngw6gh3xw89w7c2hcmjawd96x3k"; })
@@ -167,17 +158,17 @@
   (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; })
   (fetchNuGet { pname = "Serilog.Sinks.Grafana.Loki"; version = "7.1.1"; sha256 = "1c7csknq5v09j2x3ybrssxk59aca9x678j53wp73ryjh0niqxznl"; })
   (fetchNuGet { pname = "Serilog.Sinks.Http"; version = "8.0.0"; sha256 = "1sx30n2cn5ixfvxs8llgk19r0vvv27246341bjy2h4994sl8zgld"; })
-  (fetchNuGet { pname = "Soulseek"; version = "6.2.0"; sha256 = "1nz4fcqpf4mqbc8ig1311vkcn11wcx3nayk56cn7syqczpdqzqxv"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.4"; sha256 = "0shdspl9cm71wwqg9103s44r0l01r3sgnpxr523y4a0wlgac50g0"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.4"; sha256 = "09akxz92qipr1cj8mk2hw99i0b81wwbwx26gpk21471zh543f8ld"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.4"; sha256 = "11l85ksv1ck46j8z08fyf0c3l572zmp9ynb7p5chm5iyrh8xwkkn"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.4"; sha256 = "0b8f51nrjkq0pmfzjaqk5rp7r0cp2lbdm2whynj3xsjklppzmn35"; })
+  (fetchNuGet { pname = "Soulseek"; version = "6.5.0"; sha256 = "0gcczchpp96dl0zcb3m50ach7sny1z3frcq7vspbyq0qffws5xa2"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.6"; sha256 = "0pzgdfl707pd9fz108xaff22w7c2y27yaix6wfp36phqkdnzz43m"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; sha256 = "1w8zsgz2w2q0a9cw9cl1rzrpv48a04nhyq67ywan6xlgknds65a7"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.6"; sha256 = "0g959z7r3h43nwzm7z3jiib1xvyx146lxyv0x6fl8ll5wivpjyxq"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.6"; sha256 = "1vs1c7yhi0mdqrd35ji289cxkhg7dxdnn6wgjjbngvqxkdhkyxyc"; })
   (fetchNuGet { pname = "StyleCop.Analyzers"; version = "1.2.0-beta.435"; sha256 = "0dirz0av24ds2k7hgpss15y4wlhwlzz22qdjvkq0n3g3sxcckrsy"; })
   (fetchNuGet { pname = "StyleCop.Analyzers.Unstable"; version = "1.2.0.435"; sha256 = "1jv4ha4y2c9922n21yf2dvfkmi8qfa8z28gk5zsqdyck08izp9mh"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.5.0"; sha256 = "0k61chpz5j59s1yax28vx0mppx20ff8vg8grwja112hfrzj1f45n"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.5.0"; sha256 = "1s6axf6fin8sss3bvzp0s039rxrx71vx4rl559miw12bz3lld8kc"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.5.0"; sha256 = "0hq93gy5vyrigpdk9lhqwxglxwkbxa8ydllwcqs4bwfcsspzrs83"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.5.0"; sha256 = "17hx7kc187higm0gk67dndng3n7932sn3fwyj48l45cvyr3025h7"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.6.2"; sha256 = "0lq774iggpvsmykbrplvv2a5z2ylsslv5wynmvpnlznd4lvgxb4h"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.6.2"; sha256 = "0j93y0krn5fzvji0k7g4cxi22b7j8n3brxw4698pjq2pqqf2d8qy"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.6.2"; sha256 = "00lar7246mncidflm15xz5b9hpni9bf8wj37dc0l2sj3hhv9nvwj"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.6.2"; sha256 = "0w0h2cs8n5avczzm5plzmkvkc6xn0pj425f4400fk21h8ysvhg8h"; })
   (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
   (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
@@ -214,7 +205,7 @@
   (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
   (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; })
   (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
-  (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "7.0.3"; sha256 = "1fls88ffq34j1gr6zay1crm27v3sjs5fa4mvj9akqjq05bxanlhk"; })
+  (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "7.1.2"; sha256 = "09ds8xanyd4zgncsl77gnlcz4kqw00s9ap3wvc6c8lrj91vmc58h"; })
   (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
   (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
   (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; })
@@ -225,7 +216,7 @@
   (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
   (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
   (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
-  (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; sha256 = "1ila2vgi1w435j7g2y7ykp2pdbh9c5a02vm85vql89az93b7qvav"; })
+  (fetchNuGet { pname = "System.IO.Pipelines"; version = "8.0.0"; sha256 = "00f36lqz1wf3x51kwk23gznkjjrf5nmqic9n7073nhrgrvb43nid"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
@@ -278,7 +269,6 @@
   (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.5.0"; sha256 = "1pm4ykbcz48f1hdmwpia432ha6qbb9kbrxrrp7cg3m8q8xn52ngn"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; })
@@ -297,16 +287,14 @@
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; })
-  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; })
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; })
   (fetchNuGet { pname = "System.Text.Json"; version = "6.0.2"; sha256 = "1lz6gx1r4if8sbx6yp9h0mi0g9ffr40x0cg518l0z2aiqgil3fk0"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "7.0.0"; sha256 = "0scb0lp7wbgcinaa4kqiqs7b8i5nx4ppfad81138jiwd1sl37pyp"; })
   (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; })
   (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
   (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
   (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
   (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
-  (fetchNuGet { pname = "System.Threading.Channels"; version = "7.0.0"; sha256 = "1qrmqa6hpzswlmyp3yqsbnmia9i5iz1y208xpqc1y88b1f6j1v8a"; })
+  (fetchNuGet { pname = "System.Threading.Channels"; version = "8.0.0"; sha256 = "060ab3gxgmffzlfcj08hpmkyfkhyiky9brw35klbl32pnfhdi53k"; })
   (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
   (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
@@ -323,15 +311,15 @@
   (fetchNuGet { pname = "TagLibSharp"; version = "2.3.0"; sha256 = "1z7v9lrkss1f8s42sclsq3az9zjihgmhyxnwhjyf0scgk1amngrw"; })
   (fetchNuGet { pname = "Utility.CommandLine.Arguments"; version = "6.0.0"; sha256 = "0i8m0vn1wm4wy7d3radyha6kxg0l50r2q02zlmkg6633yyiqry1a"; })
   (fetchNuGet { pname = "Utility.EnvironmentVariables"; version = "1.0.5"; sha256 = "1x9vd5qni194yxc18pcrnvln9zib01sgai7ygw86zcj5137hj72i"; })
-  (fetchNuGet { pname = "xunit"; version = "2.6.3"; sha256 = "0yy0579ipqk4fab877kc0y947q9i83329rwwf47apwgbhpkcfi62"; })
+  (fetchNuGet { pname = "xunit"; version = "2.6.6"; sha256 = "024290yclyq54jrm29bj6vipshq4dxpci9y06b9j8cpbsn7drr5s"; })
   (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.1"; sha256 = "0c7zkf3i8n1mhc457q859klk067bw1xbf31lyxlwc5hlx9aqz65z"; })
   (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; })
-  (fetchNuGet { pname = "xunit.analyzers"; version = "1.7.0"; sha256 = "0dga1c6icksd6y7c652pkwcmdsqxrgnxj3v2nijc0vayqa5prnvc"; })
-  (fetchNuGet { pname = "xunit.assert"; version = "2.6.3"; sha256 = "0i4g5sw0j2j4ajya671d4ragq3xrgpaf2bw5fzs7hlkykm0s5vgc"; })
-  (fetchNuGet { pname = "xunit.core"; version = "2.6.3"; sha256 = "14jissxdzrshnrz8rbgxzvn93if808fvmcbha6bz9f5yh503z88p"; })
+  (fetchNuGet { pname = "xunit.analyzers"; version = "1.10.0"; sha256 = "0b4rbxpx4bmbjr18zn5afahx9imhqv0dg76flhjxsqzvx66zjqaf"; })
+  (fetchNuGet { pname = "xunit.assert"; version = "2.6.6"; sha256 = "1rkp96b4zdbv38r2hffhcwfp82vcs86a24b09001h4x5ln51bdb5"; })
+  (fetchNuGet { pname = "xunit.core"; version = "2.6.6"; sha256 = "0xi254srmvrrqkzq0n74d048hphijsk38gx47r68vm44q1vpzpln"; })
   (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.2.0"; sha256 = "0l9fl09l709dq671r5yvmcrk9vhxgszmxf3ny1h9ja2sp9xx5pbs"; })
-  (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.6.3"; sha256 = "1j9hjrar5lr3irxmpnbk564dc4g11hkjx6w4241xx333pz4h8jr5"; })
-  (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.6.3"; sha256 = "0514n70rizl96kx9b62qpsia2nc7k9rjbmwn32vbclpvil2jdy07"; })
-  (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.5.5"; sha256 = "06w2skg7vn1wag7x06z8gw2rbfzq21i3alg6dfcwj0rkq98zyxac"; })
-  (fetchNuGet { pname = "YamlDotNet"; version = "13.7.1"; sha256 = "1m2lnfb2r8382fpjyxp79wnbis7l462zksj3618142q53y33bk5z"; })
+  (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.6.6"; sha256 = "0f8w71b58kbv23b7p6083jxy4pmpsa59r8xqpp2j71300cyp2rl0"; })
+  (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.6.6"; sha256 = "0n295fxvzwp4d27qa644m55klapvcmynb240rwcjr95yvgsfzjz4"; })
+  (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.5.6"; sha256 = "1knl6myb5zip2yii1mm5kxvkq81z3zj7dkn8zlqbb4ylaxslzf88"; })
+  (fetchNuGet { pname = "YamlDotNet"; version = "15.3.0"; sha256 = "0mcj6j6i756gd6bnmnvcajbf6xfhscbls4b6gs5c3q8w66dmxdys"; })
 ]
diff --git a/pkgs/servers/webdav/default.nix b/pkgs/servers/webdav/default.nix
index 248c5e882ccee..bcc80dd5ba53d 100644
--- a/pkgs/servers/webdav/default.nix
+++ b/pkgs/servers/webdav/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, buildGoModule }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
 buildGoModule rec {
   pname = "webdav";
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index bf6c041205e43..8566c8c61749a 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -3898,11 +3898,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xkeyboardconfig = callPackage ({ stdenv, pkg-config, fetchurl, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "xkeyboard-config";
-    version = "2.41";
+    version = "2.42";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.41.tar.xz";
-      sha256 = "13vjvyg1fjvsqzqkpxzigvv94v154mcb2gba4d80spi9aywxcb7h";
+      url = "mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.42.tar.xz";
+      sha256 = "01q8gs7lnx9d7iz29pal7a3whz7njmgjcpzhy82wa7zhq6znxc56";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index cd7e116c17d59..f1e63de72bd5b 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -397,6 +397,7 @@ self: super:
 
   libXpresent = super.libXpresent.overrideAttrs (attrs: {
     buildInputs = with xorg; attrs.buildInputs ++ [ libXext libXfixes libXrandr ];
+    propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ xorg.libXfixes ];
   });
 
   libxkbfile = super.libxkbfile.overrideAttrs (attrs: {
@@ -636,7 +637,7 @@ self: super:
 
   xkeyboardconfig = super.xkeyboardconfig.overrideAttrs (attrs: {
     prePatch = ''
-      patchShebangs rules/merge.py rules/compat/map-variants.py rules/xml2lst.pl
+      patchShebangs rules/merge.py rules/compat/map-variants.py rules/generate-options-symbols.py rules/xml2lst.pl
     '';
     nativeBuildInputs = attrs.nativeBuildInputs ++ [
       meson
@@ -835,6 +836,7 @@ self: super:
         buildInputs = commonBuildInputs ++ [
           bootstrap_cmds automake autoconf
           Xplugin Carbon Cocoa
+          mesa
         ];
         propagatedBuildInputs = commonPropagatedBuildInputs ++ [
           libAppleWM xorgproto
@@ -904,6 +906,35 @@ self: super:
         };
       }));
 
+  # xvfb is used by a bunch of things to run tests
+  # and doesn't support hardware accelerated rendering
+  # so remove it from the rebuild heavy path for mesa
+  xvfb = super.xorgserver.overrideAttrs(old: {
+    configureFlags = [
+      "--enable-xvfb"
+      "--disable-xorg"
+      "--disable-xquartz"
+      "--disable-xwayland"
+      "--disable-glamor"
+      "--disable-glx"
+      "--disable-dri"
+      "--disable-dri2"
+      "--disable-dri3"
+      "--with-xkb-bin-directory=${xorg.xkbcomp}/bin"
+      "--with-xkb-path=${xorg.xkeyboardconfig}/share/X11/xkb"
+      "--with-xkb-output=$out/share/X11/xkb/compiled"
+    ] ++ lib.optional stdenv.isDarwin [
+      "--without-dtrace"
+    ];
+
+    buildInputs = old.buildInputs ++ (with xorg; [
+      pixman
+      libXfont2
+      xtrans
+      libxcvt
+    ]) ++ lib.optional stdenv.isDarwin [ Xplugin ];
+  });
+
   lndir = super.lndir.overrideAttrs (attrs: {
     buildInputs = [];
     nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list
index f58c526f7defe..8305e15740409 100644
--- a/pkgs/servers/x11/xorg/tarballs.list
+++ b/pkgs/servers/x11/xorg/tarballs.list
@@ -73,7 +73,7 @@ mirror://xorg/individual/app/xwininfo-1.1.6.tar.xz
 mirror://xorg/individual/app/xwud-1.0.6.tar.xz
 mirror://xorg/individual/data/xbitmaps-1.1.3.tar.xz
 mirror://xorg/individual/data/xcursor-themes-1.0.7.tar.xz
-mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.41.tar.xz
+mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.42.tar.xz
 mirror://xorg/individual/doc/xorg-docs-1.7.3.tar.xz
 mirror://xorg/individual/doc/xorg-sgml-doctools-1.12.1.tar.xz
 mirror://xorg/individual/driver/xf86-input-evdev-2.10.6.tar.bz2
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index d8d118f307612..f7a3328d25a3c 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -2,7 +2,6 @@
 , bash
 , libepoxy
 , fetchurl
-, fetchpatch
 , fontutil
 , lib
 , libdecor
@@ -50,30 +49,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xwayland";
-  version = "24.1.0";
+  version = "24.1.1";
 
   src = fetchurl {
     url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
-    hash = "sha256-vvIcTxiAek7VccTi32CrY7VGa71QLszrJIW4kqt23MI=";
+    hash = "sha256-cSW+4LEDNYBdf1ulffqjWaeFCvGmhSTx2Xs2J0GlGDI=";
   };
 
-  patches = [
-    # Backport fix for pkg-config generation to make CMake happy
-    # FIXME: remove when merged
-    # Upstream PR: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1543
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/8cb1c21a4240a5b6bf4aeeef51819639b4e0ad24.patch";
-      hash = "sha256-MZPP9QgYO4RFJ/vcjkpu7SVSo5Dh09ZdZjOwTopjdYQ=";
-    })
-    # Backport fix for segfault when linux-dmabuf device is not accessible
-    # FIXME: remove when merged
-    # Upstream PR: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1565
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/7605833315c05488eca30ed0a70a2a1430e89bbc.patch";
-      hash = "sha256-4/A6aOiOGouPe2v4wIYDQY9rWkuNZJwk0h4gpfrl6hI=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace os/utils.c \
       --replace-fail '/bin/sh' '${lib.getExe' bash "sh"}'
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index b77dbed3b55ac..0368963ceb519 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/pkgs/servers/zigbee2mqtt/default.nix
@@ -10,16 +10,16 @@
 
 buildNpmPackage rec {
   pname = "zigbee2mqtt";
-  version = "1.38.0";
+  version = "1.39.0";
 
   src = fetchFromGitHub {
     owner = "Koenkk";
     repo = "zigbee2mqtt";
     rev = version;
-    hash = "sha256-h++IXL1y6f52mSBRP3TiqLMKkFXP/QKaNlpM2PCgT5k=";
+    hash = "sha256-+JpL6LadrD5FDxtiv+YNkfqylYEp/1aSlkLIaFXl5mw=";
   };
 
-  npmDepsHash = "sha256-OsG9FCdlSQYWrne/jaklNIsCT0M4+vt8DxZ9CGPfbzM=";
+  npmDepsHash = "sha256-HMRYbVw4mfxOoPaAzquCEBy97hUC3tR6s1Z8MppJgzY=";
 
   buildInputs = lib.optionals withSystemd [
     systemdMinimal
diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix
index d505630983559..11da0612260a2 100644
--- a/pkgs/servers/zoneminder/default.nix
+++ b/pkgs/servers/zoneminder/default.nix
@@ -63,7 +63,7 @@ in stdenv.mkDerivation rec {
     owner  = "ZoneMinder";
     repo   = "zoneminder";
     rev    = version;
-    sha256 = "sha256-KUhFZrF7BuLB2Z3LnTcHEEZVA6iosam6YsOd8KWvx7E=";
+    hash = "sha256-KUhFZrF7BuLB2Z3LnTcHEEZVA6iosam6YsOd8KWvx7E=";
     fetchSubmodules = true;
   };