about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/anchor-use.js2
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--nixos/lib/make-options-doc/default.nix99
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire.nix10
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix6
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bind.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bird.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/collectd.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/domain.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/fastly.nix1
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/flow.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/graphite.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/idrac.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/json.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/kea.nix22
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/keylight.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/knot.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/lnd.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mail.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/minio.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nginx.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/node.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nut.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix1
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pihole.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/ping.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/postfix.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/postgres.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/process.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pve.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/redis.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/restic.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix1
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/script.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/shelly.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/snmp.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/sql.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/statsd.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/tor.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unbound.nix1
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unifi.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/varnish.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/zfs.nix2
-rw-r--r--nixos/tests/kea.nix26
-rw-r--r--nixos/tests/prometheus-exporters.nix48
-rw-r--r--pkgs/applications/graphics/cloudcompare/default.nix46
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix10
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix26
-rw-r--r--pkgs/applications/networking/cluster/kubefirst/default.nix22
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json297
-rw-r--r--pkgs/applications/science/engineering/strictdoc/default.nix76
-rw-r--r--pkgs/applications/science/math/palp/default.nix4
-rw-r--r--pkgs/applications/version-management/gh/default.nix6
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix8
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git2
-rw-r--r--pkgs/by-name/de/devenv/Cargo.lock2126
-rw-r--r--pkgs/by-name/de/devenv/package.nix41
-rw-r--r--pkgs/by-name/fo/folio/package.nix4
-rw-r--r--pkgs/by-name/la/lacus/package.nix39
-rw-r--r--pkgs/by-name/mo/mosdepth/package.nix4
-rw-r--r--pkgs/by-name/ms/mscompress/package.nix32
-rw-r--r--pkgs/by-name/no/normaliz/package.nix43
-rw-r--r--pkgs/by-name/pr/pretix/language-build.patch12
-rw-r--r--pkgs/by-name/pr/pretix/package.nix7
-rw-r--r--pkgs/by-name/re/renode-unstable/package.nix4
-rw-r--r--pkgs/by-name/sy/symfony-cli/package.nix4
-rw-r--r--pkgs/desktops/deepin/core/deepin-kwin/default.nix4
-rw-r--r--pkgs/development/compilers/sbcl/default.nix6
-rw-r--r--pkgs/development/python-modules/adjusttext/default.nix4
-rw-r--r--pkgs/development/python-modules/clustershell/default.nix5
-rw-r--r--pkgs/development/python-modules/defang/default.nix41
-rw-r--r--pkgs/development/python-modules/fpylll/default.nix8
-rw-r--r--pkgs/development/python-modules/ipyparallel/default.nix11
-rw-r--r--pkgs/development/python-modules/lacuscore/default.nix65
-rw-r--r--pkgs/development/python-modules/ltpycld2/default.nix5
-rw-r--r--pkgs/development/python-modules/maestral/default.nix9
-rw-r--r--pkgs/development/python-modules/maya/default.nix42
-rw-r--r--pkgs/development/python-modules/nbval/default.nix13
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix10
-rw-r--r--pkgs/development/python-modules/playwright-stealth/default.nix45
-rw-r--r--pkgs/development/python-modules/playwrightcapture/default.nix82
-rw-r--r--pkgs/development/python-modules/speechrecognition/default.nix63
-rw-r--r--pkgs/development/python-modules/troposphere/default.nix4
-rw-r--r--pkgs/development/python-modules/yamale/default.nix4
-rw-r--r--pkgs/development/tools/misc/hydra/unstable.nix2
-rw-r--r--pkgs/development/tools/misc/rustywind/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/games/mindustry/default.nix3
-rw-r--r--pkgs/kde/gear/akonadi-search/default.nix2
-rw-r--r--pkgs/kde/gear/angelfish/default.nix2
-rw-r--r--pkgs/kde/gear/default.nix12
-rw-r--r--pkgs/kde/gear/elisa/default.nix4
-rw-r--r--pkgs/kde/gear/kalarm/default.nix7
-rw-r--r--pkgs/kde/gear/kdepim-addons/default.nix2
-rw-r--r--pkgs/kde/generated/sources/gear.json1476
-rw-r--r--pkgs/kde/lib/mk-kde-derivation.nix2
-rw-r--r--pkgs/os-specific/linux/ryzenadj/default.nix4
-rw-r--r--pkgs/os-specific/linux/tiscamera/0001-cmake-find-aravis-fix-pkg-cfg-include-dirs.patch25
-rw-r--r--pkgs/os-specific/linux/tiscamera/0001-tcamconvert-tcamsrc-add-missing-include-lib-dirs.patch70
-rw-r--r--pkgs/os-specific/linux/tiscamera/0001-udev-rules-fix-install-location.patch25
-rw-r--r--pkgs/os-specific/linux/tiscamera/default.nix19
-rw-r--r--pkgs/servers/fastnetmon-advanced/default.nix4
-rw-r--r--pkgs/servers/home-assistant/custom-components/default.nix2
-rw-r--r--pkgs/servers/home-assistant/custom-components/frigate/default.nix32
-rw-r--r--pkgs/servers/home-assistant/custom-components/sensi/default.nix4
-rw-r--r--pkgs/servers/jitsi-videobridge/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/kea-exporter.nix6
-rw-r--r--pkgs/shells/nushell/nu_scripts/default.nix6
-rw-r--r--pkgs/stdenv/adapters.nix6
-rw-r--r--pkgs/tools/admin/salt/default.nix12
-rw-r--r--pkgs/tools/graphics/quirc/0001-dont-build-demos.patch4
-rw-r--r--pkgs/tools/graphics/quirc/default.nix33
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/networking/narrowlink/default.nix6
-rw-r--r--pkgs/tools/networking/sitespeed-io/default.nix6
-rw-r--r--pkgs/tools/networking/v2ray/default.nix4
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py5
-rw-r--r--pkgs/tools/package-management/nix-update-source/default.nix1
-rw-r--r--pkgs/tools/security/yubikey-touch-detector/default.nix32
-rw-r--r--pkgs/top-level/all-packages.nix7
-rw-r--r--pkgs/top-level/python-packages.nix10
153 files changed, 4015 insertions, 1429 deletions
diff --git a/doc/anchor-use.js b/doc/anchor-use.js
index 06ec24883aa3..a45c4e2be68d 100644
--- a/doc/anchor-use.js
+++ b/doc/anchor-use.js
@@ -1,3 +1,3 @@
 document.addEventListener('DOMContentLoaded', function(event) {
-  anchors.add('h1:not(div.note h1, div.warning h1, div.tip h1, div.caution h1, div.important h1), h2:not(div.note h2, div.warning h2, div.tip h2, div.caution h2, div.important h2), h3:not(div.note h3, div.warning h3, div.tip h3, div.caution h3, div.important h3), h4:not(div.note h4, div.warning h4, div.tip h4, div.caution h4, div.important h4), h5:not(div.note h5, div.warning h5, div.tip h5, div.caution h5, div.important h5), h6:not(div.note h6, div.warning h6, div.tip h6, div.caution h6, div.important h6)');
+  anchors.add('h1[id]:not(div.note h1, div.warning h1, div.tip h1, div.caution h1, div.important h1), h2[id]:not(div.note h2, div.warning h2, div.tip h2, div.caution h2, div.important h2), h3[id]:not(div.note h3, div.warning h3, div.tip h3, div.caution h3, div.important h3), h4[id]:not(div.note h4, div.warning h4, div.tip h4, div.caution h4, div.important h4), h5[id]:not(div.note h5, div.warning h5, div.tip h5, div.caution h5, div.important h5), h6[id]:not(div.note h6, div.warning h6, div.tip h6, div.caution h6, div.important h6)');
 });
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index b7a120a9c380..c3f16a3e3193 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -21338,6 +21338,12 @@
     github = "yanganto";
     githubId = 10803111;
   };
+  yannickulrich = {
+    email = "yannick.ulrich@proton.me";
+    github = "yannickulrich";
+    githubId = 749922;
+    name = "Yannick Ulrich";
+  };
   yannip = {
     email = "yPapandreou7@gmail.com";
     github = "YanniPapandreou";
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix
index 284934a7608e..09a4022845e0 100644
--- a/nixos/lib/make-options-doc/default.nix
+++ b/nixos/lib/make-options-doc/default.nix
@@ -1,20 +1,95 @@
-/* Generate JSON, XML and DocBook documentation for given NixOS options.
+/**
+  Generates documentation for [nix modules](https://nix.dev/tutorials/module-system/module-system.html).
 
-   Minimal example:
+  It uses the declared `options` to generate documentation in various formats.
 
-    { pkgs,  }:
+  # Outputs
 
-    let
-      eval = import (pkgs.path + "/nixos/lib/eval-config.nix") {
-        baseModules = [
-          ../module.nix
-        ];
-        modules = [];
-      };
-    in pkgs.nixosOptionsDoc {
-      options = eval.options;
+  This function returns an attribute set with the following entries.
+
+  ## optionsCommonMark
+
+  Documentation in CommonMark text format.
+
+  ## optionsJSON
+
+  All options in a JSON format suitable for further automated processing.
+
+  `example.json`
+  ```json
+  {
+    ...
+    "fileSystems.<name>.options": {
+      "declarations": ["nixos/modules/tasks/filesystems.nix"],
+      "default": {
+        "_type": "literalExpression",
+        "text": "[\n  \"defaults\"\n]"
+      },
+      "description": "Options used to mount the file system.",
+      "example": {
+        "_type": "literalExpression",
+        "text": "[\n  \"data=journal\"\n]"
+      },
+      "loc": ["fileSystems", "<name>", "options"],
+      "readOnly": false,
+      "type": "non-empty (list of string (with check: non-empty))"
+      "relatedPackages": "- [`pkgs.tmux`](\n    https://search.nixos.org/packages?show=tmux&sort=relevance&query=tmux\n  )\n",
+    },
+    ...
+  }
+  ```
+
+  ## optionsDocBook
+
+  deprecated since 23.11 and will be removed in 24.05.
+
+  ## optionsAsciiDoc
+
+  Documentation rendered as AsciiDoc. This is useful for e.g. man pages.
+
+  > Note: NixOS itself uses this ouput to to build the configuration.nix man page"
+
+  ## optionsNix
+
+  All options as a Nix attribute set value, with the same schema as `optionsJSON`.
+
+  # Example
+
+  ## Example: NixOS configuration
+
+  ```nix
+  let
+    # Evaluate a NixOS configuration
+    eval = import (pkgs.path + "/nixos/lib/eval-config.nix") {
+      # Overriden explicitly here, this would include all modules from NixOS otherwise.
+      # See: docs of eval-config.nix for more details
+      baseModules = [];
+      modules = [
+        ./module.nix
+      ];
+    };
+  in
+    pkgs.nixosOptionsDoc {
+      inherit (eval) options;
     }
+  ```
+
+  ## Example: non-NixOS modules
+
+  `nixosOptionsDoc` can also be used to build documentation for non-NixOS modules.
 
+  ```nix
+  let
+    eval = lib.evalModules {
+      modules = [
+        ./module.nix
+      ];
+    };
+  in
+    pkgs.nixosOptionsDoc {
+      inherit (eval) options;
+    }
+  ```
 */
 { pkgs
 , lib
diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix
index 09448833620c..182615cd4d6c 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -95,6 +95,14 @@ in {
         enable = mkEnableOption (lib.mdDoc "JACK audio emulation");
       };
 
+      raopOpenFirewall = mkOption {
+        type = lib.types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Opens UDP/6001-6002, required by RAOP/Airplay for timing and control data.
+        '';
+      };
+
       pulse = {
         enable = mkEnableOption (lib.mdDoc "PulseAudio server emulation");
       };
@@ -371,6 +379,8 @@ in {
     environment.sessionVariables.LD_LIBRARY_PATH =
       lib.mkIf cfg.jack.enable [ "${cfg.package.jack}/lib" ];
 
+    networking.firewall.allowedUDPPorts = lib.mkIf cfg.raopOpenFirewall [ 6001 6002 ];
+
     users = lib.mkIf cfg.systemWide {
       users.pipewire = {
         uid = config.ids.uids.pipewire;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 6be6ba7edf72..b46b4596d563 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, lib, options, ... }:
+{ config, pkgs, lib, options, utils, ... }:
 
 let
   inherit (lib) concatStrings foldl foldl' genAttrs literalExpression maintainers
@@ -94,10 +94,10 @@ let
     "zfs"
   ]
     (name:
-      import (./. + "/exporters/${name}.nix") { inherit config lib pkgs options; }
+      import (./. + "/exporters/${name}.nix") { inherit config lib pkgs options utils; }
     )) // (mapAttrs
     (name: params:
-      import (./. + "/exporters/${params.name}.nix") { inherit config lib pkgs options; type = params.type ; })
+      import (./. + "/exporters/${params.name}.nix") { inherit config lib pkgs options utils; type = params.type ; })
     {
       exportarr-bazarr = {
         name = "exportarr";
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix b/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
index a8a9f84ea8ea..de6cda18bc37 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/apcupsd.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix b/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
index bc67fe59b3b8..b3afdb596686 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/artifactory.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
index bd2003f06504..100446c1a4eb 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
index 5f6c36f4c567..fc52135e3b45 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
index 330d54126448..45f00a04a86c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
index ce2c391de523..e8399e1bec80 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix b/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
index 0515b72b13f9..6bfadc3b7632 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/buildkite-agent.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
index f67596f05a3a..3b2b123bbd07 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
index 437cece588a7..a4a917b473ce 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
index ece42a34cb06..4cfee7c54a41 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/domain.nix b/nixos/modules/services/monitoring/prometheus/exporters/domain.nix
index 61e2fc80afde..b2c8e6664c0f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/domain.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/domain.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
index 6fb438353a4c..df6b1ef3200c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix b/nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix
index 8511abbee1bd..c632b0290262 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/exportarr.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options, type }:
+{ config, lib, pkgs, options, type, ... }:
 
 let
   cfg = config.services.prometheus.exporters."exportarr-${type}";
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix b/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
index 2a8b7fc0818d..097ea3959478 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
@@ -2,6 +2,7 @@
 , lib
 , pkgs
 , options
+, ...
 }:
 
 let
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
index 81099aaf1704..42292abeada2 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
index dc53d21406ff..7b881a8e2693 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/fritzbox.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/graphite.nix b/nixos/modules/services/monitoring/prometheus/exporters/graphite.nix
index 34a887104212..07c06afe1409 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/graphite.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/graphite.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 let
   cfg = config.services.prometheus.exporters.graphite;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix b/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix
index f5604bc00ee0..78ae4826215c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/idrac.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 let
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix b/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix
index c5024a258e71..68fc63e40fcd 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/imap-mailstat.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
index 61c0c08d2250..d0d7f16bdadf 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix b/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
index 9adbe31d84d6..fe9734d33c7c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/ipmi.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix b/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
index 024602718602..bc670ba9cc0e 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/jitsi.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/json.nix b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
index 473f3a7e47e3..7f78985d80cd 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/json.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix b/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix
index 15e0c9ecb177..72119d17fcb7 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/junos-czerwonk.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
index 3abb6ff6bdf8..ccfdd98b8db9 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
@@ -1,7 +1,8 @@
 { config
 , lib
 , pkgs
-, options
+, utils
+, ...
 }:
 
 with lib;
@@ -9,18 +10,22 @@ with lib;
 let
   cfg = config.services.prometheus.exporters.kea;
 in {
+  imports = [
+    (mkRenamedOptionModule [ "controlSocketPaths" ] [ "targets" ])
+  ];
   port = 9547;
   extraOpts = {
-    controlSocketPaths = mkOption {
+    targets = mkOption {
       type = types.listOf types.str;
       example = literalExpression ''
         [
           "/run/kea/kea-dhcp4.socket"
           "/run/kea/kea-dhcp6.socket"
+          "http://127.0.0.1:8547"
         ]
       '';
       description = lib.mdDoc ''
-        Paths to kea control sockets
+        Paths or URLs to the Kea control socket.
       '';
     };
   };
@@ -32,12 +37,11 @@ in {
     serviceConfig = {
       User = "kea";
       DynamicUser = true;
-      ExecStart = ''
-        ${pkgs.prometheus-kea-exporter}/bin/kea-exporter \
-          --address ${cfg.listenAddress} \
-          --port ${toString cfg.port} \
-          ${concatStringsSep " " cfg.controlSocketPaths}
-      '';
+      ExecStart = utils.escapeSystemdExecArgs ([
+        (lib.getExe pkgs.prometheus-kea-exporter)
+        "--address" cfg.listenAddress
+        "--port" cfg.port
+      ] ++ cfg.extraFlags ++ cfg.targets);
       RuntimeDirectory = "kea";
       RuntimeDirectoryPreserve = true;
       RestrictAddressFamilies = [
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix b/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix
index dfa56343b871..afdb664a0de5 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/keylight.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
index 775848750803..0352aff8b013 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix b/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
index 9f914b1dc146..66d9c02f904b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/lnd.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
index 15079f5841f4..8c88f47ab86a 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix b/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
index 54dab4b5581a..a8dba75251d8 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mikrotik.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
index 82cc3fc314f2..e24d4f766e30 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/minio.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix b/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
index 222ea3e5384f..0eb193c0021f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/modemmanager.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix b/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
index b36a09c60920..1ed6bbf0325d 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mongodb.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix b/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix
index 849c514de681..c6da052ccdf3 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/mysqld.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 let
   cfg = config.services.prometheus.exporters.mysqld;
   inherit (lib) types mkOption mdDoc mkIf mkForce cli concatStringsSep optionalString escapeShellArgs;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
index 28a3eb6a134c..82deea6864e8 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nextcloud.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
index 88dc79fc2503..339749226aa4 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
index 674dc9dd4158..b79a034e1384 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginxlog.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
index dd8602e2c63d..9b8a0d2c6bc2 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/node.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nut.nix b/nixos/modules/services/monitoring/prometheus/exporters/nut.nix
index e58a394456a3..a14e379079b0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nut.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nut.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix b/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix
index 9e55cadae523..9587403c7802 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix b/nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix
index 8238f1ac1856..4ea5f64012c0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/php-fpm.nix
@@ -2,6 +2,7 @@
 , lib
 , pkgs
 , options
+, ...
 }:
 
 let
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix b/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
index 6f403b3e58c8..4b7eca7493a6 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pihole.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/ping.nix b/nixos/modules/services/monitoring/prometheus/exporters/ping.nix
index af78b6bef625..bda5038a0c64 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/ping.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/ping.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
index 9f402b123110..ead8e806f85a 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/postfix.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
index 755d771ecdff..514b2d0c8f2d 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/postgres.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/process.nix b/nixos/modules/services/monitoring/prometheus/exporters/process.nix
index 278d6cd78074..86c71a88e28b 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/process.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/process.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
index 83e740320df2..96db49d9591f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 let
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix b/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
index f03b3c4df916..60243e0ed069 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/py-air-control.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/redis.nix b/nixos/modules/services/monitoring/prometheus/exporters/redis.nix
index befbcb21f766..71f94a700efd 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/redis.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/redis.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/restic.nix b/nixos/modules/services/monitoring/prometheus/exporters/restic.nix
index 977bd42e9812..12962af5f111 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/restic.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/restic.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
index f9dcfad07d30..8169d4075a9f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix b/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix
index 1f7235cb7830..42b659501161 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/rtl_433.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 let
   cfg = config.services.prometheus.exporters.rtl_433;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix b/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix
index b9ab305f7c08..0d937ac6673f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 let
   inherit (lib) mkOption types;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix b/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix
index 3b6ebf65b090..d4c929d88b9c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix
@@ -2,6 +2,7 @@
 , lib
 , pkgs
 , options
+, ...
 }:
 
 let
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/script.nix b/nixos/modules/services/monitoring/prometheus/exporters/script.nix
index eab0e1d8a6b5..f37fa456d27c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/script.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/script.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix b/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix
index b9cfd1b1e84a..1d2329dfbae1 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/shelly.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
index 50e1321a1e9c..1040e9ecadbd 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix b/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
index 459f5842f546..2bacc9cd7cac 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/smokeping.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
index 452cb154bcf6..207446e39f49 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/sql.nix b/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
index 678bc348679d..dbfa69678a0c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/sql.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 with lib;
 let
   cfg = config.services.prometheus.exporters.sql;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix b/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix
index d9d732d8c125..94df86167e8c 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/statsd.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
index b1d6760b40b3..337ebd4ed66f 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/surfboard.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/tor.nix b/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
index 7a9167110a27..b91f69aded3d 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/tor.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix b/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
index f2336429d42f..2f4444a96c69 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unbound.nix
@@ -2,6 +2,7 @@
 , lib
 , pkgs
 , options
+, ...
 }:
 
 with lib;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
index 70f26d9783be..b7addcd56827 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unifi.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix b/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
index 3b7f978528cd..aff1197a8775 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/unpoller.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix b/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
index a019157c664b..7b21e5fc7cb7 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
index a7e5b41dffc6..98fbba82c8e9 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
index 9b7590314936..127c8021a9f0 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix b/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix
index ff12a52d49a9..21f6354cc4a2 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/zfs.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, options }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 
diff --git a/nixos/tests/kea.nix b/nixos/tests/kea.nix
index c8ecf771fa13..98a8e93a0760 100644
--- a/nixos/tests/kea.nix
+++ b/nixos/tests/kea.nix
@@ -44,6 +44,11 @@ import ./make-test-python.nix ({ pkgs, lib, ...}: {
             name = "/var/lib/kea/dhcp4.leases";
           };
 
+          control-socket = {
+            socket-type = "unix";
+            socket-name = "/run/kea/dhcp4.sock";
+          };
+
           interfaces-config = {
             dhcp-socket-type = "raw";
             interfaces = [
@@ -89,6 +94,25 @@ import ./make-test-python.nix ({ pkgs, lib, ...}: {
           };
         };
       };
+
+      services.kea.ctrl-agent = {
+        enable = true;
+        settings = {
+          http-host = "127.0.0.1";
+          http-port = 8000;
+          control-sockets.dhcp4 = {
+            socket-type = "unix";
+            socket-name = "/run/kea/dhcp4.sock";
+          };
+        };
+      };
+
+      services.prometheus.exporters.kea = {
+        enable = true;
+        controlSocketPaths = [
+          "http://127.0.0.1:8000"
+        ];
+      };
     };
 
     nameserver = { config, pkgs, ... }: {
@@ -182,5 +206,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...}: {
     client.wait_until_succeeds("ping -c 5 10.0.0.1")
     router.wait_until_succeeds("ping -c 5 10.0.0.3")
     nameserver.wait_until_succeeds("kdig +short client.lan.nixos.test @10.0.0.2 | grep -q 10.0.0.3")
+    router.log(router.execute("curl 127.0.0.1:9547")[1])
+    router.succeed("curl --no-buffer 127.0.0.1:9547 | grep -qE '^kea_dhcp4_addresses_assigned_total.*1.0$'")
   '';
 })
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 632656ad5795..3dc368e320ff 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -418,54 +418,6 @@ let
       '';
     };
 
-    kea = let
-      controlSocketPathV4 = "/run/kea/dhcp4.sock";
-      controlSocketPathV6 = "/run/kea/dhcp6.sock";
-    in
-    {
-      exporterConfig = {
-        enable = true;
-        controlSocketPaths = [
-          controlSocketPathV4
-          controlSocketPathV6
-        ];
-      };
-      metricProvider = {
-        services.kea = {
-          dhcp4 = {
-            enable = true;
-            settings = {
-              control-socket = {
-                socket-type = "unix";
-                socket-name = controlSocketPathV4;
-              };
-            };
-          };
-          dhcp6 = {
-            enable = true;
-            settings = {
-              control-socket = {
-                socket-type = "unix";
-                socket-name = controlSocketPathV6;
-              };
-            };
-          };
-        };
-      };
-
-      exporterTest = ''
-        wait_for_unit("kea-dhcp4-server.service")
-        wait_for_unit("kea-dhcp6-server.service")
-        wait_for_file("${controlSocketPathV4}")
-        wait_for_file("${controlSocketPathV6}")
-        wait_for_unit("prometheus-kea-exporter.service")
-        wait_for_open_port(9547)
-        succeed(
-            "curl --fail localhost:9547/metrics | grep 'packets_received_total'"
-        )
-      '';
-    };
-
     knot = {
       exporterConfig = {
         enable = true;
diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix
index 1ad3476e8091..e78b95c363b6 100644
--- a/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/pkgs/applications/graphics/cloudcompare/default.nix
@@ -2,6 +2,8 @@
 , stdenv
 , mkDerivation
 , fetchFromGitHub
+, makeDesktopItem
+, copyDesktopItems
 , cmake
 , boost
 , cgal
@@ -23,13 +25,13 @@
 
 mkDerivation rec {
   pname = "cloudcompare";
-  version = "2.13";
+  version = "2.13.1";
 
   src = fetchFromGitHub {
     owner = "CloudCompare";
     repo = "CloudCompare";
     rev = "v${version}";
-    hash = "sha256-tCmIdajizaTT1tvPA7YQoklfz7pYVKS0lJXrxV2fidg=";
+    hash = "sha256-QQwQt63tXxJnGaBLu+GvWkEazumYPhXnDe+giSu7wjk=";
     fetchSubmodules = true;
   };
 
@@ -37,6 +39,7 @@ mkDerivation rec {
     cmake
     eigen # header-only
     wrapGAppsHook
+    copyDesktopItems
   ];
 
   buildInputs = [
@@ -96,12 +99,15 @@ mkDerivation rec {
   dontWrapGApps = true;
 
   postInstall = ''
-    install -Dm444 $src/snap/gui/{ccViewer,cloudcompare}.png -t $out/share/icons/hicolor/256x256/apps
-    install -Dm444 $src/snap/gui/{ccViewer,cloudcompare}.desktop -t $out/share/applications
-    substituteInPlace $out/share/applications/{ccViewer,cloudcompare}.desktop \
-      --replace 'Exec=cloudcompare.' 'Exec=' \
-      --replace 'Icon=''${SNAP}/meta/gui/' 'Icon=' \
-      --replace '.png' ""
+    install -Dm444 $src/qCC/images/icon/cc_icon_16.png $out/share/icons/hicolor/16x16/apps/CloudCompare.png
+    install -Dm444 $src/qCC/images/icon/cc_icon_32.png $out/share/icons/hicolor/32x32/apps/CloudCompare.png
+    install -Dm444 $src/qCC/images/icon/cc_icon_64.png $out/share/icons/hicolor/64x64/apps/CloudCompare.png
+    install -Dm444 $src/qCC/images/icon/cc_icon_256.png $out/share/icons/hicolor/256x256/apps/CloudCompare.png
+
+    install -Dm444 $src/qCC/images/icon/cc_viewer_icon_16.png $out/share/icons/hicolor/16x16/apps/ccViewer.png
+    install -Dm444 $src/qCC/images/icon/cc_viewer_icon_32.png $out/share/icons/hicolor/32x32/apps/ccViewer.png
+    install -Dm444 $src/qCC/images/icon/cc_viewer_icon_64.png $out/share/icons/hicolor/64x64/apps/ccViewer.png
+    install -Dm444 $src/qCC/images/icon/cc_viewer_icon_256.png $out/share/icons/hicolor/256x256/apps/ccViewer.png
   '';
 
   # fix file dialogs crashing on non-NixOS (and avoid double wrapping)
@@ -109,11 +115,35 @@ mkDerivation rec {
     qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "CloudCompare";
+      desktopName = "CloudCompare";
+      comment = "3D point cloud and mesh processing software";
+      exec = "CloudCompare";
+      terminal = false;
+      categories = [ "Graphics" "3DGraphics" "Viewer" ];
+      keywords = [ "3d" "processing" ];
+      icon = "CloudCompare";
+    })
+    (makeDesktopItem {
+      name = "ccViewer";
+      desktopName = "CloudCompare Viewer";
+      comment = "3D point cloud and mesh processing software";
+      exec = "ccViewer";
+      terminal = false;
+      categories = [ "Graphics" "3DGraphics" "Viewer" ];
+      keywords = [ "3d" "viewer" ];
+      icon = "ccViewer";
+    })
+  ];
+
   meta = with lib; {
     description = "3D point cloud and mesh processing software";
     homepage = "https://cloudcompare.org";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ nh2 ];
+    mainProgram = "CloudCompare";
     platforms = with platforms; linux; # only tested here; might work on others
   };
 }
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index ddb649e3c359..c78e1246c5c8 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, fetchzip
 , fetchurl
 , makeWrapper
 , makeDesktopItem
@@ -50,7 +51,7 @@ let
       find . -name '*.so' | xargs strings | { grep '/nix/store' || :; } >> ./.jar-paths
     '';
 
-    nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
+    nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
     buildInputs = [ ant jdk p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
 
     # upstream targets Java 7 by default
@@ -103,9 +104,6 @@ let
       mainProgram = exec;
     };
   };
-
-  d2u = lib.replaceStrings ["."] ["_"];
-
 in {
 
   application = mkSweetHome3D rec {
@@ -114,9 +112,9 @@ in {
     module = "SweetHome3D";
     description = "Design and visualize your future home";
     license = lib.licenses.gpl2Plus;
-    src = fetchurl {
+    src = fetchzip {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "sha256-Io3HfussfSy6CLHE0JCAk0gjBAla/u+pS1Gan8BxozY=";
+      hash = "sha256-RVuwxL/YATqHoQuc25ZaYgZ+o2rMOqnzU8/LLxb5Ra4=";
     };
     desktopName = "Sweet Home 3D";
     icons = {
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index 926d75fe5c7a..f4fe14fb6751 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchurl
+, fetchzip
 , makeWrapper
 , makeDesktopItem
 , jdk
@@ -18,14 +18,6 @@ let
     + removeSuffix "libraryeditor" (toLower m)
     + "-editor";
 
-  applicationSrc = stdenv.mkDerivation {
-    name = "application-src";
-    src = sweethome3dApp.src;
-    nativeBuildInputs = [ unzip ];
-    buildPhase = "";
-    installPhase = "cp -r . $out";
-  };
-
   mkEditorProject =
   { pname, module, version, src, license, description, desktopName }:
 
@@ -41,21 +33,21 @@ let
       categories = [ "Graphics" "2DGraphics" "3DGraphics" ];
     };
 
-    nativeBuildInputs = [ makeWrapper unzip ];
+    nativeBuildInputs = [ makeWrapper ];
     buildInputs = [ ant jdk gtk3 gsettings-desktop-schemas ];
 
     # upstream targets Java 7 by default
     env.ANT_ARGS = "-DappletClassSource=8 -DappletClassTarget=8 -DclassSource=8 -DclassTarget=8";
 
     postPatch = ''
-      sed -i -e 's,../SweetHome3D,${applicationSrc},g' build.xml
+      sed -i -e 's,../SweetHome3D,${sweethome3dApp.src},g' build.xml
       sed -i -e 's,lib/macosx/java3d-1.6/jogl-all.jar,lib/java3d-1.6/jogl-all.jar,g' build.xml
     '';
 
     buildPhase = ''
       runHook preBuild
 
-      ant -lib ${applicationSrc}/libtest -lib ${applicationSrc}/lib -lib ${jdk}/lib
+      ant -lib ${sweethome3dApp.src}/libtest -lib ${sweethome3dApp.src}/lib -lib ${jdk}/lib
 
       runHook postBuild
     '';
@@ -93,9 +85,9 @@ in {
     pname = module;
     description = "Easily create SH3T files and edit the properties of the texture images it contain";
     license = lib.licenses.gpl2Plus;
-    src = fetchurl {
+    src = fetchzip {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "03vb9y645qzffxxdhgbjb0d98k3lafxckg2vh2s86j62b6357d0h";
+      hash = "sha256-v8hMEUujTgWvFnBTF8Dnd1iWgoIXBzGMUxBgmjdxx+g=";
     };
     desktopName = "Sweet Home 3D - Textures Library Editor";
   };
@@ -105,10 +97,10 @@ in {
     module = "FurnitureLibraryEditor";
     pname = module;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
-    license = lib.licenses.gpl2;
-    src = fetchurl {
+    license = lib.licenses.gpl2Plus;
+    src = fetchzip {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "sha256-r5xJlUctUdcknJfm8rbz+bdzFhqgHsHpHwxEC4mItws=";
+      hash = "sha256-pqsSxQPzsyx4PS98fgU6UFhPWhpQoepGm0uJtkvV46c=";
     };
     desktopName = "Sweet Home 3D - Furniture Library Editor";
   };
diff --git a/pkgs/applications/networking/cluster/kubefirst/default.nix b/pkgs/applications/networking/cluster/kubefirst/default.nix
index f73c2ebbf19e..ada816ef8316 100644
--- a/pkgs/applications/networking/cluster/kubefirst/default.nix
+++ b/pkgs/applications/networking/cluster/kubefirst/default.nix
@@ -1,26 +1,34 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
 buildGoModule rec {
   pname = "kubefirst";
-  version = "2.4.0";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "kubefirst";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-3WGItliwfJuyh0nTUJyCo2qXuvGZOfAH6XCIGxvF8bs=";
+    repo = "kubefirst";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-fw2DmgAiCsEw5lkeZOiU5ptAFb13BDTx09Js6IO28Ww=";
   };
 
   vendorHash = "sha256-ZcZl4knlyKAwTsiyZvlkN5e2ox30B5aNzutI/2UEE9U=";
 
-  ldflags = [ "-s" "-w" "-X github.com/kubefirst/runtime/configs.K1Version=v${version}"];
+  ldflags = [
+    "-s"
+    "-w"
+    "-X=github.com/kubefirst/runtime/configs.K1Version=v${version}"
+  ];
 
   doCheck = false;
 
   meta = with lib; {
-    description = "The Kubefirst CLI creates instant GitOps platforms that integrate some of the best tools in cloud native from scratch.";
+    description = "Tool to create instant GitOps platforms that integrate some of the best tools in cloud native from scratch";
     mainProgram = "kubefirst";
     homepage = "https://github.com/kubefirst/kubefirst/";
+    changelog = "https://github.com/kubefirst/kubefirst/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ qjoly ];
   };
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 628a425506a3..e4fadde572a3 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -9,14 +9,13 @@
     "vendorHash": null
   },
   "acme": {
-    "hash": "sha256-ZhL5u6v7ZraajKaSK6hwzXbXr+ySdFmBSJnmsOhOJok=",
+    "hash": "sha256-CFyB6jLHtnHxY9LB5a3qaMVfz6isi1pSXcscVMM9QKA=",
     "homepage": "https://registry.terraform.io/providers/vancluever/acme",
     "owner": "vancluever",
-    "proxyVendor": true,
     "repo": "terraform-provider-acme",
-    "rev": "v2.20.2",
+    "rev": "v2.21.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-eiWGI8sp+gGL8UiRBG6lHmCATVUebYwdXJbLNGfi6xY="
+    "vendorHash": "sha256-wqXMoByVqd2NxdFunK29Hq59pfQoXW+kHoH0dTcfFVw="
   },
   "age": {
     "hash": "sha256-bJrzjvkrCX93bNqCA+FdRibHnAw6cb61StqtwUY5ok4=",
@@ -28,13 +27,13 @@
     "vendorHash": "sha256-jK7JuARpoxq7hvq5+vTtUwcYot0YqlOZdtDwq4IqKvk="
   },
   "aiven": {
-    "hash": "sha256-7dKlhPGkt1WB/nlXV2IrNT7E3w2kNdishJB/xL299Cw=",
+    "hash": "sha256-ap2UuJojGx7+OZB2RmIZlHbawZi4lqa1iGUr2NLSPGk=",
     "homepage": "https://registry.terraform.io/providers/aiven/aiven",
     "owner": "aiven",
     "repo": "terraform-provider-aiven",
-    "rev": "v4.13.2",
+    "rev": "v4.14.0",
     "spdx": "MIT",
-    "vendorHash": "sha256-rIyAhe4YQ9XG3nODCSxZRohHgNIPQ94pDLrh7+4Rj1k="
+    "vendorHash": "sha256-PSErY3yFDTjtK+FVlJEEBfZAz1BybjiPK7nDulrrbdY="
   },
   "akamai": {
     "hash": "sha256-j1UTi4ygixwSfu9Wp//JzKe58xSV/tZM3kRo1ikBo3Y=",
@@ -46,11 +45,11 @@
     "vendorHash": "sha256-/gW1vxaDaUMpm0QSghd/Glo3S/XVa5t9x3QrIs4Bqyk="
   },
   "alicloud": {
-    "hash": "sha256-YD9q4sjX9Bmp1k6MIy7EKIT2fY0e9Mb939hJ5w1Hh2Y=",
+    "hash": "sha256-Zi4oymePLOW6NgEE8aHlEo7rStz2GPNFSSUl9LUr7OU=",
     "homepage": "https://registry.terraform.io/providers/aliyun/alicloud",
     "owner": "aliyun",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.217.2",
+    "rev": "v1.219.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -82,13 +81,13 @@
     "vendorHash": "sha256-q9PO9tMbaXTs3nBLElwU05GcDZMZqNmLVVGDmiSRSfo="
   },
   "artifactory": {
-    "hash": "sha256-W8IWBc9tWmj4Rkp4CgZV9tsAL41EOnEhH+iTImP/+D4=",
+    "hash": "sha256-udgRoN1YoVaJpNS6MkZAThcuWGOL9Jc3lf3NAKS9WH8=",
     "homepage": "https://registry.terraform.io/providers/jfrog/artifactory",
     "owner": "jfrog",
     "repo": "terraform-provider-artifactory",
-    "rev": "v10.1.5",
+    "rev": "v10.4.0",
     "spdx": "Apache-2.0",
-    "vendorHash": "sha256-J/+OcqRtcHaqoDkrWIDpPlBHQ/UWupwchA1aeSoHSh4="
+    "vendorHash": "sha256-P5L2Q8t9TxJnu5cjOwEKek1KNKAw78fqZoOSAo6AvzQ="
   },
   "auth0": {
     "hash": "sha256-Yoje6btftS0slz2newORBbb9kTjWXaXzbP94YKT6+3E=",
@@ -100,13 +99,13 @@
     "vendorHash": "sha256-kBLyk8glOuvgpbGLUUwtzKecqDDU8VS3JxN6tPIhMro="
   },
   "avi": {
-    "hash": "sha256-EGpHajrTTOx7LrFHzsrrkGMqsuUEJLJAN6AJ48QdJis=",
+    "hash": "sha256-OKUxIJO5WR8ZVkhst1xIgxKsAy+9PNHOmG2NsaRUxFY=",
     "homepage": "https://registry.terraform.io/providers/vmware/avi",
     "owner": "vmware",
     "repo": "terraform-provider-avi",
-    "rev": "v22.1.5",
+    "rev": "v22.1.6",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-r42KHzvRBXuWgLgtg+WUVt0ThjSMXtUKjEE9y/s/1uQ="
+    "vendorHash": "sha256-Sq304WOdKx4J1sD1+YA7uDi+uQtUiXa+BISs/j87dWw="
   },
   "aviatrix": {
     "hash": "sha256-84MtHPrDVaLMQQYnAfuP/pZuzruWxUTLpziwn3ny1oU=",
@@ -118,13 +117,13 @@
     "vendorHash": null
   },
   "aws": {
-    "hash": "sha256-/KJMoRsEKA4cqY/TpSWQDBpNjtqmZcqnpMSLf2E0LXY=",
+    "hash": "sha256-+daAkFF6nSTe6yxOdW58BRzBYI4tUMhNoG6vnG1cXTA=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/aws",
     "owner": "hashicorp",
     "repo": "terraform-provider-aws",
-    "rev": "v5.39.1",
+    "rev": "v5.41.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-q5Tsm7JLrX5OK4fKV0SBRgK6ZHogG16OtMFeJrR0bBc="
+    "vendorHash": "sha256-JmMp9AqjWZGVvCsCCTYl3o4BT9yxzA3A16ESrpciCLE="
   },
   "azuread": {
     "hash": "sha256-lumXl3orK5Jq5+qnRfiIA94NjK2bCjd3LhRzHmW1h8I=",
@@ -136,11 +135,11 @@
     "vendorHash": null
   },
   "azurerm": {
-    "hash": "sha256-HPbEbFw99HM6+a+EAbkwE6hvzh4/FU/cAbl6DT1dbp0=",
+    "hash": "sha256-5uA+P29yLCXyOB+98Nx9dPNKONmgDAkMEb8cNRB4MW8=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
     "owner": "hashicorp",
     "repo": "terraform-provider-azurerm",
-    "rev": "v3.94.0",
+    "rev": "v3.96.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -155,11 +154,11 @@
   },
   "baiducloud": {
     "deleteVendor": true,
-    "hash": "sha256-wPfWcc4OD3KXEfe9IsK/4NPdX/4bQNKTiGBsKL0OZC8=",
+    "hash": "sha256-ymTKRxbFUT99qxAS8lb4QAAWXX7yopPo8Ac93mpGEHo=",
     "homepage": "https://registry.terraform.io/providers/baidubce/baiducloud",
     "owner": "baidubce",
     "repo": "terraform-provider-baiducloud",
-    "rev": "v1.19.37",
+    "rev": "v1.19.39",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-puTQKvIvyBRgdZZTZCXEAdc8HYNgtoSmzjpqHCIEAKk="
   },
@@ -191,13 +190,13 @@
     "vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8="
   },
   "buildkite": {
-    "hash": "sha256-3r2vxoPRTehKTswcNoAkVKuLbo6OFuyLy1WEyjw2zO8=",
+    "hash": "sha256-zhltbz9mlHVJI4R8RSS6UyyfeopgK62BJzQfl3VtIfE=",
     "homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
     "owner": "buildkite",
     "repo": "terraform-provider-buildkite",
-    "rev": "v1.5.0",
+    "rev": "v1.5.2",
     "spdx": "MIT",
-    "vendorHash": "sha256-21OyBnW86A3Tm0OAHilCM+pgJcgx2a+P9up3/jeA8qg="
+    "vendorHash": "sha256-LKATx/5jjQCyaOUDFQNka3tWMH5DbEKNhrfYlyzDPKc="
   },
   "checkly": {
     "hash": "sha256-Wxw87/9BG/bTDGqgKdle6WF38oDoHkrc0HIKjJlaQOQ=",
@@ -227,13 +226,13 @@
     "vendorHash": "sha256-cI3brJwN+7FTceOMwR0HMbZCNHhwvm31OXqjAEvrzrs="
   },
   "cloudflare": {
-    "hash": "sha256-b9qsA0V/ncQPiP2SQyFpVDaQdEyAMBQp4WfCQlcd9xk=",
+    "hash": "sha256-veqaQQaZz05lom2X03+bav2JBVv/enBCA1lcyKmAlZk=",
     "homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
     "owner": "cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v4.25.0",
+    "rev": "v4.26.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-TBELRtWlzXqP64fPM3e1pn/w8FVERQ3BLf+kRoahNXk="
+    "vendorHash": "sha256-8MvwvBDUs0OVptgtbg/tAEEBgD9Tk5mWKnnW4p0Rk20="
   },
   "cloudfoundry": {
     "hash": "sha256-1nYncJLVU/f9WD6Quh9IieIXgixPzbPk4zbtI1zmf9g=",
@@ -255,11 +254,11 @@
     "vendorHash": "sha256-MFhKJEuylDnyj9ltugxGXgfIxBT3/mYaxB0JmTJxK3M="
   },
   "cloudscale": {
-    "hash": "sha256-GjtWkty9mNMnTzXUf9U56b9HkjrjUdouA41ZptXMKeQ=",
+    "hash": "sha256-O4Y8p5S5C4SldryndecoaX5d8nrX10nqurAkJ0Un2NY=",
     "homepage": "https://registry.terraform.io/providers/cloudscale-ch/cloudscale",
     "owner": "cloudscale-ch",
     "repo": "terraform-provider-cloudscale",
-    "rev": "v4.2.3",
+    "rev": "v4.3.0",
     "spdx": "MIT",
     "vendorHash": null
   },
@@ -292,13 +291,13 @@
     "vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
   },
   "datadog": {
-    "hash": "sha256-gmFD9VG9mcxw7lpt25bz8z2RnmeCSbd2EkFJHbZNP0Y=",
+    "hash": "sha256-zAu2zkC9saWg1Miu4OkqeXtNhGgboCzr/CRmtfFsAVc=",
     "homepage": "https://registry.terraform.io/providers/DataDog/datadog",
     "owner": "DataDog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.37.0",
+    "rev": "v3.38.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-20ANWw/0rqhCVhkl2r1PusXKOAKrvpxgvpGKmKMzbZM="
+    "vendorHash": "sha256-vIdM7SEWYnBw30wGl7wM/sMl4xtRPTUQvhqGoJxfKBg="
   },
   "dexidp": {
     "hash": "sha256-3UgiOeAGpGG2mkImPDvb24WjV2mavhY0E12j7W+SJs8=",
@@ -320,11 +319,11 @@
     "vendorHash": "sha256-e/+czUeOACwRC7xY90pZp2EWDzDpLU6Ud9RPzuNKaOY="
   },
   "digitalocean": {
-    "hash": "sha256-pu6QTKT5ikm3B12zDpWFsMbSjv8zl1oMvWtA4qtjluk=",
+    "hash": "sha256-wwb62tZZxpr7NXbiqcS40aF9E2msagj2Mqy4kogDsEA=",
     "homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean",
     "owner": "digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v2.34.1",
+    "rev": "v2.36.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -347,13 +346,13 @@
     "vendorHash": "sha256-z2p2tjTK7eL0gRU8XnXw9SY9qokqiqJOVhkiBQlHRnA="
   },
   "dnsimple": {
-    "hash": "sha256-iH35dJLa/63s+CU5PdeMbqXUVGfWfpKIXH3znNUApEc=",
+    "hash": "sha256-aa5L1FO9Ro215zj3vH1H9k0fP2mYI5+TAvyPQumwWOM=",
     "homepage": "https://registry.terraform.io/providers/dnsimple/dnsimple",
     "owner": "dnsimple",
     "repo": "terraform-provider-dnsimple",
-    "rev": "v1.4.0",
+    "rev": "v1.5.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-fuIaNHlZica6PxFLzXGA+b6ODWrGWXdWYOeWzgiQRXo="
+    "vendorHash": "sha256-XA6gvm4S5kwdW2uha6B5BUX5mR8HPOs3xgPgGdIc0d4="
   },
   "docker": {
     "hash": "sha256-UyHOI8C0eDV5YllAi9clHp/CEldHjIp3FHHMPy1rK58=",
@@ -383,13 +382,13 @@
     "vendorHash": "sha256-oVTanZpCWs05HwyIKW2ajiBPz1HXOFzBAt5Us+EtTRw="
   },
   "equinix": {
-    "hash": "sha256-WWW4X5fCQAZZiAVi79realf0EtB0AGnfS5yjSJrlZTU=",
+    "hash": "sha256-LF9S0jqMeXSci6uAFW+3C7IA9PGmSUgFrVG13/i0hZc=",
     "homepage": "https://registry.terraform.io/providers/equinix/equinix",
     "owner": "equinix",
     "repo": "terraform-provider-equinix",
-    "rev": "v1.26.0",
+    "rev": "v1.33.0",
     "spdx": "MIT",
-    "vendorHash": "sha256-vMmHoQEXXPbFS/q+wy35SQd5+yEXLQFVWX9AKsmbTn4="
+    "vendorHash": "sha256-TC1vPWe1rFofz0SdKpV9qAmknLROQH2MglPDrA62nO0="
   },
   "exoscale": {
     "hash": "sha256-t1yZmayoZkDImcIr+VkNhQRzlfteGuvgcjSDOmmCF5I=",
@@ -410,22 +409,22 @@
     "vendorHash": "sha256-qeKXdjrDPJWO4xW8by6djJReeYbCjh8VzQmE5/65zII="
   },
   "fastly": {
-    "hash": "sha256-trDTXsZZTSxYe8ybFYpw8FkjxWJhTjyavT21c8wN0y0=",
+    "hash": "sha256-jjZKwxJeimutMuz8TdNLsLigiXidtfxdsptrxSo3940=",
     "homepage": "https://registry.terraform.io/providers/fastly/fastly",
     "owner": "fastly",
     "repo": "terraform-provider-fastly",
-    "rev": "v5.7.0",
+    "rev": "v5.7.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "flexibleengine": {
-    "hash": "sha256-8wp6chQBysKEZ2088PY+h62FnTI8nIapmhQpTHO1TIQ=",
+    "hash": "sha256-yEZ9JiUSqFFbfqzOOD59ZBv4yFCeUBBKlp6aiUqDqiM=",
     "homepage": "https://registry.terraform.io/providers/FlexibleEngineCloud/flexibleengine",
     "owner": "FlexibleEngineCloud",
     "repo": "terraform-provider-flexibleengine",
-    "rev": "v1.45.0",
+    "rev": "v1.46.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-hpoeXO3RfnI49UAqtF4rmX75DXCfsl4XTjIPGFyI/Nc="
+    "vendorHash": "sha256-ZbU2z7qUHPR7vDSflesSjgK7x3LYXVe/gnVsy19q6Bs="
   },
   "fortios": {
     "hash": "sha256-SENWlcDkb6S73yKratGSlT151wWuR43B40SoK7Hb6Qs=",
@@ -447,42 +446,40 @@
     "vendorHash": "sha256-EiTWJ4bw8IwsRTD9Lt28Up2DXH0oVneO2IaO8VqWtkw="
   },
   "github": {
-    "hash": "sha256-y8DMpNSySMbe7E+sGVQcQdEyulq4Wnp5ryYD7FQO/fc=",
+    "hash": "sha256-0tnqXynYPct9HAZdhJ42bzJbcsC5QVz4bOszEO+tjSc=",
     "homepage": "https://registry.terraform.io/providers/integrations/github",
     "owner": "integrations",
     "repo": "terraform-provider-github",
-    "rev": "v6.0.0",
+    "rev": "v6.2.0",
     "spdx": "MIT",
     "vendorHash": null
   },
   "gitlab": {
-    "hash": "sha256-sk18gC7ZecdvXIzYrNhyYLduttZrVVgekNjgYR379TY=",
+    "hash": "sha256-RphUUJOMx9p1fTys68C+bWxgS8zjrWLe4VgMXwKa8SE=",
     "homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab",
     "owner": "gitlabhq",
     "repo": "terraform-provider-gitlab",
-    "rev": "v16.8.1",
+    "rev": "v16.9.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-dfsIEyLyTTJJxMPXWyo0YuSaRrjL+qGL654TAgECWPM="
+    "vendorHash": "sha256-mr4ZEQobsFBRU/RUV4joqsWQTuAaSioB1GO09wQJy7M="
   },
   "google": {
-    "hash": "sha256-mP2/XDQX/AagEmmUMDGzS6ATJpuJU21lmEvs2wFe7Tg=",
+    "hash": "sha256-CbOy5kExsXHQTMteNpqnr0SHsQIjKSiJuwJD9Wcy5Ag=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google",
     "owner": "hashicorp",
-    "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v5.19.0",
+    "rev": "v5.21.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-0yCgFgRDGaJLGFEX3lZxoqrS1xWjqmRfYaYdMVpI2KI="
+    "vendorHash": "sha256-VL03n3rEMccHuYmFMgoX01hzpEA7WHIyxa8GnfVLLSo="
   },
   "google-beta": {
-    "hash": "sha256-Hx9/hGT0cqNYkn1xojeolWrvFPWhh1gsKl/qxeejBzA=",
+    "hash": "sha256-fn4JrTU/TX8jJ6vYxzWYFpGFmgSDEt6txOF/jsX2BcU=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
     "owner": "hashicorp",
-    "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v5.19.0",
+    "rev": "v5.21.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-0yCgFgRDGaJLGFEX3lZxoqrS1xWjqmRfYaYdMVpI2KI="
+    "vendorHash": "sha256-bUJJNnnmF7PXwXUomE5uuk21rpHsy7W5ESkj0DDiY04="
   },
   "googleworkspace": {
     "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@@ -494,13 +491,13 @@
     "vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g="
   },
   "grafana": {
-    "hash": "sha256-FcoWovmdPUcX4LcSF9MLpxvwK1ObFejump4ha0Fmdbw=",
+    "hash": "sha256-8YE+bi44c55hDH+NlEsuocT1d6PugF/QfwvOTD693YE=",
     "homepage": "https://registry.terraform.io/providers/grafana/grafana",
     "owner": "grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v2.12.2",
+    "rev": "v2.14.2",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-lbtWI96iAjHNRbhJw2e8yWSGJD7hsMqy4ZGCScSH8ME="
+    "vendorHash": "sha256-HVPCLtE1DVM5Rq/myNoJwFrSQVG6utX0LOmR7yklRu8="
   },
   "gridscale": {
     "hash": "sha256-5gidBMUfJ4DPKuRx/pF5Rlff7DPkIXBJ7qzCIy6bZm8=",
@@ -567,11 +564,11 @@
     "vendorHash": "sha256-GDeuiT3PV92t3CsD60CAmN8ED9j8UzDbRlk59SSCVCM="
   },
   "huaweicloud": {
-    "hash": "sha256-gNMeblhzUWa2YTvy0bmMzP0NQ3Qe0Ibec4tEKHyTHR0=",
+    "hash": "sha256-vOaLOGLp+V+IYYa56rpiv1yx89incw796cTUgUXHtdM=",
     "homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
     "owner": "huaweicloud",
     "repo": "terraform-provider-huaweicloud",
-    "rev": "v1.62.0",
+    "rev": "v1.62.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -594,13 +591,13 @@
     "vendorHash": null
   },
   "ibm": {
-    "hash": "sha256-zTrVz4SqjqbU5T/kxvhKsJnx/VPPRUvQ6CMCqiclj7M=",
+    "hash": "sha256-dYH6D5VKh2wNh8L4SyXELy1zL+fORLeOgXG92XDg4GY=",
     "homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm",
     "owner": "IBM-Cloud",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.61.0",
+    "rev": "v1.63.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-/kbrtNvEYU0mfoe2lPaZ/b8kAfkuP/6QVzUxRry/4+I="
+    "vendorHash": "sha256-SlUzByF0tke5YtMflOzpYfguZlNe8qeqJqvxCh/TVoY="
   },
   "icinga2": {
     "hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
@@ -612,13 +609,13 @@
     "vendorHash": null
   },
   "incus": {
-    "hash": "sha256-0KCP5ll6TszSTP2J9+dDK6qqNcVCPgLQrdMMrfVhmds=",
+    "hash": "sha256-GahwviyhXcrCtM0jjJKKEwHkZTcJnVPB1JlVsJjcv+k=",
     "homepage": "https://registry.terraform.io/providers/lxc/incus",
     "owner": "lxc",
     "repo": "terraform-provider-incus",
-    "rev": "v0.1.0",
+    "rev": "v0.1.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-pKWKef0MtW90HBhDVtQlETt9TqnHnfW6Ck4gXShJVF0="
+    "vendorHash": "sha256-/SpaWENm6nwveUACS7hvH/Z25CTzQK/6igPhTW/fYJ8="
   },
   "infoblox": {
     "hash": "sha256-rjqtqfmQQoJIhMtP6sFOu/XfJ691E77P0Bf9gjml2yg=",
@@ -639,13 +636,13 @@
     "vendorHash": "sha256-NEGjgtrn6ZowqSF6NAK1NnSjYVUvfWuH/4R5ZPdTZSs="
   },
   "kafka": {
-    "hash": "sha256-EECV3JMile7Lif/GuC5330OcAGm5ylc6k43fY4jRy80=",
+    "hash": "sha256-BS15vAQeWAYPaF7i4xpFPv7Ni+tF4LFu8k/woVvQNF4=",
     "homepage": "https://registry.terraform.io/providers/Mongey/kafka",
     "owner": "Mongey",
     "repo": "terraform-provider-kafka",
-    "rev": "v0.6.0",
+    "rev": "v0.7.0",
     "spdx": "MIT",
-    "vendorHash": "sha256-DKyDjcj7tovmlZeKjzun5YsCffTAJirp0z49kcOBq54="
+    "vendorHash": "sha256-H35qqnWovPgf1t9DlxnPhDg2uWEKTWR3KcLtDum/Qc4="
   },
   "kafka-connect": {
     "hash": "sha256-PiSVfzNPEXAgONb/eaVAN4yPudn5glcHL0BLqE5PWsw=",
@@ -675,20 +672,20 @@
     "vendorHash": "sha256-lXQHo66b9X0jZhoF+5Ix5qewQGyI82VPJ7gGzc2CHao="
   },
   "kubernetes": {
-    "hash": "sha256-CxzBTixyvsSSjZDv8GrxAB1oeRjJBB9nRAuKoASeKbI=",
+    "hash": "sha256-l2WPpczgKjDYxtZFqhqmJvq8CdsAIBQBeofZOn7BLzM=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/kubernetes",
     "owner": "hashicorp",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.26.0",
+    "rev": "v2.27.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-mVC3Uf+4zWM7lXHXOfVI+okXI8gP1W5VyZyH+qVNX7o="
   },
   "launchdarkly": {
-    "hash": "sha256-rv/jgGrjJrUzGBpUnkc0n/x/msxAc/45n/JKCrGPWMA=",
+    "hash": "sha256-IuoFMp0NViuwwgOlfvoReodPhOJR0+YyJDI/vjN52jQ=",
     "homepage": "https://registry.terraform.io/providers/launchdarkly/launchdarkly",
     "owner": "launchdarkly",
     "repo": "terraform-provider-launchdarkly",
-    "rev": "v2.18.0",
+    "rev": "v2.18.1",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-JbrecA5pNIifikBHwqFL72hRfRFHHl29mFKE4nDdbkY="
   },
@@ -702,13 +699,13 @@
     "vendorHash": "sha256-K/PH8DAi6Wj+isPx9xefQcLPKnrimfItZFSPfktTias="
   },
   "linode": {
-    "hash": "sha256-ZhZ6Y8hPLL3ZxemCgDdGNC8waxNEKLMVtv3cNZtAoic=",
+    "hash": "sha256-rk1fUC+++pXmYVL1IgR5rT77pere+j51n9kdzaDWKgc=",
     "homepage": "https://registry.terraform.io/providers/linode/linode",
     "owner": "linode",
     "repo": "terraform-provider-linode",
-    "rev": "v2.16.0",
+    "rev": "v2.17.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-rwto/tgKfmUYCNNMZpBpZ3vHyl9I8RrgLVmPogkMYe8="
+    "vendorHash": "sha256-8vmorWsrZLJo3lKN74Bt+V8xKPOe389FZ2SjvxYfvtI="
   },
   "linuxbox": {
     "hash": "sha256-MzasMVtXO7ZeZ+qEx2Z+7881fOIA0SFzSvXVHeEROtg=",
@@ -720,13 +717,13 @@
     "vendorHash": "sha256-Jlg3a91pOhMC5SALzL9onajZUZ2H9mXfU5CKvotbCbw="
   },
   "local": {
-    "hash": "sha256-FeraMYTrcGQ7JwlCOMyOJdwhtdRHS1b5PA0lpSIwAVY=",
+    "hash": "sha256-va8CFAHPZvc541Bml0VPN6A5qyUiKBXRfH/3AwxgXTo=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/local",
     "owner": "hashicorp",
     "repo": "terraform-provider-local",
-    "rev": "v2.4.1",
+    "rev": "v2.5.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-T/YQsNpPISDSVi00KrLRX/+jFNQVl2ze/3D2ZRxmUjI="
+    "vendorHash": "sha256-PpLqFek6FnD+xWF8QMS2PFUP7sXXVWWWosq6fpLRzxg="
   },
   "lxd": {
     "hash": "sha256-culY1Im8D4CtgC2LtTFFB0BgrNgLfDLT0I290+0NE3A=",
@@ -765,31 +762,31 @@
     "vendorHash": "sha256-QxbZv6YMa5/I4bTeQBNdmG3EKtLEmstnH7HMiZzFJrI="
   },
   "migadu": {
-    "hash": "sha256-4mT5BbOXl4OY99ao6nyQQgQImPk/1X7lOAZcAxYToQw=",
+    "hash": "sha256-jLOXQmsAAG78eNAlpo6Ge5fdhUHeGevVm079H1gE5/s=",
     "homepage": "https://registry.terraform.io/providers/metio/migadu",
     "owner": "metio",
     "repo": "terraform-provider-migadu",
-    "rev": "2024.1.25",
+    "rev": "2024.3.21",
     "spdx": "0BSD",
-    "vendorHash": "sha256-eee9X1QTDqL9rIGOnnxLU6QlcSIeMLlTZnHYis+ht+w="
+    "vendorHash": "sha256-ecoy0nJPuBsoVkYXNkrURgmDiaZEplkD1Zv4TEMuyU0="
   },
   "minio": {
-    "hash": "sha256-i3YYBffP7Jp3f0wN1ZwP+c7C8WN8EKUh7JOKzbH0R/I=",
+    "hash": "sha256-dgMK61jFXnOvE11FIoIJfFN1zb+N9HrFZ/WtQqwktbw=",
     "homepage": "https://registry.terraform.io/providers/aminueza/minio",
     "owner": "aminueza",
     "repo": "terraform-provider-minio",
-    "rev": "v2.0.1",
+    "rev": "v2.2.0",
     "spdx": "AGPL-3.0",
-    "vendorHash": "sha256-aIIkj0KpkIR+CsgPk4NCfhG7BMKaAQZy/49unQx4nWQ="
+    "vendorHash": "sha256-Uxexx5sK6D+EEEPWLnWFE0HPG1RKUsYnSJ/1bV9JBkw="
   },
   "mongodbatlas": {
-    "hash": "sha256-6XLPk4UNZVQLpY44MIVXabmHtkoQQ58WNfhmhW+/4Ow=",
+    "hash": "sha256-1IHiwMvME+kTbOSBNHBpDifzORf4li8WUxvtMu2uQiI=",
     "homepage": "https://registry.terraform.io/providers/mongodb/mongodbatlas",
     "owner": "mongodb",
     "repo": "terraform-provider-mongodbatlas",
-    "rev": "v1.15.1",
+    "rev": "v1.15.2",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-LBgZmVuBkeKNTPIk274owej+E4Ir0xcGkL4L05PhZUg="
+    "vendorHash": "sha256-fVDjhXRbYt845ZhFY85lCpXubKINBeMZg0U3K5RbnDk="
   },
   "namecheap": {
     "hash": "sha256-g3i7jZBOl2umsyRk1z7Radv8a9Ry6oQ8oorv3YbY7Xo=",
@@ -819,22 +816,22 @@
     "vendorHash": "sha256-QluXNbTBc/EXCO3PmnBOSwSERK3t5NhCS4Jnz5hU97k="
   },
   "nomad": {
-    "hash": "sha256-KHbdP5kAs65Z31Fe7EjwUVlFaezgjCqECryF/hSXXXs=",
+    "hash": "sha256-+S78qH7xMvJEGvgTRlxADNZI24PNgqCj1xgmIl4Oif4=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/nomad",
     "owner": "hashicorp",
     "repo": "terraform-provider-nomad",
-    "rev": "v2.1.1",
+    "rev": "v2.2.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-+0UAB4ZQfIyoCopQkm1hTCxDIa/J4gLDGwv4iInN4os="
+    "vendorHash": "sha256-f/L9ZkirFIb+Yu2H4wz9wCb65NCC0TsmEnZPCI4Z6gw="
   },
   "ns1": {
-    "hash": "sha256-UHoOVITbfwZ7tviDuZ1Tp9aVgRpB9ZnCzk5EOZeH/Eo=",
+    "hash": "sha256-qk+JfmWjaK29KqUVN2K01AEU+zJAQGeJhsnu3BBNHqI=",
     "homepage": "https://registry.terraform.io/providers/ns1-terraform/ns1",
     "owner": "ns1-terraform",
     "repo": "terraform-provider-ns1",
-    "rev": "v2.0.10",
+    "rev": "v2.2.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-nkpKq8cAusokeuOk32n8QA9He9zQlaTFzUwLMHKzpqM="
+    "vendorHash": "sha256-Fh4RP2Yu3EWD/I8r3I2nEkyQBZdM5SmdX+IcK5B8cb0="
   },
   "null": {
     "hash": "sha256-KOwJXGvMc9Xgq4Kbr72aW6RDwzldUrU1C3aDxpKO3qE=",
@@ -856,11 +853,11 @@
     "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
   },
   "oci": {
-    "hash": "sha256-X7/v25Ges3F69LQs1SEXNLwiCkHX+/VrJ7y2XtE+2bg=",
+    "hash": "sha256-V3A22EUSmVjglnytaxRL2CCG5DtzKl0J+Xalk96z99o=",
     "homepage": "https://registry.terraform.io/providers/oracle/oci",
     "owner": "oracle",
     "repo": "terraform-provider-oci",
-    "rev": "v5.31.0",
+    "rev": "v5.34.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -901,13 +898,13 @@
     "vendorHash": "sha256-WHsYDcvLE1i+wCHGNF6eE8yVpPbP5SLG7ZK1AL7xMXI="
   },
   "opentelekomcloud": {
-    "hash": "sha256-ZDZ5sOWpmsGc+ESWkib2gws8XOeN35WEpi9/R2262yg=",
+    "hash": "sha256-rifK2xVnzYQZnDzF4glkpA4w1/rbvuxkas8npJRXqvM=",
     "homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud",
     "owner": "opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.36.2",
+    "rev": "v1.36.4",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-2gZ3+XK5FF4hQ2zGjULrPj3QYrCG9MNFLdcVdxgzX9s="
+    "vendorHash": "sha256-4kO4pl1Ssj+lCmImiJQq59J/6rpfuYt/NBDBxJopQdE="
   },
   "opsgenie": {
     "hash": "sha256-ZssKhfwFrzCjvlebEmKAHWBInN5daVqxbmVFoA92dv8=",
@@ -919,20 +916,20 @@
     "vendorHash": null
   },
   "ovh": {
-    "hash": "sha256-jQ+eitK5kX12yso+cSltZWRPc/3P2v4W4H2+TbPKvNI=",
+    "hash": "sha256-SGezO0L/rt5rnIz3LijkKdXn0+EPlmM/rGQ/aB2GES4=",
     "homepage": "https://registry.terraform.io/providers/ovh/ovh",
     "owner": "ovh",
     "repo": "terraform-provider-ovh",
-    "rev": "v0.37.0",
+    "rev": "v0.40.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "pagerduty": {
-    "hash": "sha256-WjRfkMMgGuqSpJd4514heDQD4SaiH7gIkZwJzzqxoZk=",
+    "hash": "sha256-D1tYsPiozT9FdTL+DKDkjxAByXueyKwBkka3P9xDJLc=",
     "homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
     "owner": "PagerDuty",
     "repo": "terraform-provider-pagerduty",
-    "rev": "v3.9.0",
+    "rev": "v3.10.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -973,13 +970,13 @@
     "vendorHash": null
   },
   "project": {
-    "hash": "sha256-ZE3OW83tz2DfcwFn8KfZZYQuWdl335zJecC3Qzn0xPg=",
+    "hash": "sha256-eXieWiwDzTkOVvrjjnG8i8ke7mMTjluq5zEtiZqfiOA=",
     "homepage": "https://registry.terraform.io/providers/jfrog/project",
     "owner": "jfrog",
     "repo": "terraform-provider-project",
-    "rev": "v1.4.0",
+    "rev": "v1.5.1",
     "spdx": "Apache-2.0",
-    "vendorHash": "sha256-i7wota4ezfBA2AoSGO8OdbJcZQizXrPRJYE/WJSTFss="
+    "vendorHash": "sha256-bJ6+i7fZ6PsUcwjwJKiMC10I44bojIifI7eWUhdT1Bw="
   },
   "proxmox": {
     "hash": "sha256-ikXLLNoAjrnGGGI3fHTKFXm8YwqNazE/U39JTjOBsW4=",
@@ -1000,13 +997,13 @@
     "vendorHash": "sha256-j+3qtGlueKZgf0LuNps4Wc9G3EmpSgl8ZNSLqslyizI="
   },
   "rancher2": {
-    "hash": "sha256-k4lJszOUxeOmpBX8wFiIg6MmVUWqH6OTuj0/OJgr0ZA=",
+    "hash": "sha256-w9oAeE8KuD7kdBFOkNgifaELrxr3X1yKYXFiQLyaGY8=",
     "homepage": "https://registry.terraform.io/providers/rancher/rancher2",
     "owner": "rancher",
     "repo": "terraform-provider-rancher2",
-    "rev": "v4.0.0",
+    "rev": "v4.1.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-8XBsQuzEtg8nybJOFHkkr4nfp4WxnmgXqt0ci7q0CbI="
+    "vendorHash": "sha256-kzOEHkVCHOwISXVPmKbJJ2BbBdIJ3G1JtA1nFGZYnG8="
   },
   "random": {
     "hash": "sha256-8RRfoxDXa9pScyZ8CXBuWODlahd3lH0IzPaV0yb7GpI=",
@@ -1036,13 +1033,13 @@
     "vendorHash": null
   },
   "scaleway": {
-    "hash": "sha256-ygCr2kxnVoR2IvtvQI483Urd5sLU6U+TCHYW1FXy1Tc=",
+    "hash": "sha256-3K1BGar+D45nCSQNodJYTp+kP0EdoBzQTOEJ3PQa3t8=",
     "homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
     "owner": "scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.37.0",
+    "rev": "v2.38.2",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-JXSXDJqRGZDk1xyyWhv+S9Jl5duBN9RR71eukDc6ODQ="
+    "vendorHash": "sha256-5otz+3S1o3V+V1SZaFP611AwyCvoPCxCwR2SE3DEw5o="
   },
   "secret": {
     "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@@ -1108,11 +1105,11 @@
     "vendorHash": "sha256-F1AuO/dkldEDRvkwrbq2EjByxjg3K2rohZAM4DzKPUw="
   },
   "snowflake": {
-    "hash": "sha256-ZPqKctqmAaF7obRDdK2Jn5kGihjyPZhl8IoAprcXuUI=",
+    "hash": "sha256-X0VD4aI7WzNsy36e39eWzn2IIaLuXnhFSgiMnbb4myU=",
     "homepage": "https://registry.terraform.io/providers/Snowflake-Labs/snowflake",
     "owner": "Snowflake-Labs",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.87.0",
+    "rev": "v0.87.2",
     "spdx": "MIT",
     "vendorHash": "sha256-hvaZBOeAVutoKv46BLE1ud1Ox0K0InpTSG5G2WwTj5s="
   },
@@ -1126,13 +1123,13 @@
     "vendorHash": "sha256-8W1PK4T98iK1N6EB6AVjvr1P9Ja51+kSOmYAEosxrh8="
   },
   "spotinst": {
-    "hash": "sha256-9hSrU4pSlbcGM0HHKg/xIPz4DTvds6+yIFYbQ+xmPrA=",
+    "hash": "sha256-3/dMhB5SRc1pEsoflaMcNmPn3MjEUZ95aruqwD/Ro0M=",
     "homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
     "owner": "spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.162.0",
+    "rev": "v1.165.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-lOLX/ZcBbh7TzsKO9w/dB1gm0KD9ezlXNjWRBBQVgsQ="
+    "vendorHash": "sha256-aKp9DDUU1cZye24jtFqpxA43KJj8CjXFE/+hl1PBH6c="
   },
   "ssh": {
     "hash": "sha256-1UN5QJyjCuxs2vQYlSuz2jsu/HgGTxOoWWRcv4qcwow=",
@@ -1162,22 +1159,22 @@
     "vendorHash": "sha256-9M1DsE/FPQK8TG7xCJWbU3HAJCK3p/7lxdzjO1oAfWs="
   },
   "sumologic": {
-    "hash": "sha256-fO7EsELdBElvosfbyKYnun7pJhoy5tTADGgYHqi9nEQ=",
+    "hash": "sha256-wGqOUeDJs80s5xNsnJ4uLg6DXxcZA+P30XtY4DyCDzo=",
     "homepage": "https://registry.terraform.io/providers/SumoLogic/sumologic",
     "owner": "SumoLogic",
     "repo": "terraform-provider-sumologic",
-    "rev": "v2.28.2",
+    "rev": "v2.28.3",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-iNBM4Y24vDGPKyb5cppSogk145F0/pAFmOzEeiWgfLI="
+    "vendorHash": "sha256-ti0zBliq3DXVNWlqE0dO6T5UxN/p1fLMt4FK/0/j9oY="
   },
   "tailscale": {
-    "hash": "sha256-1OSGJham+oJLQUcSm+Iea9SDM5VhOcE7Bz+ZgxM4Lww=",
+    "hash": "sha256-hvhdaxO7CbsfFzDw0UuRxlgRwvumWPz/I65IgounflQ=",
     "homepage": "https://registry.terraform.io/providers/tailscale/tailscale",
     "owner": "tailscale",
     "repo": "terraform-provider-tailscale",
-    "rev": "v0.13.13",
+    "rev": "v0.15.0",
     "spdx": "MIT",
-    "vendorHash": "sha256-w0S9ACnDNZsEvYEkS2Q/8I2doM3AmgpzmgRXgA7CaTw="
+    "vendorHash": "sha256-+XgYutJTSKL6HmAX4GLnktqcM3AxYP7B1UHzAp/Oz78="
   },
   "talos": {
     "hash": "sha256-DoO2aGoBkuafPJGNz0opmkFw4wwUgsczA2D0bSXQAlg=",
@@ -1189,31 +1186,31 @@
     "vendorHash": "sha256-FWwHAaUKUw7DyNs4sAlkLkGNj48wMJgpFvfQgbp8lFs="
   },
   "temporalcloud": {
-    "hash": "sha256-ROFjDIzMLifFZAfetpDWOGylyg9Jp6vN9dEDLMZ3tz8=",
+    "hash": "sha256-pjxEcA8K9n70FWMwpTXr8fwOCj/GVmiL9XfKLRLQ6tI=",
     "homepage": "https://registry.terraform.io/providers/temporalio/temporalcloud",
     "owner": "temporalio",
     "repo": "terraform-provider-temporalcloud",
-    "rev": "v0.0.5",
+    "rev": "v0.0.6",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-9sIVFZJXFR0+cJj6xL6bXRTY9dKIB6a+7ZCopeq9upM="
+    "vendorHash": "sha256-2rYaxDDIPH46gXNILnTcHRsChpEd406r4pzWdnHMLNM="
   },
   "tencentcloud": {
-    "hash": "sha256-vcq7DvYv4dHd7nO4iwCWePuPwM2mIMfC438FkpG/Iwo=",
+    "hash": "sha256-Vk1Jc1zSTKoFlNATlx9i5Pn4EzD/uS+RgmUCooMQVx8=",
     "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
     "owner": "tencentcloudstack",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.81.77",
+    "rev": "v1.81.83",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "tfe": {
-    "hash": "sha256-/YEDeDH+6J1p/p0myonruRx4BiYao2zy40kMMb+Jv6o=",
+    "hash": "sha256-5Txgqf/4dh2fsB6guqgLs3PxZs1QB32NzqCFIwM4ogg=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/tfe",
     "owner": "hashicorp",
     "repo": "terraform-provider-tfe",
-    "rev": "v0.52.0",
+    "rev": "v0.53.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-kDR4CB3RAvGC/NkT4PJ7BxI2v8WSfI2mfGSW+d1J2ZI="
+    "vendorHash": "sha256-7rMBmB93dLPyd9VcVc9R8SnXQ0XkU6SHc6j/KiAODVg="
   },
   "thunder": {
     "hash": "sha256-ezolcZ652YUV/CDoNKNRZkiRpRoa5AMqHxeYLxluA5A=",
@@ -1225,13 +1222,13 @@
     "vendorHash": null
   },
   "time": {
-    "hash": "sha256-5AOp6y/Nmu59uB9QXqwkcgakyzAyiAclZ9EJa7+MvpY=",
+    "hash": "sha256-yRYGyDPMR/2+OOjqXj1OhpvYoAUEbgWPcW4PcatPPh8=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/time",
     "owner": "hashicorp",
     "repo": "terraform-provider-time",
-    "rev": "v0.10.0",
+    "rev": "v0.11.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-TrkmjqUJi28sN9POzEuKzKyPQiS1RtVpj9NbsM3jW0I="
+    "vendorHash": "sha256-UZ0DpurmLmju/MG0uhAXgbwQoas94/R9TNT1cyO6pIQ="
   },
   "tls": {
     "hash": "sha256-2K18jY2+oPvelMtZ2o4WJcAPhc93nCvJdHq+VNfmWZI=",
@@ -1262,11 +1259,11 @@
     "vendorHash": null
   },
   "ucloud": {
-    "hash": "sha256-OFnNEmODAluhEzVvQ22jblUhpzIlIvjsYZZmtepAcX8=",
+    "hash": "sha256-u9LxsBKmS80h4y+/nJZ+0+cmQP5gS/I+T5g8H/QlPDA=",
     "homepage": "https://registry.terraform.io/providers/ucloud/ucloud",
     "owner": "ucloud",
     "repo": "terraform-provider-ucloud",
-    "rev": "v1.38.6",
+    "rev": "v1.38.8",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1280,13 +1277,13 @@
     "vendorHash": "sha256-srhu8iepW/JmPrJ7PuXyk0GEWMwzpNpkny33z7ZdrdM="
   },
   "vault": {
-    "hash": "sha256-hxEy9S6BH4pjHzmGu7LMFuV/dXc9oJ4PKLX4TYlxAJo=",
+    "hash": "sha256-jwVc1x2+i4V/0mWRg5+Xpk0ONHC1T55Hof9JOUVAo/s=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/vault",
     "owner": "hashicorp",
     "repo": "terraform-provider-vault",
-    "rev": "v3.25.0",
+    "rev": "v4.1.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-cKD8+YiclFNR9xWr68F17mQjtxhAsPBpXhT6luvXp3I="
+    "vendorHash": "sha256-b/1g/1hFbIfzYJ0lQKNzalLkD95LLRgoftuoeDicalE="
   },
   "vcd": {
     "hash": "sha256-TP9COMofx4c2GZ0dQkfopn4iq8ddfV3WwuNjTu6yQnU=",
@@ -1325,22 +1322,22 @@
     "vendorHash": "sha256-OzcDMLWwnBYIkBcL6U1t9oCNhZZokBUf2TONb+OfgPE="
   },
   "vra7": {
-    "hash": "sha256-dvdsfUKhl1z/iHsh+/2HDb6mEX86P9FgynkzVQgtM5w=",
+    "hash": "sha256-v/0LBzyUUqt+Jx4GubCC2QzKdgt5WrrjZ4YvfxA2+GA=",
     "homepage": "https://registry.terraform.io/providers/vmware/vra7",
     "owner": "vmware",
     "repo": "terraform-provider-vra7",
-    "rev": "v3.0.12",
+    "rev": "v3.0.13",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "vsphere": {
-    "hash": "sha256-VWPKSR6xIph5dnMBSmLB/laY+DmNdshn6+94amCFQ5g=",
+    "hash": "sha256-SATX9BO6tnHW8+oeSeMNP3+opKHBk42va2J8YdrnlUw=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/vsphere",
     "owner": "hashicorp",
     "repo": "terraform-provider-vsphere",
-    "rev": "v2.6.1",
+    "rev": "v2.7.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-d9CdK5AHFZRC89Xko4vyx8jR10fkG1VYGVILlXM7zgw="
+    "vendorHash": "sha256-cHzIOIGy5DT5q5fvQlv56V6/vU0akBFM34M+c2+qIy4="
   },
   "vultr": {
     "hash": "sha256-+J4RHQWOy4Wfv2/8UNHe8g2fp2yAxzqzZZRv749B3Yc=",
@@ -1361,11 +1358,11 @@
     "vendorHash": "sha256-GRnVhGpVgFI83Lg34Zv1xgV5Kp8ioKTFV5uaqS80ATg="
   },
   "yandex": {
-    "hash": "sha256-utRegZYS19yjd1Gnqnet+XKaLop81JrNO+Oq7Gzms1M=",
+    "hash": "sha256-mlai++RjiYFSJLkhyWyKKYs/LFVoKIHtFB2bGmB5DFM=",
     "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
     "owner": "yandex-cloud",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.110.0",
+    "rev": "v0.112.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-eE8gYyIGVBmw02I6j9GoEm2TiOmHGWhOs5pcqj/6PaA="
   }
diff --git a/pkgs/applications/science/engineering/strictdoc/default.nix b/pkgs/applications/science/engineering/strictdoc/default.nix
deleted file mode 100644
index 0caac7a4fe93..000000000000
--- a/pkgs/applications/science/engineering/strictdoc/default.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ lib
-, fetchFromGitHub
-, python3
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "strictdoc";
-  version = "0.0.40";
-  pyproject = true;
-
-  src = fetchFromGitHub {
-    owner = "strictdoc-project";
-    repo = "strictdoc";
-    rev = "refs/tags/${version}";
-    hash = "sha256-kZ8qVhroSPSGAcgUFZb1vRI6JoFyjeg/0qYosbRnwyc=";
-  };
-
-  pythonRelaxDeps = true;
-
-  nativeBuildInputs = with python3.pkgs; [
-    hatchling
-    pythonRelaxDepsHook
-  ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    beautifulsoup4
-    datauri
-    docutils
-    fastapi
-    html5lib
-    jinja2
-    lxml
-    markupsafe
-    pybtex
-    pygments
-    python-multipart
-    reqif
-    selenium
-    setuptools
-    spdx-tools
-    textx
-    toml
-    uvicorn
-    webdriver-manager
-    websockets
-    xlrd
-    xlsxwriter
-  ] ++ uvicorn.optional-dependencies.standard;
-
-  nativeCheckInputs = with python3.pkgs; [
-    httpx
-    pytestCheckHook
-  ];
-
-  pythonImportsCheck = [
-    "strictdoc"
-  ];
-
-  disabledTests = [
-    # fixture 'fs' not found
-    "test_001_load_from_files"
-  ];
-
-  disabledTestPaths = [
-    "tests/end2end/"
-  ];
-
-  meta = with lib; {
-    description = "Software requirements specification tool";
-    mainProgram = "strictdoc";
-    homepage = "https://github.com/strictdoc-project/strictdoc";
-    changelog = "https://github.com/strictdoc-project/strictdoc/releases/tag/${version}";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ yuu ];
-  };
-}
diff --git a/pkgs/applications/science/math/palp/default.nix b/pkgs/applications/science/math/palp/default.nix
index ffe17bc3dec2..2fe77aa14a65 100644
--- a/pkgs/applications/science/math/palp/default.nix
+++ b/pkgs/applications/science/math/palp/default.nix
@@ -10,11 +10,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "palp";
-  version = "2.20";
+  version = "2.21";
 
   src = fetchurl {
     url = "http://hep.itp.tuwien.ac.at/~kreuzer/CY/palp/${pname}-${version}.tar.gz";
-    sha256 = "1q1cl3vpdir16szy0jcadysydcrjp48hqxyx42kr8g9digkqjgkj";
+    sha256 = "sha256-fkp78hmZioRMC8zgoXbknQdDy0tQWg4ZUym/LsGW3dc=";
   };
 
   hardeningDisable = [
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index 129ae0854bd5..a8b65a6961d1 100644
--- a/pkgs/applications/version-management/gh/default.nix
+++ b/pkgs/applications/version-management/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.45.0";
+  version = "2.46.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-jztBWn/1bDTxR/q27RYJM6boFWyduTKAtIn5zIZK2tU=";
+    hash = "sha256-UvHLOG7/IJOzqFSu9Bbho+ldgvvGCiVjJK0epnYxZF8=";
   };
 
-  vendorHash = "sha256-FprVBvYPGWLcUKlWg9JU7yy2KDa/3rceAEHUIYHN4f8=";
+  vendorHash = "sha256-hZ8YGGrkeqI8079KSQM3E8SISb8lzFo4kQx2G+8HpNM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
index e92065486918..7caf12ee76d8 100644
--- a/pkgs/applications/video/davinci-resolve/default.nix
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -31,7 +31,7 @@ let
   davinci = (
     stdenv.mkDerivation rec {
       pname = "davinci-resolve${lib.optionalString studioVariant "-studio"}";
-      version = "18.6.5";
+      version = "18.6.6";
 
       nativeBuildInputs = [
         (appimage-run.override { buildFHSEnv = buildFHSEnvChroot; } )
@@ -52,8 +52,8 @@ let
           outputHashAlgo = "sha256";
           outputHash =
             if studioVariant
-            then "sha256-Ua5R0G4okBpz9SyyA2zn6nVflY9AlWch7Kx6PrW/nMg="
-            else "sha256-oCK7w5jB7h4PSKg2IJwriyAVi/kj4TurloBcfDAe6BQ=";
+            then "sha256-9iTdIjHH8uoXlVr6miyqmHuzbbpbqdJPEbPGycsccoI="
+            else "sha256-WrIQ1FHm65MOGb5HfFl2WzXYJRlqktuZdrtzcjWp1gI=";
 
           impureEnvVars = lib.fetchers.proxyImpureEnvVars;
 
@@ -258,7 +258,7 @@ buildFHSEnv {
     description = "Professional video editing, color, effects and audio post-processing";
     homepage = "https://www.blackmagicdesign.com/products/davinciresolve";
     license = licenses.unfree;
-    maintainers = with maintainers; [ jshcmpbll orivej ];
+    maintainers = with maintainers; [ amarshall jshcmpbll orivej ];
     platforms = [ "x86_64-linux" ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     mainProgram = "davinci-resolve";
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index a3ea0297673d..7ac3dec91f7f 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -120,7 +120,7 @@ init_remote(){
         git config remote.origin.partialclonefilter "blob:none"
         echo "$sparseCheckout" | git sparse-checkout set --stdin ${nonConeMode:+--no-cone}
     fi
-    ( [ -n "$http_proxy" ] && clean_git config http.proxy "$http_proxy" ) || true
+    ( [ -n "$http_proxy" ] && clean_git config --global http.proxy "$http_proxy" ) || true
 }
 
 # Return the reference of an hash if it exists on the remote repository.
diff --git a/pkgs/by-name/de/devenv/Cargo.lock b/pkgs/by-name/de/devenv/Cargo.lock
new file mode 100644
index 000000000000..c7c39688f5c7
--- /dev/null
+++ b/pkgs/by-name/de/devenv/Cargo.lock
@@ -0,0 +1,2126 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "ansiterm"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ab587f5395da16dd2e6939adf53dede583221b320cadfb94e02b5b7b9bf24cc"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "backtrace-ext"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50"
+dependencies = [
+ "backtrace",
+]
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
+[[package]]
+name = "bumpalo"
+version = "3.15.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "castaway"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc"
+dependencies = [
+ "rustversion",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc"
+
+[[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 = "clap"
+version = "3.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+dependencies = [
+ "atty",
+ "bitflags 1.3.2",
+ "clap_derive 3.2.25",
+ "clap_lex 0.2.4",
+ "indexmap 1.9.3",
+ "once_cell",
+ "strsim 0.10.0",
+ "termcolor",
+ "textwrap",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+dependencies = [
+ "clap_builder",
+ "clap_derive 4.5.0",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex 0.7.0",
+ "strsim 0.11.0",
+]
+
+[[package]]
+name = "clap_derive"
+version = "3.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+
+[[package]]
+name = "cli-table"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d"
+dependencies = [
+ "cli-table-derive",
+ "csv",
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "cli-table-derive"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2af3bfb9da627b0a6c467624fb7963921433774ed435493b5c08a3053e829ad4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "compact_str"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f"
+dependencies = [
+ "castaway",
+ "cfg-if",
+ "itoa",
+ "ryu",
+ "static_assertions",
+]
+
+[[package]]
+name = "convert_case"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "core-foundation"
+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 = "csv"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
+dependencies = [
+ "csv-core",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "csv-core"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "darling"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim 0.10.0",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
+dependencies = [
+ "darling_core",
+ "quote",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "devenv"
+version = "1.0.1"
+dependencies = [
+ "ansiterm",
+ "clap 4.5.1",
+ "cli-table",
+ "dotlock",
+ "fs2",
+ "include_dir",
+ "indoc",
+ "miette",
+ "nix",
+ "regex",
+ "reqwest",
+ "schematic",
+ "serde",
+ "serde_json",
+ "serde_yaml",
+ "tempdir",
+ "tracing",
+ "which",
+ "whoami",
+ "xdg",
+]
+
+[[package]]
+name = "devenv-run-tests"
+version = "0.1.0"
+dependencies = [
+ "clap 3.2.25",
+]
+
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "dotlock"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30c541575b952e53113caddb5be24869705052591b534ea11a81a3d4743416a3"
+dependencies = [
+ "tempfile",
+]
+
+[[package]]
+name = "dyn-clone"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
+
+[[package]]
+name = "either"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+dependencies = [
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fs2"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "fuchsia-cprng"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-core",
+ "futures-io",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "garde"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5fa8fb3ffe035745c6194540b2064b2fe275f32367fbb4eb026024b7921e2e5"
+dependencies = [
+ "compact_str",
+ "garde_derive",
+ "once_cell",
+ "regex",
+ "smallvec",
+]
+
+[[package]]
+name = "garde_derive"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf62650515830c41553b72bd49ec20fb120226f9277c7f2847f071cf998325b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "regex",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+
+[[package]]
+name = "h2"
+version = "0.3.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap 2.2.3",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "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 = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "http"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "hyper"
+version = "0.14.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-tls"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+dependencies = [
+ "bytes",
+ "hyper",
+ "native-tls",
+ "tokio",
+ "tokio-native-tls",
+]
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[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 = "include_dir"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e"
+dependencies = [
+ "include_dir_macros",
+]
+
+[[package]]
+name = "include_dir_macros"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown 0.12.3",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.3",
+ "serde",
+]
+
+[[package]]
+name = "indoc"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
+[[package]]
+name = "ipnet"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+
+[[package]]
+name = "is_ci"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45"
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "js-sys"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "markdown"
+version = "1.0.0-alpha.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b0f0025e8c0d89b84d6dc63e859475e40e8e82ab1a08be0a93ad5731513a508"
+dependencies = [
+ "unicode-id",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "miette"
+version = "7.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baed61d13cc3723ee6dbed730a82bfacedc60a85d81da2d77e9c3e8ebc0b504a"
+dependencies = [
+ "backtrace",
+ "backtrace-ext",
+ "miette-derive",
+ "owo-colors",
+ "supports-color",
+ "supports-hyperlinks",
+ "supports-unicode",
+ "terminal_size",
+ "textwrap",
+ "thiserror",
+ "unicode-width",
+]
+
+[[package]]
+name = "miette-derive"
+version = "7.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f301c3f54f98abc6c212ee722f5e5c62e472a334415840669e356f04850051ec"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "native-tls"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
+]
+
+[[package]]
+name = "nix"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.32.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "openssl"
+version = "0.10.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
+]
+
+[[package]]
+name = "openssl-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.101"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
+
+[[package]]
+name = "owo-colors"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
+dependencies = [
+ "fuchsia-cprng",
+ "libc",
+ "rand_core 0.3.1",
+ "rdrand",
+ "winapi",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+dependencies = [
+ "rand_core 0.4.2",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+
+[[package]]
+name = "rdrand"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+dependencies = [
+ "rand_core 0.3.1",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom",
+ "libredox",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.11.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78bf93c4af7a8bb7d879d51cebe797356ff10ae8516ace542b5182d9dcac10b2"
+dependencies = [
+ "base64",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "system-configuration",
+ "tokio",
+ "tokio-native-tls",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "winreg",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustix"
+version = "0.38.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+dependencies = [
+ "base64",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
+name = "ryu"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
+
+[[package]]
+name = "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 = "schemars"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29"
+dependencies = [
+ "dyn-clone",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schematic"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "709e1f0b0a3db267a98da09c89a7818e307cc8daea841e1079eb5f5a02591d54"
+dependencies = [
+ "garde",
+ "indexmap 2.2.3",
+ "markdown",
+ "miette",
+ "reqwest",
+ "schemars",
+ "schematic_macros",
+ "schematic_types",
+ "serde",
+ "serde_json",
+ "serde_path_to_error",
+ "serde_yaml",
+ "starbase_styles",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "schematic_macros"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31af7347544d97d00870a5865d2077dac07c069a5290c26215ddd1138b302590"
+dependencies = [
+ "convert_case",
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "schematic_types"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f3adfbe1c90a6a9643433e490ef1605c6a99f93be37e4c83fe5149fca9698c6"
+
+[[package]]
+name = "security-framework"
+version = "2.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.114"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+dependencies = [
+ "indexmap 2.2.3",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_path_to_error"
+version = "0.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c"
+dependencies = [
+ "itoa",
+ "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 = "serde_yaml"
+version = "0.9.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f"
+dependencies = [
+ "indexmap 2.2.3",
+ "itoa",
+ "ryu",
+ "serde",
+ "unsafe-libyaml",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "smawk"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
+
+[[package]]
+name = "socket2"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "starbase_styles"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e06fa37c027e48ef341787d8c3d26cfbe8507aa4e2e8c61fcba82fe931bb598"
+dependencies = [
+ "dirs",
+ "owo-colors",
+ "supports-color",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
+name = "supports-color"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9829b314621dfc575df4e409e79f9d6a66a3bd707ab73f23cb4aa3a854ac854f"
+dependencies = [
+ "is_ci",
+]
+
+[[package]]
+name = "supports-hyperlinks"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c0a1e5168041f5f3ff68ff7d95dcb9c8749df29f6e7e89ada40dd4c9de404ee"
+
+[[package]]
+name = "supports-unicode"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2"
+
+[[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.51"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c"
+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 = "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 = "tempdir"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
+dependencies = [
+ "rand",
+ "remove_dir_all",
+]
+
+[[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 = "terminal_size"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
+dependencies = [
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
+dependencies = [
+ "smawk",
+ "unicode-linebreak",
+ "unicode-width",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.51",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokio"
+version = "1.36.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "pin-project-lite",
+ "socket2",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-native-tls"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
+dependencies = [
+ "native-tls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-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.51",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-id"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1b6def86329695390197b82c1e244a54a131ceb66c996f2088a3876e2ae083f"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-linebreak"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "unsafe-libyaml"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "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 = "wasite"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.51",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.41"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.51",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+
+[[package]]
+name = "web-sys"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "which"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "whoami"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9"
+dependencies = [
+ "redox_syscall",
+ "wasite",
+ "web-sys",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.3",
+]
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.3",
+ "windows_aarch64_msvc 0.52.3",
+ "windows_i686_gnu 0.52.3",
+ "windows_i686_msvc 0.52.3",
+ "windows_x86_64_gnu 0.52.3",
+ "windows_x86_64_gnullvm 0.52.3",
+ "windows_x86_64_msvc 0.52.3",
+]
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
+
+[[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 = "xdg"
+version = "2.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix
new file mode 100644
index 000000000000..40a4a3d3ef2c
--- /dev/null
+++ b/pkgs/by-name/de/devenv/package.nix
@@ -0,0 +1,41 @@
+{ stdenv, lib, openssl, darwin, libgit2, makeWrapper, nix, pkg-config, rustPlatform, cachix, fetchFromGitHub }:
+
+let
+  devenv_nix = nix.overrideAttrs (old: {
+    version = "2.21-devenv";
+    src = fetchFromGitHub {
+      owner = "domenkozar";
+      repo = "nix";
+      rev = "c5bbf14ecbd692eeabf4184cc8d50f79c2446549";
+      hash = "sha256-zvCqeUO2GLOm7jnU23G4EzTZR7eylcJN+HJ5svjmubI=";
+    };
+    buildInputs = old.buildInputs ++ [ libgit2 ];
+    doCheck = false;
+    doInstallCheck = false;
+  });
+  version = "1.0.1";
+in rustPlatform.buildRustPackage {
+  pname = "devenv";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "cachix";
+    repo = "devenv";
+    rev = "v${version}";
+    hash = "sha256-9LnGe0KWqXj18IV+A1panzXQuTamrH/QcasaqnuqiE0=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+  };
+
+  nativeBuildInputs = [ makeWrapper pkg-config ];
+
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.SystemConfiguration
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/devenv --set DEVENV_NIX ${devenv_nix} --prefix PATH ":" "$out/bin:${cachix}/bin"
+  '';
+}
diff --git a/pkgs/by-name/fo/folio/package.nix b/pkgs/by-name/fo/folio/package.nix
index 2f1da61d9492..44df54adf625 100644
--- a/pkgs/by-name/fo/folio/package.nix
+++ b/pkgs/by-name/fo/folio/package.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "folio";
-  version = "24.06";
+  version = "24.07";
 
   src = fetchFromGitHub {
     owner = "toolstack";
     repo = "Folio";
     rev = version;
-    hash = "sha256-1vjRoGpZvUG/NJcE7YWOdiePK9lLnwuojRb37YgNunI=";
+    hash = "sha256-qYzi9XDwXj/0fUhclCY7WnEisMedoCUKbYlDUvgwimI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/la/lacus/package.nix b/pkgs/by-name/la/lacus/package.nix
new file mode 100644
index 000000000000..1bef9b506093
--- /dev/null
+++ b/pkgs/by-name/la/lacus/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "lacus";
+  version = "1.8.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ail-project";
+    repo = "lacus";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-3sgTt3SsasltChCqHAWyujtUvoLwHWZzfWwlfnJA+zE=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    flask-restx
+    gunicorn
+    lacuscore
+    psutil
+    redis
+    rich
+    werkzeug
+  ];
+
+  meta = with lib; {
+    description = "Capturing system using playwright";
+    homepage = "https://github.com/ail-project/lacus";
+    changelog = "https://github.com/ail-project/lacus/releases/tag/v${version}";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/by-name/mo/mosdepth/package.nix b/pkgs/by-name/mo/mosdepth/package.nix
index 2a2bce125530..dbe5bc87726c 100644
--- a/pkgs/by-name/mo/mosdepth/package.nix
+++ b/pkgs/by-name/mo/mosdepth/package.nix
@@ -2,7 +2,7 @@
 
 buildNimPackage (finalAttrs: {
   pname = "mosdepth";
-  version = "0.3.6";
+  version = "0.3.7";
 
   requiredNimVersion = 1;
 
@@ -10,7 +10,7 @@ buildNimPackage (finalAttrs: {
     owner = "brentp";
     repo = "mosdepth";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-7N42S3xfQRkrBmoLf0DsbLMpVULAFpHm5JugDMDzAgU=";
+    sha256 = "sha256-VyEZNY/P3BfJ3PCRn7R+37XH4gfc9JEOFB0WmrSxpIc=";
   };
 
   lockFile = ./lock.json;
diff --git a/pkgs/by-name/ms/mscompress/package.nix b/pkgs/by-name/ms/mscompress/package.nix
new file mode 100644
index 000000000000..e6bc49feb187
--- /dev/null
+++ b/pkgs/by-name/ms/mscompress/package.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "mscompress";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "stapelberg";
+    repo = "mscompress";
+    rev = finalAttrs.version;
+    hash = "sha256-Urq8CzVfO9tdEUrEya+bUzoNjZQ2TO7OB+h2MTAGwEI=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    install -Dm444 -t $out/share/doc/mscompress ChangeLog README TODO
+  '';
+
+  meta = with lib; {
+    description = ''Microsoft "compress.exe/expand.exe" compatible (de)compressor'';
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/by-name/no/normaliz/package.nix b/pkgs/by-name/no/normaliz/package.nix
new file mode 100644
index 000000000000..be30696ab8fd
--- /dev/null
+++ b/pkgs/by-name/no/normaliz/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gmpxx
+, flint
+, arb
+, nauty
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "normaliz";
+  version = "3.10.1";
+
+  src = fetchFromGitHub {
+    owner = "normaliz";
+    repo = "normaliz";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-nnSauTlS5R6wbaoGxR6HFacFYm5r4DAhoP9IVe4ajdc=";
+  };
+
+  buildInputs = [
+    gmpxx
+    flint
+    arb
+    nauty
+  ];
+
+  outputs = [ "out" "lib" "dev" ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with lib; {
+    homepage = "https://www.normaliz.uni-osnabrueck.de/";
+    description = "An open source tool for computations in affine monoids, vector configurations, lattice polytopes, and rational cones";
+    maintainers = with maintainers; [ yannickulrich ];
+    platforms = with platforms; unix ++ windows;
+    license = licenses.gpl3Plus;
+    mainProgram = "normaliz";
+  };
+})
diff --git a/pkgs/by-name/pr/pretix/language-build.patch b/pkgs/by-name/pr/pretix/language-build.patch
new file mode 100644
index 000000000000..b4043b95446d
--- /dev/null
+++ b/pkgs/by-name/pr/pretix/language-build.patch
@@ -0,0 +1,12 @@
+diff --git a/src/pretix/_build_settings.py b/src/pretix/_build_settings.py
+index d1ea73b84..9e13cdc87 100644
+--- a/src/pretix/_build_settings.py
++++ b/src/pretix/_build_settings.py
+@@ -49,6 +49,7 @@ HAS_MEMCACHED = False
+ HAS_CELERY = False
+ HAS_GEOIP = False
+ SENTRY_ENABLED = False
++LANGUAGES = ALL_LANGUAGES
+ 
+ for entry_point in entry_points(group='pretix.plugin'):
+     INSTALLED_APPS.append(entry_point.module) # noqa: F405
diff --git a/pkgs/by-name/pr/pretix/package.nix b/pkgs/by-name/pr/pretix/package.nix
index dc7fc925f1f5..7b238ff6f8e4 100644
--- a/pkgs/by-name/pr/pretix/package.nix
+++ b/pkgs/by-name/pr/pretix/package.nix
@@ -67,6 +67,10 @@ python.pkgs.buildPythonApplication rec {
     # INSTALLED_APPS, so that their static files are collected.
     ./plugin-build.patch
 
+    # Configure django-statici18n to compile all available languages at
+    # build time.
+    ./language-build.patch
+
     (fetchpatch2 {
       # Allow customization of cache and log directory
       # https://github.com/pretix/pretix/pull/3997
@@ -247,7 +251,6 @@ python.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Ticketing software that cares about your event—all the way";
-    mainProgram = "pretix-manage";
     homepage = "https://github.com/pretix/pretix";
     license = with licenses; [
       agpl3Only
@@ -261,5 +264,7 @@ python.pkgs.buildPythonApplication rec {
       asl20
     ];
     maintainers = with maintainers; [ hexa ];
+    mainProgram = "pretix-manage";
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/by-name/re/renode-unstable/package.nix b/pkgs/by-name/re/renode-unstable/package.nix
index 48ebb6f62959..15fbcdc11fdc 100644
--- a/pkgs/by-name/re/renode-unstable/package.nix
+++ b/pkgs/by-name/re/renode-unstable/package.nix
@@ -7,10 +7,10 @@
   inherit buildUnstable;
 }).overrideAttrs (finalAttrs: _: {
   pname = "renode-unstable";
-  version = "1.14.0+20240315gita7bdc1e0e";
+  version = "1.15.0+20240320git97be875a3";
 
   src = fetchurl {
     url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz";
-    hash = "sha256-mSuu6Tg/O1kSanxKjRLzJv6iYcoytc8u53zU1g8e13A=";
+    hash = "sha256-+1tOZ44fg/Z4n4gjPylRQlRE7KnL0AGcODlue/HLb3I=";
   };
 })
diff --git a/pkgs/by-name/sy/symfony-cli/package.nix b/pkgs/by-name/sy/symfony-cli/package.nix
index e316ae832231..90eb2aeece7c 100644
--- a/pkgs/by-name/sy/symfony-cli/package.nix
+++ b/pkgs/by-name/sy/symfony-cli/package.nix
@@ -10,14 +10,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.8.8";
+  version = "5.8.12";
   vendorHash = "sha256-ACK0JCaS1MOCgUi2DMEjIcKf/nMCcrdDyIdioBZv7qw=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    hash = "sha256-GdmFRGyp4s5G5RTEFKjcrY/OpaEVCgRhNVJbY1F8vk0=";
+    hash = "sha256-eH388JSy6+D1ZIXfuArdmwdBHqwVvZcb+tQXZ/CcsLo=";
   };
 
   ldflags = [
diff --git a/pkgs/desktops/deepin/core/deepin-kwin/default.nix b/pkgs/desktops/deepin/core/deepin-kwin/default.nix
index f31a0a57fb7b..a46088a63dd6 100644
--- a/pkgs/desktops/deepin/core/deepin-kwin/default.nix
+++ b/pkgs/desktops/deepin/core/deepin-kwin/default.nix
@@ -36,13 +36,13 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-kwin";
-  version = "5.25.15";
+  version = "5.25.17";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-aI5wHEFfvZeoz4ykw9dVx/9e96T1Yahs4YZNutv+CYM=";
+    hash = "sha256-Zi6SNNiwty16b3cCMK52zrXqglq8TqK2x8smSD504+o=";
   };
 
   patches = [
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 78b3ed07602b..2371ed651950 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -146,6 +146,12 @@ stdenv.mkDerivation (self: rec {
         --replace-quiet /bin/uname "${coreutils}/bin/uname" \
         --replace-quiet /bin/sh "${stdenv.shell}"
     )
+    # Official source release tarballs will have a version.lispexpr, but if you
+    # want to override { src = ... } it might not exist. It’s required for
+    # building, so create a mock version as a backup.
+    if [[ ! -a version.lisp-expr ]]; then
+      echo '"${version}.nixos"' > version.lisp-expr
+    fi
   '';
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/adjusttext/default.nix b/pkgs/development/python-modules/adjusttext/default.nix
index a97353baa987..6f4ca01a7ac0 100644
--- a/pkgs/development/python-modules/adjusttext/default.nix
+++ b/pkgs/development/python-modules/adjusttext/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "adjusttext";
-  version = "1.0.4";
+  version = "1.1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Phlya";
     repo = "adjusttext";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Lhl6ykx5ynf+pBub5tBUaALm1w/88jbuSXPigE216NY=";
+    hash = "sha256-o/TA/br7sJAcvfIR4uA7a6XRf/enJ/x7N4ys6Of0j3g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/clustershell/default.nix b/pkgs/development/python-modules/clustershell/default.nix
index 87fef1f934cf..c8fbbc7ad9d1 100644
--- a/pkgs/development/python-modules/clustershell/default.nix
+++ b/pkgs/development/python-modules/clustershell/default.nix
@@ -11,11 +11,12 @@
 }:
 
 buildPythonPackage rec {
-  pname = "ClusterShell";
+  pname = "clustershell";
   version = "1.9.2";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "ClusterShell";
+    inherit version;
     hash = "sha256-rsF/HG4GNBC+N49b+sDO2AyUI1G44wJNBUwQNPzShD0=";
   };
 
diff --git a/pkgs/development/python-modules/defang/default.nix b/pkgs/development/python-modules/defang/default.nix
new file mode 100644
index 000000000000..d51573c0dc4f
--- /dev/null
+++ b/pkgs/development/python-modules/defang/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromBitbucket
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "defang";
+  version = "0.5.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromBitbucket {
+    owner = "johannestaas";
+    repo = "defang";
+    rev = "refs/tags/${version}";
+    hash = "sha256-OJfayJeVf2H1/jg7/fu2NiHhRHNCaLGI29SY8BnJyxI=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "defang"
+  ];
+
+  meta = with lib; {
+    description = "Module to defang and refang malicious URLs";
+    homepage = "https://bitbucket.org/johannestaas/defang";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/fpylll/default.nix b/pkgs/development/python-modules/fpylll/default.nix
index 97abc4562fe6..54d3d8f34f79 100644
--- a/pkgs/development/python-modules/fpylll/default.nix
+++ b/pkgs/development/python-modules/fpylll/default.nix
@@ -1,6 +1,7 @@
 { lib
 , fetchFromGitHub
 , buildPythonPackage
+, fetchpatch
 
 # build-system
 , cysignals
@@ -30,6 +31,13 @@ buildPythonPackage rec {
     hash = "sha256-M3ZnDL0Ui3UAa5Jn/Wr5pAHhghP7EAaQD/sx5QZ58ZQ=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/fplll/fpylll/commit/fc432b21fa7e4b9891f5b761b3539989eb958f2b.diff";
+      hash = "sha256-+UidQ5xnlmjeVeVvR4J2zDzAuXP5LUPXCh4RP4o9oGA=";
+    })
+  ];
+
   nativeBuildInputs = [
     cython_3
     cysignals
diff --git a/pkgs/development/python-modules/ipyparallel/default.nix b/pkgs/development/python-modules/ipyparallel/default.nix
index b527195ad915..2ad3df50dfc9 100644
--- a/pkgs/development/python-modules/ipyparallel/default.nix
+++ b/pkgs/development/python-modules/ipyparallel/default.nix
@@ -19,9 +19,9 @@
 buildPythonPackage rec {
   pname = "ipyparallel";
   version = "8.7.0";
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
@@ -33,14 +33,14 @@ buildPythonPackage rec {
   #
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace '"jupyterlab>=3.0.0,==3.*",' ""
+      --replace '"jupyterlab==4.*",' ""
   '';
 
-  nativeBuildInputs = [
+  build-system = [
     hatchling
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     decorator
     entrypoints
     ipykernel
@@ -64,6 +64,7 @@ buildPythonPackage rec {
   meta = with lib;{
     description = "Interactive Parallel Computing with IPython";
     homepage = "https://ipyparallel.readthedocs.io/";
+    changelog = "https://github.com/ipython/ipyparallel/blob/${version}/docs/source/changelog.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fridh ];
   };
diff --git a/pkgs/development/python-modules/lacuscore/default.nix b/pkgs/development/python-modules/lacuscore/default.nix
new file mode 100644
index 000000000000..fa7949eff097
--- /dev/null
+++ b/pkgs/development/python-modules/lacuscore/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, async-timeout
+, buildPythonPackage
+, defang
+, dnspython
+, fetchFromGitHub
+, playwrightcapture
+, poetry-core
+, pythonOlder
+, redis
+, requests
+, pythonRelaxDepsHook
+, sphinx
+, ua-parser
+}:
+
+buildPythonPackage rec {
+  pname = "lacuscore";
+  version = "1.8.10";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "ail-project";
+    repo = "LacusCore";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-X3Bs/eMkpobRqiGB70ujvaIO1xWftEBZFyR9i5eN7/A=";
+  };
+
+  pythonRelaxDeps = [
+    "redis"
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    async-timeout
+    defang
+    dnspython
+    playwrightcapture
+    redis
+    requests
+    sphinx
+    ua-parser
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "lacuscore"
+  ];
+
+  meta = with lib; {
+    description = "The modulable part of Lacus";
+    homepage = "https://github.com/ail-project/LacusCore";
+    changelog = "https://github.com/ail-project/LacusCore/releases/tag/v${version}";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/ltpycld2/default.nix b/pkgs/development/python-modules/ltpycld2/default.nix
index 558dab085dd9..b8e19ae49990 100644
--- a/pkgs/development/python-modules/ltpycld2/default.nix
+++ b/pkgs/development/python-modules/ltpycld2/default.nix
@@ -5,13 +5,14 @@
 }:
 
 buildPythonPackage rec {
-  pname = "LTpycld2";
+  pname = "ltpycld2";
   version = "0.42";
 
   format = "setuptools";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "LTpycld2";
+    inherit version;
     sha256 = "948d0c1ab5518ab4efcbcc3cd73bb29f809f1dfb30f4d2fbd81b175a1ffeb516";
   };
 
diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix
index 3b5216a8382e..92c8dee9b0be 100644
--- a/pkgs/development/python-modules/maestral/default.nix
+++ b/pkgs/development/python-modules/maestral/default.nix
@@ -23,6 +23,7 @@
 , watchdog
 , pytestCheckHook
 , nixosTests
+, pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
@@ -67,6 +68,14 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    # https://github.com/samschott/maestral/commit/2c50d2ddb49a845ea97bd6b0f68c45d723fb304c
+    # Allow the use of survey >= 5
+    # Remove after new maestral release along with pythonRelaxDepsHook
+    "survey"
   ];
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/maya/default.nix b/pkgs/development/python-modules/maya/default.nix
index e96d66826583..96387c8f2575 100644
--- a/pkgs/development/python-modules/maya/default.nix
+++ b/pkgs/development/python-modules/maya/default.nix
@@ -1,30 +1,28 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
-
-# build-system
-, setuptools
-
-# dependencies
 , dateparser
+, fetchFromGitHub
+, freezegun
 , humanize
-, tzlocal
 , pendulum
-, snaptime
-, pytz
-
-# tests
-, freezegun
+, pytest-mock
 , pytestCheckHook
+, pythonOlder
+, pytz
+, setuptools
+, snaptime
+, tzlocal
 }:
 
 buildPythonPackage rec {
   pname = "maya";
   version = "0.6.1";
-  format = "pyproject";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
-    owner = "kennethreitz";
+    owner = "timofurrer";
     repo = "maya";
     rev = "refs/tags/v${version}";
     hash = "sha256-4fUyUqVQk/AcQL3xMnU1cQlF5yiD/N9NPAsUPuDTTNY=";
@@ -33,7 +31,7 @@ buildPythonPackage rec {
   postPatch = ''
     # function was made private in humanize
     substituteInPlace maya/core.py \
-      --replace "humanize.time.abs_timedelta" "humanize.time._abs_timedelta"
+      --replace-fail "humanize.time.abs_timedelta" "humanize.time._abs_timedelta"
   '';
 
   nativeBuildInputs = [
@@ -51,12 +49,24 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     freezegun
+    pytest-mock
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "maya"
+  ];
+
+  disabledTests = [
+    # https://github.com/timofurrer/maya/issues/202
+    "test_parse_iso8601"
+  ];
+
   meta = with lib; {
     description = "Datetimes for Humans";
-    homepage = "https://github.com/kennethreitz/maya";
+    homepage = "https://github.com/timofurrer/maya";
+    changelog = "https://github.com/timofurrer/maya/releases/tag/v${version}";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/nbval/default.nix b/pkgs/development/python-modules/nbval/default.nix
index a2c0591ab12b..cce567bfacb3 100644
--- a/pkgs/development/python-modules/nbval/default.nix
+++ b/pkgs/development/python-modules/nbval/default.nix
@@ -2,13 +2,13 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 , coverage
 , ipykernel
 , jupyter-client
 , nbformat
 , pytestCheckHook
 , pytest
-, six
 , glibcLocales
 , matplotlib
 , sympy
@@ -17,9 +17,9 @@
 buildPythonPackage rec {
   pname = "nbval";
   version = "0.11.0";
-  format = "setuptools";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -30,7 +30,11 @@ buildPythonPackage rec {
     glibcLocales
   ];
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
     coverage
     ipykernel
     jupyter-client
@@ -68,6 +72,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A py.test plugin to validate Jupyter notebooks";
     homepage = "https://github.com/computationalmodelling/nbval";
+    changelog = "https://github.com/computationalmodelling/nbval/releases/tag/${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix
index b375d6111ae0..96288f52e493 100644
--- a/pkgs/development/python-modules/nvchecker/default.nix
+++ b/pkgs/development/python-modules/nvchecker/default.nix
@@ -14,6 +14,9 @@
 , structlog
 , tomli
 , tornado
+, awesomeversion
+, packaging
+, lxml
 }:
 
 buildPythonPackage rec {
@@ -71,6 +74,13 @@ buildPythonPackage rec {
     "-m 'not needs_net'"
   ];
 
+  optional-dependencies = {
+    # vercmp = [ pyalpm ];
+    awesomeversion = [ awesomeversion ];
+    pypi = [ packaging ];
+    htmlparser = [ lxml ];
+  };
+
   meta = with lib; {
     description = "New version checker for software";
     homepage = "https://github.com/lilydjwg/nvchecker";
diff --git a/pkgs/development/python-modules/playwright-stealth/default.nix b/pkgs/development/python-modules/playwright-stealth/default.nix
new file mode 100644
index 000000000000..a805d36f432f
--- /dev/null
+++ b/pkgs/development/python-modules/playwright-stealth/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, playwright
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "playwright-stealth";
+  version = "1.0.6-unstable-2023-09-11";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "AtuboDad";
+    repo = "playwright_stealth";
+    # https://github.com/AtuboDad/playwright_stealth/issues/25
+    rev = "43f7433057906945b1648179304d7dbd8eb10874";
+    hash = "sha256-ZWmuVwjEgrPmfxjvws3TdocW6tyNH++fyRfKQ0oJ6bo=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    playwright
+  ];
+
+  # Tests require Chromium binary
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "playwright_stealth"
+  ];
+
+  meta = with lib; {
+    description = "Playwright stealth";
+    homepage = "https://github.com/AtuboDad/playwright_stealth";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/playwrightcapture/default.nix b/pkgs/development/python-modules/playwrightcapture/default.nix
new file mode 100644
index 000000000000..40fb7397c70a
--- /dev/null
+++ b/pkgs/development/python-modules/playwrightcapture/default.nix
@@ -0,0 +1,82 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, dateparser
+, fetchFromGitHub
+, playwright
+, playwright-stealth
+, poetry-core
+, puremagic
+, pydub
+, pythonOlder
+, pythonRelaxDepsHook
+, pytz
+, requests
+, setuptools
+, speechrecognition
+, tzdata
+, w3lib
+}:
+
+buildPythonPackage rec {
+  pname = "playwrightcapture";
+  version = "1.23.13";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "Lookyloo";
+    repo = "PlaywrightCapture";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-jNTVdGrUQaYHgTxz6zYTdxNQoXEfy/zshherC/gGmng=";
+  };
+
+  pythonRelaxDeps = [
+    "beautifulsoup4"
+    "playwright"
+    "setuptools"
+    "tzdata"
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    dateparser
+    playwright
+    playwright-stealth
+    puremagic
+    pytz
+    requests
+    setuptools
+    tzdata
+    w3lib
+  ];
+
+  passthru.optional-dependencies = {
+    recaptcha = [
+      speechrecognition
+      pydub
+      requests
+    ];
+  };
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "playwrightcapture"
+  ];
+
+  meta = with lib; {
+    description = "Capture a URL with Playwright";
+    homepage = "https://github.com/Lookyloo/PlaywrightCapture";
+    changelog = "https://github.com/Lookyloo/PlaywrightCapture/releases/tag/v${version}";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/speechrecognition/default.nix b/pkgs/development/python-modules/speechrecognition/default.nix
new file mode 100644
index 000000000000..4e50e8260a0f
--- /dev/null
+++ b/pkgs/development/python-modules/speechrecognition/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, pytestCheckHook
+, pythonOlder
+, torch
+, requests
+, setuptools
+, soundfile
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "speechrecognition";
+  version = "3.10.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "Uberi";
+    repo = "speech_recognition";
+    rev = "refs/tags/${version}";
+    hash = "sha256-lO1CW4j5aBnPtemNGsW8cytSa/H+Tb4Jpbfh4Z/0WHk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    requests
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    numpy
+    pytestCheckHook
+    torch
+    soundfile
+  ];
+
+  pythonImportsCheck = [
+    "speech_recognition"
+  ];
+
+  disabledTests = [
+    # Test files are missing in source
+    "test_flac"
+    # Attribute error
+    "test_whisper"
+    # PocketSphinx is not available in Nixpkgs
+    "test_sphinx"
+  ];
+
+  meta = with lib; {
+    description = "Speech recognition module for Python, supporting several engines and APIs, online and offline";
+    homepage = "https://github.com/Uberi/speech_recognition";
+    license = with licenses; [ gpl2Only bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/troposphere/default.nix b/pkgs/development/python-modules/troposphere/default.nix
index adb4df9753a3..f4645afc461b 100644
--- a/pkgs/development/python-modules/troposphere/default.nix
+++ b/pkgs/development/python-modules/troposphere/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "troposphere";
-  version = "4.6.0";
+  version = "4.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "cloudtools";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-DxLgAEuIfO8K42DbkOaPjE+MS6/WKnybDsszuCXwufM=";
+    hash = "sha256-9zzbBtIJ4v+eI0eJZ6vGUABN4i9GLJcMAzerRSnzpqQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yamale/default.nix b/pkgs/development/python-modules/yamale/default.nix
index 38b25bb5191e..ae5705d9970d 100644
--- a/pkgs/development/python-modules/yamale/default.nix
+++ b/pkgs/development/python-modules/yamale/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "yamale";
-  version = "5.0.0";
+  version = "5.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "23andMe";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-T//hmZNVU6zDBaX/79KjdZwaReI4v73Ny7uQGKQREiI=";
+    hash = "sha256-WLI3cL6i7eLfaX1nN8K/fHlrkOm+JdTEscelql6jO44=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/misc/hydra/unstable.nix b/pkgs/development/tools/misc/hydra/unstable.nix
index 3d5d81452af3..a45cb9883b39 100644
--- a/pkgs/development/tools/misc/hydra/unstable.nix
+++ b/pkgs/development/tools/misc/hydra/unstable.nix
@@ -234,8 +234,6 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  dontStrip = true;
-
   doCheck = true;
 
   passthru = {
diff --git a/pkgs/development/tools/misc/rustywind/default.nix b/pkgs/development/tools/misc/rustywind/default.nix
index 7c664aff4bba..f8281f9ca10c 100644
--- a/pkgs/development/tools/misc/rustywind/default.nix
+++ b/pkgs/development/tools/misc/rustywind/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustywind";
-  version = "0.21.0";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "avencera";
     repo = "rustywind";
     rev = "v${version}";
-    hash = "sha256-gcSpifeOWq9kKmOqyO02DbcvR9tyTlE2kVkezpy7D5k=";
+    hash = "sha256-cRgMTM4u8Nm+5eD3rNsx/1+PdS08+0N53m8NAlzVcXc=";
   };
 
-  cargoHash = "sha256-m++IeB0XvfeARkh+yO9WQtc7luz+ThGD5niwwOPobKY=";
+  cargoHash = "sha256-utqo3w5itQa5pJTDWhEYIRj9OAZ+K6SgrPHXi3WE6+Q=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index bfab5ca7eb52..04bb998ab551 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2024-03-11";
-  cargoSha256 = "sha256-fhlz/Yo+UKeG/C5GENyDZYA8O15TF59HpKdUs04qMUE=";
+  version = "2024-03-18";
+  cargoSha256 = "sha256-CZC90HtAuK66zXDCHam9YJet9C62psxkHeJ/+1vIjTg=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-NfeDjQZUrVb9hzBPcqO19s0p/zSOatD5ZK+J7rZiE3c=";
+    sha256 = "sha256-Jd6pmXlwKk5uYcjyO/8BfbUVmx8g31Qfk7auI2IG66A=";
   };
 
   cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index d901fba57af7..0562ff40ac2d 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -4,7 +4,7 @@
 , copyDesktopItems
 , fetchFromGitHub
 , gradle
-, jdk
+, jdk17
 , perl
 
 # for arc
@@ -40,6 +40,7 @@ let
   version = "146";
   buildVersion = makeBuildVersion version;
 
+  jdk = jdk17;
   gradleWithJdk = gradle.override { java = jdk; };
 
   selectedGlew = if enableWayland then glew-egl else glew;
diff --git a/pkgs/kde/gear/akonadi-search/default.nix b/pkgs/kde/gear/akonadi-search/default.nix
index 87f743f86c30..3cc1a01bd878 100644
--- a/pkgs/kde/gear/akonadi-search/default.nix
+++ b/pkgs/kde/gear/akonadi-search/default.nix
@@ -7,7 +7,7 @@
   cargo,
   rustc,
   # provided as callPackage input to enable easier overrides through overlays
-  cargoHash ? "sha256-euUaB+QCwwwPjrUq+3NHt0hjDSW5gch8MwS57KmtIWI=",
+  cargoHash ? "sha256-Mo94kfA4w280YdazhuVaS/vw7B0y9W/LYaHLLnV/3IE=",
 }:
 mkKdeDerivation rec {
   pname = "akonadi-search";
diff --git a/pkgs/kde/gear/angelfish/default.nix b/pkgs/kde/gear/angelfish/default.nix
index 133509e78b7a..2a5f3fed9b3f 100644
--- a/pkgs/kde/gear/angelfish/default.nix
+++ b/pkgs/kde/gear/angelfish/default.nix
@@ -8,7 +8,7 @@
   cargo,
   rustc,
   # provided as callPackage input to enable easier overrides through overlays
-  cargoHash ? "sha256-kkoLWJvPx1Hq+MQkPgTffrTFYgVlVfKdmJq5ExAW1NE=",
+  cargoHash ? "sha256-9l28C8rcUAro/o9SY3rA6xRsman3SrfFLjhPJhiiWfc=",
   qcoro,
 }:
 mkKdeDerivation rec {
diff --git a/pkgs/kde/gear/default.nix b/pkgs/kde/gear/default.nix
index 629711d72286..1ffcdc770e21 100644
--- a/pkgs/kde/gear/default.nix
+++ b/pkgs/kde/gear/default.nix
@@ -2,12 +2,12 @@
   akonadi = callPackage ./akonadi {};
   akonadi-calendar = callPackage ./akonadi-calendar {};
   akonadi-calendar-tools = callPackage ./akonadi-calendar-tools {};
-  akonadiconsole = callPackage ./akonadiconsole {};
   akonadi-contacts = callPackage ./akonadi-contacts {};
   akonadi-import-wizard = callPackage ./akonadi-import-wizard {};
   akonadi-mime = callPackage ./akonadi-mime {};
   akonadi-notes = callPackage ./akonadi-notes {};
   akonadi-search = callPackage ./akonadi-search {};
+  akonadiconsole = callPackage ./akonadiconsole {};
   akregator = callPackage ./akregator {};
   alligator = callPackage ./alligator {};
   analitza = callPackage ./analitza {};
@@ -73,23 +73,23 @@
   kclock = callPackage ./kclock {};
   kcolorchooser = callPackage ./kcolorchooser {};
   kcron = callPackage ./kcron {};
-  kdebugsettings = callPackage ./kdebugsettings {};
-  kdeconnect-kde = callPackage ./kdeconnect-kde {};
   kde-dev-scripts = callPackage ./kde-dev-scripts {};
   kde-dev-utils = callPackage ./kde-dev-utils {};
+  kde-inotify-survey = callPackage ./kde-inotify-survey {};
+  kdebugsettings = callPackage ./kdebugsettings {};
+  kdeconnect-kde = callPackage ./kdeconnect-kde {};
   kdeedu-data = callPackage ./kdeedu-data {};
   kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket {};
   kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers {};
-  kde-inotify-survey = callPackage ./kde-inotify-survey {};
   kdenetwork-filesharing = callPackage ./kdenetwork-filesharing {};
   kdenlive = callPackage ./kdenlive {};
   kdepim-addons = callPackage ./kdepim-addons {};
   kdepim-runtime = callPackage ./kdepim-runtime {};
   kdesdk-kio = callPackage ./kdesdk-kio {};
   kdesdk-thumbnailers = callPackage ./kdesdk-thumbnailers {};
-  kdevelop = callPackage ./kdevelop {};
   kdev-php = callPackage ./kdev-php {};
   kdev-python = callPackage ./kdev-python {};
+  kdevelop = callPackage ./kdevelop {};
   kdf = callPackage ./kdf {};
   kdialog = callPackage ./kdialog {};
   kdiamond = callPackage ./kdiamond {};
@@ -226,9 +226,9 @@
   parley = callPackage ./parley {};
   partitionmanager = callPackage ./partitionmanager {};
   picmi = callPackage ./picmi {};
-  pimcommon = callPackage ./pimcommon {};
   pim-data-exporter = callPackage ./pim-data-exporter {};
   pim-sieve-editor = callPackage ./pim-sieve-editor {};
+  pimcommon = callPackage ./pimcommon {};
   plasmatube = callPackage ./plasmatube {};
   poxml = callPackage ./poxml {};
   qmlkonsole = callPackage ./qmlkonsole {};
diff --git a/pkgs/kde/gear/elisa/default.nix b/pkgs/kde/gear/elisa/default.nix
index 74331ebdace9..459fb247390b 100644
--- a/pkgs/kde/gear/elisa/default.nix
+++ b/pkgs/kde/gear/elisa/default.nix
@@ -1,11 +1,11 @@
 {
   mkKdeDerivation,
   qtmultimedia,
-  vlc,
+  libvlc,
 }:
 mkKdeDerivation {
   pname = "elisa";
 
-  extraBuildInputs = [qtmultimedia vlc];
+  extraBuildInputs = [qtmultimedia libvlc];
   meta.mainProgram = "elisa";
 }
diff --git a/pkgs/kde/gear/kalarm/default.nix b/pkgs/kde/gear/kalarm/default.nix
index 439f92206967..abc93984456f 100644
--- a/pkgs/kde/gear/kalarm/default.nix
+++ b/pkgs/kde/gear/kalarm/default.nix
@@ -1,4 +1,9 @@
-{mkKdeDerivation}:
+{
+  mkKdeDerivation,
+  libcanberra,
+}:
 mkKdeDerivation {
   pname = "kalarm";
+
+  extraBuildInputs = [libcanberra];
 }
diff --git a/pkgs/kde/gear/kdepim-addons/default.nix b/pkgs/kde/gear/kdepim-addons/default.nix
index 66c24a91bdee..9861da5879cd 100644
--- a/pkgs/kde/gear/kdepim-addons/default.nix
+++ b/pkgs/kde/gear/kdepim-addons/default.nix
@@ -8,7 +8,7 @@
   discount,
   alpaka,
   # provided as callPackage input to enable easier overrides through overlays
-  cargoHash ? "sha256-z2W2TxyN6Ye+KUaqz5nPAG5zxeABu/UXWuz+XpDpNfc=",
+  cargoHash ? "sha256-MMCDfCtGDJ+yrfdpZEMxlSh7yWU6de/Pggw7Op7VxQI=",
 }:
 mkKdeDerivation rec {
   pname = "kdepim-addons";
diff --git a/pkgs/kde/generated/sources/gear.json b/pkgs/kde/generated/sources/gear.json
index ba2b94b119b9..392a9c2db414 100644
--- a/pkgs/kde/generated/sources/gear.json
+++ b/pkgs/kde/generated/sources/gear.json
@@ -1,1232 +1,1232 @@
 {
   "akonadi": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadi-24.02.0.tar.xz",
-    "hash": "sha256-ooDLUIgGxAim5i0vkwQDqD5MOn2hCo7x6BGFTl65Bh0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadi-24.02.1.tar.xz",
+    "hash": "sha256-ACW6ZEOazIZBZImCxuyKdm4tKeikmTUERr5ZfIgMccA="
   },
   "akonadi-calendar": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadi-calendar-24.02.0.tar.xz",
-    "hash": "sha256-wxXu+agOTtHuNimKWtTmllexirp3v810zdLVo9CH6j8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadi-calendar-24.02.1.tar.xz",
+    "hash": "sha256-Av2ZpYjIDe0wTocbH/lm91t9drrAu0fmbsYMxvM31f0="
   },
   "akonadi-calendar-tools": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadi-calendar-tools-24.02.0.tar.xz",
-    "hash": "sha256-X9UbkWeptqDHo/Kz5FJFKg0J2EmTBH3Ene6zCtYOwFs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadi-calendar-tools-24.02.1.tar.xz",
+    "hash": "sha256-ZKKFXfEmtk+901SH5Q8hlnNV4BxeFIm8bOocTWaHRDI="
   },
   "akonadiconsole": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadiconsole-24.02.0.tar.xz",
-    "hash": "sha256-dcXQuNA8QABV2vqXgVfH5x0WxYnUaY9bPzPtFFcd36k="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadiconsole-24.02.1.tar.xz",
+    "hash": "sha256-JMTa5yfF05CwZ7xz2BjVAwNNE9iCBKtgqNWEXTN1P1o="
   },
   "akonadi-contacts": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadi-contacts-24.02.0.tar.xz",
-    "hash": "sha256-yv2cLcSOiNydB8hokupUoz7hm7IxuSp2z697p7ssLgQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadi-contacts-24.02.1.tar.xz",
+    "hash": "sha256-LvKss2DcbUMrj4vpQI+bQYJNZSrrxj4LayM6bjVcacc="
   },
   "akonadi-import-wizard": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadi-import-wizard-24.02.0.tar.xz",
-    "hash": "sha256-uOi+zHJ/8DmxoHwtvFAmBvu6kg58/dlKwuE4YEhgAos="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadi-import-wizard-24.02.1.tar.xz",
+    "hash": "sha256-rXuSdjQOUFUwgL4rZ2ADM1tFLxhN3fEMqOIs3jRDuwE="
   },
   "akonadi-mime": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadi-mime-24.02.0.tar.xz",
-    "hash": "sha256-y87KziJ7TIwuPzG34W4AF+II3NlOn1j4Dvk+K4jWkys="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadi-mime-24.02.1.tar.xz",
+    "hash": "sha256-GC6GK0jMGH8eKb+cAGNztoi7PVd00GQdcAvP6Yg4DkE="
   },
   "akonadi-notes": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadi-notes-24.02.0.tar.xz",
-    "hash": "sha256-XmkE4VqAx5ompVQwa+Z9u06aYDk0uFzFzO1iYvcg3tg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadi-notes-24.02.1.tar.xz",
+    "hash": "sha256-CzNK9ydi4Qc55O2DXC4J2digGMyCEjWggq5ZmlwV1ZM="
   },
   "akonadi-search": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akonadi-search-24.02.0.tar.xz",
-    "hash": "sha256-5ks8Y5mDBfvZe5xgOTRfUUyDWFTd6vAwsFjR5MXVvKU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akonadi-search-24.02.1.tar.xz",
+    "hash": "sha256-kqpvnensD1/3jS120r+yzXwh1GURF6Gaqld/4o/2ENg="
   },
   "akregator": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/akregator-24.02.0.tar.xz",
-    "hash": "sha256-tQHuTKvdim1+ojBLdhqfYYelzrwyf5DA4QHbQ9Z7TgU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/akregator-24.02.1.tar.xz",
+    "hash": "sha256-CpAp3MFPP9xuAQdSXUVFIZxIW0kkNwCWHAdXVeHey1I="
   },
   "alligator": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/alligator-24.02.0.tar.xz",
-    "hash": "sha256-6nB+uUCCB2VYtExrY6dZOkXm3uPnv0AaKuayMZl8dNg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/alligator-24.02.1.tar.xz",
+    "hash": "sha256-N8Q4EofbrRLZ3dYh9SHO/T+i/msA184AmxulBghsfZU="
   },
   "analitza": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/analitza-24.02.0.tar.xz",
-    "hash": "sha256-dEK3gEwCyFP3hjfPtLVRqxCGBtLWcxVhfVY4RgeRN7I="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/analitza-24.02.1.tar.xz",
+    "hash": "sha256-UQJFTDDzarfcGYfddrzvxNV9hjrO9wSQyUB6BjL4mU8="
   },
   "angelfish": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/angelfish-24.02.0.tar.xz",
-    "hash": "sha256-gg5uLbHddShRmXb/q8QqdN+NzTuhiddDwdJUjUGX6aA="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/angelfish-24.02.1.tar.xz",
+    "hash": "sha256-duoPmm2k+T9LESWY6lFRSDq6RxfiTOdm1IClXlNLUBQ="
   },
   "arianna": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/arianna-24.02.0.tar.xz",
-    "hash": "sha256-+T65E6LQKhi3Jr8eUsIgUeqNCyXS6rtWF5GRXLwUQTU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/arianna-24.02.1.tar.xz",
+    "hash": "sha256-YC1pp6/aKNJhOsBTPFXxXUhJp+aRevpGeOlc+mOzWWg="
   },
   "ark": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ark-24.02.0.tar.xz",
-    "hash": "sha256-/xH+k1LYqoAgeiHz4CThi0A1y75omrqtIKkf42xFVGk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ark-24.02.1.tar.xz",
+    "hash": "sha256-h0DluVd8xfTriJ2IClan0e54xCK/PjCwDB+qheQUj2Q="
   },
   "artikulate": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/artikulate-24.02.0.tar.xz",
-    "hash": "sha256-z6yNeJzcgJz5T/89stBR7d1OfU44o8FEwTfjMYZZyHw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/artikulate-24.02.1.tar.xz",
+    "hash": "sha256-S0QbrR2YEVHAEa3e5IeLNFp4JL8xLVgrAAVxBCyC0M8="
   },
   "audiocd-kio": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/audiocd-kio-24.02.0.tar.xz",
-    "hash": "sha256-Y105es7pxSgSqfq7Z05W0v85EAHDWVlevtU9+v5Ex+0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/audiocd-kio-24.02.1.tar.xz",
+    "hash": "sha256-LBrYOxFNF18NuN7w4LsaJS8/hMia+vQZmIH4NtNkJuY="
   },
   "audiotube": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/audiotube-24.02.0.tar.xz",
-    "hash": "sha256-XtbcPB9pF9Nabe2QxHlTgmPTxRlDs6c69KVGYCd7lUU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/audiotube-24.02.1.tar.xz",
+    "hash": "sha256-Wf4yFQWlvhrKkAMpCk4BJ19FT9n1O23Cuhi5jwrSzpk="
   },
   "baloo-widgets": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/baloo-widgets-24.02.0.tar.xz",
-    "hash": "sha256-mJnW3Gw4PB9mY8EHs5rmHyIy+oPUtjPnkvY77O10yxw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/baloo-widgets-24.02.1.tar.xz",
+    "hash": "sha256-t94o5H1HD6uohAzAKHMYgoTDcHVyF2qguCHM9G+24+8="
   },
   "blinken": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/blinken-24.02.0.tar.xz",
-    "hash": "sha256-nNV5c4W0BkT3Mpl8i/DTH3BcBofC7PrrlCwz1LKp/XQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/blinken-24.02.1.tar.xz",
+    "hash": "sha256-Fcvs7wjLe+i4N2yivpjGvayghlGXievK0EGty3xNDhc="
   },
   "bomber": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/bomber-24.02.0.tar.xz",
-    "hash": "sha256-zVsnjGobs3GqH8mDL2M+bh3uCY7lzKmZGm0F8doeyU0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/bomber-24.02.1.tar.xz",
+    "hash": "sha256-xepCm6PEOL0x56bvytyNysUo8If6Mes0ehLuwPvrdpY="
   },
   "bovo": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/bovo-24.02.0.tar.xz",
-    "hash": "sha256-Zg/oKI+3qHa9zHsWsRlCdYhTS9ax6ahpOrcA5tWRu+E="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/bovo-24.02.1.tar.xz",
+    "hash": "sha256-L+Nsa2HjMihoNSOHkHlncW0Vn92w+zcTXpLL2oh/jY0="
   },
   "calendarsupport": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/calendarsupport-24.02.0.tar.xz",
-    "hash": "sha256-5GW/iQNSQ5nGeenl2grUVOLF5aQnmgUWKzj4UlreUAU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/calendarsupport-24.02.1.tar.xz",
+    "hash": "sha256-+k4xpqH6cO4Lr2d4okMJM8Rqk4kysrUx9ex7bL+4gs0="
   },
   "calindori": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/calindori-24.02.0.tar.xz",
-    "hash": "sha256-umV2DaNV56clCRw93uOVdVtRpW/JN0ldbfj1/BTz3pM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/calindori-24.02.1.tar.xz",
+    "hash": "sha256-xOl/NExr7+S4R/EWJ3mukUpA7qlPdIfnyH2g7MiG7AU="
   },
   "cantor": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/cantor-24.02.0.tar.xz",
-    "hash": "sha256-FBMsAkFCf1tcv7eXoPtaXEqoJh0RB8+emsB2+ilJOBM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/cantor-24.02.1.tar.xz",
+    "hash": "sha256-VeQu+Ug3obXOQTma6S6GY2b4yElr9gyAs1kZ6U2JZ3g="
   },
   "cervisia": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/cervisia-24.02.0.tar.xz",
-    "hash": "sha256-5gfIBPqqhCWtnjKxPJW5X7CncpMVpFv7DFhKG5cwoNk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/cervisia-24.02.1.tar.xz",
+    "hash": "sha256-qwpJzKV21zH3IvEKYy9amAwhVx+9wP5T5fJg9XJKBz4="
   },
   "colord-kde": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/colord-kde-24.02.0.tar.xz",
-    "hash": "sha256-tY9FuIWeFpT+xqgkowH+Uqb4yXhPg6xjGH80A+wLas8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/colord-kde-24.02.1.tar.xz",
+    "hash": "sha256-ne0O+XzY/YIAtmd0z9nls7CohSOprptlJHpyK0mHI9A="
   },
   "dolphin": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/dolphin-24.02.0.tar.xz",
-    "hash": "sha256-EO8oRZfij5M9i06tddAnWaFd9LzJKO0QtU+AZbdDElc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/dolphin-24.02.1.tar.xz",
+    "hash": "sha256-WXuxLFOYS65zEM2l4G2+2DH9rhpucx9Vu8ZgtKWD2g4="
   },
   "dolphin-plugins": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/dolphin-plugins-24.02.0.tar.xz",
-    "hash": "sha256-ounGHd/4Q/CDpWhtmHGYQTdCh4Ne+PxeHRxDwi/RK+A="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/dolphin-plugins-24.02.1.tar.xz",
+    "hash": "sha256-aOZBKa+BqILPbcGEMp7WuW8yfHj4QLXjlEBtv+F8/qw="
   },
   "dragon": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/dragon-24.02.0.tar.xz",
-    "hash": "sha256-djHdZhIpgo1dziL+nHgsd3GD0GWd6vIs1n7UsroCRts="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/dragon-24.02.1.tar.xz",
+    "hash": "sha256-hRfiNTrDFxDIw12N4afzcMs9UPjyePf1kdDiTYxMDTg="
   },
   "elisa": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/elisa-24.02.0.tar.xz",
-    "hash": "sha256-7LZwAFqjux3Q9AfCrAMxxwMZTPsrE0ZJL/wzYbhAuLQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/elisa-24.02.1.tar.xz",
+    "hash": "sha256-WYXRta6FCieaYDp9OulyTkqLabEdExeQFU4BbmknqA4="
   },
   "eventviews": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/eventviews-24.02.0.tar.xz",
-    "hash": "sha256-BBSMQ4ZdpR2+x1ZfJ5exNv2jW2mAAnJwhu1O2HjlWrs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/eventviews-24.02.1.tar.xz",
+    "hash": "sha256-Ge8W9VBcoUqBFt7Y6n0ysT5LYCxy/EY6XRrfYFOiUrY="
   },
   "falkon": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/falkon-24.02.0.tar.xz",
-    "hash": "sha256-vkmP2e9LF8+oB2HEeS54Ln3B3jqKhVtI/MfJx9c5Fhc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/falkon-24.02.1.tar.xz",
+    "hash": "sha256-cmvSrXk7+pPvAUNKJW4tGrgQMbpj5istI4J95i8u+L0="
   },
   "ffmpegthumbs": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ffmpegthumbs-24.02.0.tar.xz",
-    "hash": "sha256-OD3G1adGS0Q8Fmy0KoUHtZYAaTVtooqRkH12qBeNefE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ffmpegthumbs-24.02.1.tar.xz",
+    "hash": "sha256-lPhtbpsyxQVPfGzlRJ18amKPCoP7ELU3354Ev5Maoog="
   },
   "filelight": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/filelight-24.02.0.tar.xz",
-    "hash": "sha256-B/kH6/xe2zkYo+A5psEexc/GnQ8WhZ2iyBPJmKTCB5Y="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/filelight-24.02.1.tar.xz",
+    "hash": "sha256-nTJvc7jslG1n2guEEoSEcZf20JnoUZaNcKuozhiHt3c="
   },
   "ghostwriter": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ghostwriter-24.02.0.tar.xz",
-    "hash": "sha256-Eool2WoiDLrGcpw3vI/T7mb03CFERbYoLIbdIPnAhUk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ghostwriter-24.02.1.tar.xz",
+    "hash": "sha256-HwOef0LGwgTwG+0UprNl+q/ML8RUMwJY/lImVASnknQ="
   },
   "granatier": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/granatier-24.02.0.tar.xz",
-    "hash": "sha256-TBfFtGeozCPc8+yjQhav4E29a10ixLgfuf8JnlJRcTE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/granatier-24.02.1.tar.xz",
+    "hash": "sha256-r+bAlAVDh/xqy54mx0BlLLQDW40GbKaiKWI7hI/cv4Q="
   },
   "grantlee-editor": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/grantlee-editor-24.02.0.tar.xz",
-    "hash": "sha256-tyCZ7eCMHAN2hrgrtPM5A7qrHkA4A347Km3HBml2RmI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/grantlee-editor-24.02.1.tar.xz",
+    "hash": "sha256-qx9KHDp1OBinXdicgfA9nkLkTVi3Gvh3YI1B13zDr6o="
   },
   "grantleetheme": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/grantleetheme-24.02.0.tar.xz",
-    "hash": "sha256-+3+rHO2P6RU+1KxuihNboTNfO2NDD35btgKIRz+evGg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/grantleetheme-24.02.1.tar.xz",
+    "hash": "sha256-oAIXmh6KXQZ+tICYFQTNLEzysvcnLGZstLOZeHYKS78="
   },
   "gwenview": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/gwenview-24.02.0.tar.xz",
-    "hash": "sha256-A2BtPLoVIPBFVqySsqpEn4Xn2so2pjcWLTPAXsQrsLQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/gwenview-24.02.1.tar.xz",
+    "hash": "sha256-N2YUJq1VB6jrRENA7XyyiqGYPKUrNHH/8dKThe279sw="
   },
   "incidenceeditor": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/incidenceeditor-24.02.0.tar.xz",
-    "hash": "sha256-m0AagRUFacYh52OhxbfqB9JD5KlEXS4m3L6QoUaT45g="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/incidenceeditor-24.02.1.tar.xz",
+    "hash": "sha256-MFvxp4yUEEttrmmStC8XZUSbceeaye5mHhtPsXyFIKM="
   },
   "isoimagewriter": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/isoimagewriter-24.02.0.tar.xz",
-    "hash": "sha256-SEu12ZECvXRGfBnHb1o7Ezbg9SlOBKNBEKExCucVn4Y="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/isoimagewriter-24.02.1.tar.xz",
+    "hash": "sha256-X6e0h5LuPkm1fmdhmfLy0iRAfDQtS50/jrZskGaKlmE="
   },
   "itinerary": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/itinerary-24.02.0.tar.xz",
-    "hash": "sha256-bWOrwT/OTNCATb/BybfGWVuDOXJ1i9jYIH4SEKXnyUM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/itinerary-24.02.1.tar.xz",
+    "hash": "sha256-MxXLjWKkWsqBaiBNT/7oJuSJ9zyLY5hFgLfghY9VUYY="
   },
   "juk": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/juk-24.02.0.tar.xz",
-    "hash": "sha256-YvDfysvTJJ8vmxPxUdTRbuLClnWvBJxAnt6st+nxiIE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/juk-24.02.1.tar.xz",
+    "hash": "sha256-xsBd/xGDy7bd1zBIIaHLeEvjehaqVizBbKBwu4N4m0U="
   },
   "k3b": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/k3b-24.02.0.tar.xz",
-    "hash": "sha256-LySlx84ps6u88Uqu6SR2I1bc8PXqwAUfg6kt75v3tRw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/k3b-24.02.1.tar.xz",
+    "hash": "sha256-DFIJiptgT1kK6w1gdIioF3y/zIwr/4TO4qEYhtgk+bY="
   },
   "kaccounts-integration": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kaccounts-integration-24.02.0.tar.xz",
-    "hash": "sha256-V4hCWECE4TYop68C52cxIiRMmgMISoUmYfTc5MVtgA4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kaccounts-integration-24.02.1.tar.xz",
+    "hash": "sha256-5WjxGpeRnG7dMR3pOyAbFTKAOT7Re45aGIbpq/DG5ow="
   },
   "kaccounts-providers": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kaccounts-providers-24.02.0.tar.xz",
-    "hash": "sha256-z2WVslg4ebPwwNFFnczrD5L6MqNknxsSzQ8eAinJV+4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kaccounts-providers-24.02.1.tar.xz",
+    "hash": "sha256-LTJQuEMXQd05p6NfqQxnqY0SLBHeq8QKzG+sRonTJak="
   },
   "kaddressbook": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kaddressbook-24.02.0.tar.xz",
-    "hash": "sha256-ZJFhF7zun1SSOrvOr8cz2wClLDjjnhvJHi3Ibqq8yvU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kaddressbook-24.02.1.tar.xz",
+    "hash": "sha256-vQAs0OMNryyfN9vrIw2qVr93jEiYdjtdhe02Vq/9Rcc="
   },
   "kajongg": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kajongg-24.02.0.tar.xz",
-    "hash": "sha256-Z+jXMjDPZA7aHP3bi2z7yObjiiRibr5yylyZYxNdQws="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kajongg-24.02.1.tar.xz",
+    "hash": "sha256-3drKhXpjfmZLYWKdlEKbBF2YwjreZQ2mEReln6vH4FE="
   },
   "kalarm": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kalarm-24.02.0.tar.xz",
-    "hash": "sha256-AbS/EHNMlH4ohh34ljytllPYsWyFXRvjk3y+v58pWeY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kalarm-24.02.1.tar.xz",
+    "hash": "sha256-PilL0nOvkRrbeQwU7p5/mXimsTmlTXab6/DTba2VV9k="
   },
   "kalgebra": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kalgebra-24.02.0.tar.xz",
-    "hash": "sha256-j6aVhapPHfbSCb4lpWVfjsIRbp9SX/h7tx6EYFAmKM4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kalgebra-24.02.1.tar.xz",
+    "hash": "sha256-Kz/FUDjtTC+ORzKVaBmWJo+793OOboE2A4Qnqz+CAng="
   },
   "kalk": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kalk-24.02.0.tar.xz",
-    "hash": "sha256-ncrjNBgbtfUMDmSSV9M9xgSTnydDG3lvGlx2+eeV26k="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kalk-24.02.1.tar.xz",
+    "hash": "sha256-1vhwf/coKYE+f2HD2AK63wWnqshaHaKPPUX9SASXvi4="
   },
   "kalzium": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kalzium-24.02.0.tar.xz",
-    "hash": "sha256-DuxtcEFqvoJrNygPdOBelvKftrmxtkV1W4CPxYptlak="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kalzium-24.02.1.tar.xz",
+    "hash": "sha256-1MZNdbwbpJBt6RDTaxer6sWx48768qCmYAnQsIQchMg="
   },
   "kamera": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kamera-24.02.0.tar.xz",
-    "hash": "sha256-fU41VmagdArlDX0S/hkHG9RYfslutZvB1l2KWO1w5zI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kamera-24.02.1.tar.xz",
+    "hash": "sha256-y2suGBR+WwIw4yn+oxPCm7uramx5Prvq6uRjt7gvBJM="
   },
   "kamoso": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kamoso-24.02.0.tar.xz",
-    "hash": "sha256-epVdLiMWDVUEG5bfdWdPLxPeJswJSwXUV3nBOY8/mrk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kamoso-24.02.1.tar.xz",
+    "hash": "sha256-r38iH4VMzMr88L2oidf3I0+j3rZQTZzQoUAFJGGXeCk="
   },
   "kanagram": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kanagram-24.02.0.tar.xz",
-    "hash": "sha256-Wgc3wkuJ16RmH73J80NXdOPhe7bbRA60NwjYH0zagZU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kanagram-24.02.1.tar.xz",
+    "hash": "sha256-iVIkBFT9j1ZVTNQEIjWQII3eXhpqPB/88Ej6XEI7jJo="
   },
   "kapman": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kapman-24.02.0.tar.xz",
-    "hash": "sha256-VFzdFH0GWG1Q624zmQIWob45ezlIr9rWeEoeo769meg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kapman-24.02.1.tar.xz",
+    "hash": "sha256-NBv611cCzlXRrP+yg0JMr78chI9woLveHnBFCYF19Vo="
   },
   "kapptemplate": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kapptemplate-24.02.0.tar.xz",
-    "hash": "sha256-3XWfNVlUBrackatgMith9yyKtVsSgiIrFm1dvaOu3uE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kapptemplate-24.02.1.tar.xz",
+    "hash": "sha256-8pdu/O5XCAJqrcLTstBfsB6QVRmhnvr8L2NbLzvCYq4="
   },
   "kasts": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kasts-24.02.0.tar.xz",
-    "hash": "sha256-4h2+kJakb87fk7k+Ole7HYihk5zAUULk2ckN2XCHuec="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kasts-24.02.1.tar.xz",
+    "hash": "sha256-AebMpVbJpnzPl+S1xlCxrDjfvVcFeY1Rx89tPz7gf0w="
   },
   "kate": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kate-24.02.0.tar.xz",
-    "hash": "sha256-mx78zPTjbvzbwuraY5nNgSjOGHoZGCQAMTBi917jX0g="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kate-24.02.1.tar.xz",
+    "hash": "sha256-y3h/fUm7D5ubUL+A2DurGnE9MlqWvwnhBvY3IfwbAS0="
   },
   "katomic": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/katomic-24.02.0.tar.xz",
-    "hash": "sha256-HCADUPHtuGBJCGpi8+r0NZEOmqXOfinMhanEgCcgCP4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/katomic-24.02.1.tar.xz",
+    "hash": "sha256-7QFXSPHe/FYsjWoruEpok4F+0OGK8vFAlAD/4H8G+zs="
   },
   "kbackup": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kbackup-24.02.0.tar.xz",
-    "hash": "sha256-6zDO95RC7D1Dp9mrAYtRdeuez8PDKmm65PpNdlxekr0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kbackup-24.02.1.tar.xz",
+    "hash": "sha256-q1r+bz9oU3zPDILId9Kizm0na90a0wNRH3J/Cq8vS34="
   },
   "kblackbox": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kblackbox-24.02.0.tar.xz",
-    "hash": "sha256-hw6ONCbMwWRN3+9614vM14m6Ctvl7Ws0P95cRRYQc00="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kblackbox-24.02.1.tar.xz",
+    "hash": "sha256-nMiV7Sk18WJasbnRrrsZxNpmpBHULXkUXUk2ZdPqgOQ="
   },
   "kblocks": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kblocks-24.02.0.tar.xz",
-    "hash": "sha256-vVvjY9VfjNWMhNgA1y3n+nvx73p1GszZTJ6ZJyd1fXc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kblocks-24.02.1.tar.xz",
+    "hash": "sha256-StHJx7ALrk+fgwkwxFQThR6jTlPnHnnScvQB1UMfBh8="
   },
   "kbounce": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kbounce-24.02.0.tar.xz",
-    "hash": "sha256-X1B1rBy1D4CEcBT7VpRmIUS2C0in4KaZsESVFHH+8lg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kbounce-24.02.1.tar.xz",
+    "hash": "sha256-1hxzgufyV2qsjBl8Wi9uPi/kNVULpRdiwebE+wTPflw="
   },
   "kbreakout": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kbreakout-24.02.0.tar.xz",
-    "hash": "sha256-K5JdwUuyO517uUFIozLfaYcZ8ki8P0htz3rFqn/UHl4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kbreakout-24.02.1.tar.xz",
+    "hash": "sha256-7hoh48B2wh8Jg2r55GY8yFOp3XXMad0pbd77OLPcn6o="
   },
   "kbruch": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kbruch-24.02.0.tar.xz",
-    "hash": "sha256-hC8ZOpn3PJ9dZQLA+czyHiORVx/tyJDi2D6QdM8m38U="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kbruch-24.02.1.tar.xz",
+    "hash": "sha256-3MVi4m1fRdJWcNM+4LaU6ufv6rqwi4kzBzW3O9b9LAU="
   },
   "kcachegrind": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kcachegrind-24.02.0.tar.xz",
-    "hash": "sha256-4R1RYWUKVNsiREsZPVIee9jJcLiwguFYgxmDdG4BZfU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kcachegrind-24.02.1.tar.xz",
+    "hash": "sha256-dN2VjEOSSbv7PmqPCCEHM4h6b5gVftMv5sJv1AL3EBU="
   },
   "kcalc": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kcalc-24.02.0.tar.xz",
-    "hash": "sha256-wZtjnWMr7h7fPp+DLnmB9WcaErRktGeLpS27H/8vx8U="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kcalc-24.02.1.tar.xz",
+    "hash": "sha256-38lcv0vVrLBgCs6tpL9hNrC+YfPOU9KzXsKxSnjhrK8="
   },
   "kcalutils": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kcalutils-24.02.0.tar.xz",
-    "hash": "sha256-gXZ+Fd8kNPxDpcfLi/YAKrNVDONP1Hxtzlh49VuSuD8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kcalutils-24.02.1.tar.xz",
+    "hash": "sha256-Q+2OQnGYKfDri64BexbADMLiEErmMcDBumuArKtT8bY="
   },
   "kcharselect": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kcharselect-24.02.0.tar.xz",
-    "hash": "sha256-YTDOe4n1Fk/taeiZ8xuxGMgASKIRYdLiK5Tlwg0GjaQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kcharselect-24.02.1.tar.xz",
+    "hash": "sha256-EfUYASrSHsT+9a7FV59b8pEqFaMEWoKfp2o54b6t5qE="
   },
   "kclock": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kclock-24.02.0.tar.xz",
-    "hash": "sha256-WwoZuoUwZ6JhdpKbxlOVAx3pMFVVZgYtGaLuFPiIYkY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kclock-24.02.1.tar.xz",
+    "hash": "sha256-r4ILyI1KJrI19WCDp0cEkfto/RfDaC3zQi8Q0jYj6Fg="
   },
   "kcolorchooser": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kcolorchooser-24.02.0.tar.xz",
-    "hash": "sha256-Nic2tvUMD2EJtroFjRQUmifhaRgkvGQj5xhkldpBkSM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kcolorchooser-24.02.1.tar.xz",
+    "hash": "sha256-/Bh1XVUd2YrALSrefK4XEqJsnuRZ49XvvDSkR0SUAs4="
   },
   "kcron": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kcron-24.02.0.tar.xz",
-    "hash": "sha256-X/hkM7avtAUMKEsfFf0lCBcreZWoZnY24nQqjZvPFaM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kcron-24.02.1.tar.xz",
+    "hash": "sha256-Cjx+APBWa98vPPbFdAHveMw8fipluaBV3akHVmCUdoM="
   },
   "kdebugsettings": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdebugsettings-24.02.0.tar.xz",
-    "hash": "sha256-Kk1DsnxGel6uS/pWyxecBnflYyMipu+qHjmCVBctZqo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdebugsettings-24.02.1.tar.xz",
+    "hash": "sha256-CyRldtyEjsf8Ltj+Kk1KisZxRbZ79A/c/xXvEJwzzzo="
   },
   "kdeconnect-kde": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdeconnect-kde-24.02.0.tar.xz",
-    "hash": "sha256-2VxbNpPRS5VPsJoi0vwXEoFapCR0DL9YcsQKWe1CTg0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdeconnect-kde-24.02.1.tar.xz",
+    "hash": "sha256-tbmGuvBKUculcFEJrzQaGOz6FO7aZV7wgd5GzJDr7OI="
   },
   "kde-dev-scripts": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kde-dev-scripts-24.02.0.tar.xz",
-    "hash": "sha256-AOmjoUY5frMMQ2Oj1fsQVc0xDd5oRfBrWApgVmZ5tp0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kde-dev-scripts-24.02.1.tar.xz",
+    "hash": "sha256-/yL24UopmlijxngpHG32JGZ1t1H9dz57wPONX/hpY44="
   },
   "kde-dev-utils": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kde-dev-utils-24.02.0.tar.xz",
-    "hash": "sha256-Ug4MlnOicBnOkGkHT3j/cujRiQ7ho/LpfFJyRPcEMUk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kde-dev-utils-24.02.1.tar.xz",
+    "hash": "sha256-K+/xZoe65DtnczsXmz89DQiBCtnIwslq3fEKXeb136A="
   },
   "kdeedu-data": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdeedu-data-24.02.0.tar.xz",
-    "hash": "sha256-Cl2akMYUdnn/NszV0PhgdZjj2J/RPlKawdZQksoX728="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdeedu-data-24.02.1.tar.xz",
+    "hash": "sha256-FHoiFRO4qzNGCLOPrcgzagFJJdo9urw6PDePgxd7EBU="
   },
   "kdegraphics-mobipocket": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdegraphics-mobipocket-24.02.0.tar.xz",
-    "hash": "sha256-fCNtFpIZJqvY0TuAk0UG0XglrsSU99gUEEjmKydIS4I="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdegraphics-mobipocket-24.02.1.tar.xz",
+    "hash": "sha256-eT3rVPR8V8s8+aQXSFzfvTF4K+UZu94vWyIGqwLXE6g="
   },
   "kdegraphics-thumbnailers": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdegraphics-thumbnailers-24.02.0.tar.xz",
-    "hash": "sha256-GsDPFZgrHXcBKxOEXlJUwjCiYi0q/Z76d2lfaGElaos="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdegraphics-thumbnailers-24.02.1.tar.xz",
+    "hash": "sha256-qaoCAV9OOBYU/+RHANJ5Q0TngI0kVLs80QSjNb6BiXE="
   },
   "kde-inotify-survey": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kde-inotify-survey-24.02.0.tar.xz",
-    "hash": "sha256-UPil14KZALlNu9dtqTCFR8qggT3pMz3G54GV6BqG0+E="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kde-inotify-survey-24.02.1.tar.xz",
+    "hash": "sha256-NHjq4xJnIm3K357flSvR+fQIESxDTzhTg6zK0c3yl3w="
   },
   "kdenetwork-filesharing": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdenetwork-filesharing-24.02.0.tar.xz",
-    "hash": "sha256-I/MUm00NLduYUFRDJm6vzYy1+XAJ6RMnG5QSyTaczm0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdenetwork-filesharing-24.02.1.tar.xz",
+    "hash": "sha256-Hw6RdVS/bIup/CxwQ+TRH1wLvwMCU9VD8FjZ/45subc="
   },
   "kdenlive": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdenlive-24.02.0.tar.xz",
-    "hash": "sha256-E1qR6ZGOtjH+uCK2eGJfNVfpW2pehr3h06wd9jQBUUY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdenlive-24.02.1.tar.xz",
+    "hash": "sha256-H3dHUlmoLFui2U7pdfSuqpsMDbElUEwT73GLFAhXUFY="
   },
   "kdepim-addons": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdepim-addons-24.02.0.tar.xz",
-    "hash": "sha256-AOUdgRbc1HIqLhaPhwBPYjyIyHX28CvbeMFmrBoLfCc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdepim-addons-24.02.1.tar.xz",
+    "hash": "sha256-svL5Zz5fbHvc8eoG3RGQvBDLot/55qyHqgubGRuhrcU="
   },
   "kdepim-runtime": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdepim-runtime-24.02.0.tar.xz",
-    "hash": "sha256-XNqKp7PYp71Sb73SDfMPVqLc8QqETYim9xuRIgZ7qzU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdepim-runtime-24.02.1.tar.xz",
+    "hash": "sha256-ryPUPhEt6uXGLr+EEXlhRjFvfC5L0vIQGiRqGe3lhVg="
   },
   "kdesdk-kio": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdesdk-kio-24.02.0.tar.xz",
-    "hash": "sha256-MMdAZZqtHukDGhnCo9dV/Xj4HwK7rCfJkM6iLezDoFk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdesdk-kio-24.02.1.tar.xz",
+    "hash": "sha256-AskK0wqOfEd7FNgwF666l9kEGvZOVZu44oe4Eyw6JEU="
   },
   "kdesdk-thumbnailers": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdesdk-thumbnailers-24.02.0.tar.xz",
-    "hash": "sha256-RPh4+mDQPeznFzSnu5LqN3Y+2hDWAjll+rFfwuojMwc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdesdk-thumbnailers-24.02.1.tar.xz",
+    "hash": "sha256-k9f7/AoAWhStHwk6IPuWOT2erCVSMXbpqpdfxFg+K4M="
   },
   "kdevelop": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdevelop-24.02.0.tar.xz",
-    "hash": "sha256-ICrN+1Oxve65kV6rGgBW0ZAEDYgJA4lQvy7I1E+oHhk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdevelop-24.02.1.tar.xz",
+    "hash": "sha256-X8ySelNvTx5IrvvmMwNZPoix9mV+WItiQOlhazNKno8="
   },
   "kdev-php": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdev-php-24.02.0.tar.xz",
-    "hash": "sha256-c/SC70a3Glz7eLiGwmz9DWGCdISGgeYEdSj6ypbQ60k="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdev-php-24.02.1.tar.xz",
+    "hash": "sha256-FaJvtKymwgrB4AN3MWLbIlGnBzIuQ+8dZDQewsnT+Hs="
   },
   "kdev-python": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdev-python-24.02.0.tar.xz",
-    "hash": "sha256-qUsJfgsXoHBxWlG4f98xRWZ2frnlNaJ4Dt81Jl007Cs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdev-python-24.02.1.tar.xz",
+    "hash": "sha256-ZisKfm1q/LGiDQNqe2Q7gXdEqW5Qz9bbLq8WxV4gUhk="
   },
   "kdf": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdf-24.02.0.tar.xz",
-    "hash": "sha256-vJ9rEouG1m7ZwRjndGSQQKY0L7dnsyfc4h9UuK3Mw08="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdf-24.02.1.tar.xz",
+    "hash": "sha256-OGla8UQrbjUS3F7xekOun8zrLKsvOeLijqlypOwI2kg="
   },
   "kdialog": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdialog-24.02.0.tar.xz",
-    "hash": "sha256-d0odH6oCW2iC72XoBtc6fRlWClYOnBzerMAgKwHwvd0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdialog-24.02.1.tar.xz",
+    "hash": "sha256-GwPx/cJcCT6sXAjSWAYYu7L/r47xADr7ROaw7J9+Bwg="
   },
   "kdiamond": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kdiamond-24.02.0.tar.xz",
-    "hash": "sha256-0yKSPPbSn83ewxlPF55FtEAZXG3eXR7lsypLvxx5epo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kdiamond-24.02.1.tar.xz",
+    "hash": "sha256-6jCltKvGAn2CCUyYPy6tIh0sMsgctESARL6s+Rnc/gg="
   },
   "keditbookmarks": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/keditbookmarks-24.02.0.tar.xz",
-    "hash": "sha256-GLvT+HyhIlVIjXDipYiS6YOFeB8epo/qvU/JZXtVhgc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/keditbookmarks-24.02.1.tar.xz",
+    "hash": "sha256-dO9GQSe91o8og0MEbVcvOEsiyg/qAEROqEMbcg7bc+A="
   },
   "keysmith": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/keysmith-24.02.0.tar.xz",
-    "hash": "sha256-6V+kxaDMZuzGYoOSueOiszrN2zLZ/gV5JTQZWYv7IEs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/keysmith-24.02.1.tar.xz",
+    "hash": "sha256-9lSvHpgX1olv72bkVSbyimahE6kycsibnb0tF/jjHGo="
   },
   "kfind": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kfind-24.02.0.tar.xz",
-    "hash": "sha256-wrhF9gz4z8VH7RgAZ/IdrgFdzKySLTxwXesLn1lDAAc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kfind-24.02.1.tar.xz",
+    "hash": "sha256-MFXVeG+XsxqetpS0AdgxiSLm979QyJS7KohOWUj/gPQ="
   },
   "kfourinline": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kfourinline-24.02.0.tar.xz",
-    "hash": "sha256-liP40dPpgoBr5uFnzHsCD7FDjHKOTemIQNV6lHrto3M="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kfourinline-24.02.1.tar.xz",
+    "hash": "sha256-OGAJRLhtB5tOGKpAbBo3c+gPpk/RpmRSvMXJoFBLZps="
   },
   "kgeography": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kgeography-24.02.0.tar.xz",
-    "hash": "sha256-CUVKlvIaUF7aC20A/Fx3GvR48/3FivY3/iRBHobxcbY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kgeography-24.02.1.tar.xz",
+    "hash": "sha256-cMjrZ8cY6QHV0alE4iS8e3M2cOm9IrbRkLZ/JQJwd9s="
   },
   "kget": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kget-24.02.0.tar.xz",
-    "hash": "sha256-Z4sJOWwHfKt/5euOJ1qFNElSKfMZW6xmldicV7i+Ru4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kget-24.02.1.tar.xz",
+    "hash": "sha256-kavgEdXSwPZX1Z0gVw6apmEmDQ0fEIG/70nlPS0Cc7c="
   },
   "kgoldrunner": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kgoldrunner-24.02.0.tar.xz",
-    "hash": "sha256-9kEUKpW/YFUC5/8RwunRMGr/A0R8sUG1IlIK1pNDcBk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kgoldrunner-24.02.1.tar.xz",
+    "hash": "sha256-ihBI+OwqJl6OV03acT4cidobbTHVW250igvG4jLodoM="
   },
   "kgpg": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kgpg-24.02.0.tar.xz",
-    "hash": "sha256-G+Jh+Gax8epW0a18wGuRsC54TQHsB+lER5vgQn32eAc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kgpg-24.02.1.tar.xz",
+    "hash": "sha256-lXOR7KtG0HC/vL6wwmiHRhrH2hFKziJqXWdxqJZDBGM="
   },
   "khangman": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/khangman-24.02.0.tar.xz",
-    "hash": "sha256-DsBcVkZmEepMS4ba0vkNRtcyUp/R1LdJsPLxTS82pvE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/khangman-24.02.1.tar.xz",
+    "hash": "sha256-CRb2ZXqcDII2SvUgiGXEoBFoDyNw5tmPb2hHyHvW5Gc="
   },
   "khealthcertificate": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/khealthcertificate-24.02.0.tar.xz",
-    "hash": "sha256-sDjTpv1FzmwZuA0piU0P/gNvfLr4/Pz9kopfui5rpEk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/khealthcertificate-24.02.1.tar.xz",
+    "hash": "sha256-e6O8EK39YcwJNuQpMGMppymzSPVvFQd2il2dzp5eLAA="
   },
   "khelpcenter": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/khelpcenter-24.02.0.tar.xz",
-    "hash": "sha256-+YKRgB6Do66nVs5jdciWRs7dcVaW9oypDFpXOHGSkMY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/khelpcenter-24.02.1.tar.xz",
+    "hash": "sha256-+UZLX3+obVIFY0bfAni2lGEVEp19X/quyB/seE3W0RQ="
   },
   "kidentitymanagement": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kidentitymanagement-24.02.0.tar.xz",
-    "hash": "sha256-/dTFko8UEiwztPl891h6B2iebRaLOlajG3+mDXFJBIw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kidentitymanagement-24.02.1.tar.xz",
+    "hash": "sha256-yuz+AH6ypNSJE93/6KHvBQVqayWTAcgBKAUiU0DkZj0="
   },
   "kig": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kig-24.02.0.tar.xz",
-    "hash": "sha256-YLxI/ZxPybmoMP+AaZPfrLn2SwKmPgzliKFgxT+m4KM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kig-24.02.1.tar.xz",
+    "hash": "sha256-AAy4xamCvZc65VqfJ1AuMDWahT7BB88UGlaH3atn03k="
   },
   "kigo": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kigo-24.02.0.tar.xz",
-    "hash": "sha256-atr3+yK3mBjznenbcHoWuQXUYZs9++727QtggeF8Km0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kigo-24.02.1.tar.xz",
+    "hash": "sha256-meIDrWp+qdOWt0OAw8l0f+feZAcSLbsWkNuwMw2vS54="
   },
   "killbots": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/killbots-24.02.0.tar.xz",
-    "hash": "sha256-zMNzSdlypSwSFMofkSHSwSJOTWyUHNSjLGppBcuemaE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/killbots-24.02.1.tar.xz",
+    "hash": "sha256-xHrFUsD0MMgxTPVw0LpsOh+LJFQydYgyr88+iuKN1to="
   },
   "kimagemapeditor": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kimagemapeditor-24.02.0.tar.xz",
-    "hash": "sha256-hBaiCHRMZ3WeK4eKnq+9fXCjwIdKJfTmUENVW4ip0ao="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kimagemapeditor-24.02.1.tar.xz",
+    "hash": "sha256-z2Zp7Bu2w7vrj2eHg8keERYIDio1R8qV/nhhdjCKPEw="
   },
   "kimap": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kimap-24.02.0.tar.xz",
-    "hash": "sha256-5e/gxzfBjDArMThPQ4HcgmaNZw346uPfGFPdieojtwY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kimap-24.02.1.tar.xz",
+    "hash": "sha256-VUKXCdOYElGWvD6RWO32yfdVznFKs8/13zmPO7F5sO4="
   },
   "kio-admin": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kio-admin-24.02.0.tar.xz",
-    "hash": "sha256-z/rba5KQk00NkBpghVByi/X62o4FDY5fqUHDdaCHmQ8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kio-admin-24.02.1.tar.xz",
+    "hash": "sha256-xFObulemM3xn7Zg431fCShW4izNObBG1uiTz2WO9czI="
   },
   "kio-extras": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kio-extras-24.02.0.tar.xz",
-    "hash": "sha256-gFWWyWqZtSKzrraZK8YMFKHEzNIA4CcUPo3tlIyZYt8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kio-extras-24.02.1.tar.xz",
+    "hash": "sha256-f3CKF0U5k9t5ffeNU7aK81hsuhXg24iCjamsuDIKDMA="
   },
   "kio-extras-kf5": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kio-extras-kf5-24.02.0.tar.xz",
-    "hash": "sha256-LxNk8XF1rRzhkbw/IhaFRX9YZKVH1GzLcqYWKD2ArFM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kio-extras-kf5-24.02.1.tar.xz",
+    "hash": "sha256-9bpXRQKYgyksaHli0CVJUQ2rR3TocMaePWi4oy+z1gk="
   },
   "kio-gdrive": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kio-gdrive-24.02.0.tar.xz",
-    "hash": "sha256-ufTXGrtoZydhFRrmapKugC8If0Ek6n5qpzZUIiRxkBM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kio-gdrive-24.02.1.tar.xz",
+    "hash": "sha256-rA4vcxKhr3QVMnSXddTsrifrr2HhUp7CXfao2k2zVd8="
   },
   "kio-zeroconf": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kio-zeroconf-24.02.0.tar.xz",
-    "hash": "sha256-vW6U6K+KGlgDznjyDUDMxpR9tOsE0Gf5Uj18hpYfcU8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kio-zeroconf-24.02.1.tar.xz",
+    "hash": "sha256-+WychaU9d7PnW4G9sIBKozcXbK4QOhZMFMi3Xdn4k1U="
   },
   "kipi-plugins": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kipi-plugins-24.02.0.tar.xz",
-    "hash": "sha256-5Auv82sYRsypHu0KD2P2Wr9pfXYTxHM4iWJv8fPSGWA="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kipi-plugins-24.02.1.tar.xz",
+    "hash": "sha256-PvquTKHj4eKhwuHhYzm4Fr+f/OBPVZRMFrEF+iZlIz0="
   },
   "kirigami-gallery": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kirigami-gallery-24.02.0.tar.xz",
-    "hash": "sha256-G+pLnuMoJU72rsrdrh0djhHAADThWHvIKyp2yi5iTIw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kirigami-gallery-24.02.1.tar.xz",
+    "hash": "sha256-o6rFvbPcYvVFMJBVqzo3KNpJRbBQeMpQrdOecYPSqG0="
   },
   "kiriki": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kiriki-24.02.0.tar.xz",
-    "hash": "sha256-4pbohCmFYQdO+KTAJ48/fCHxRFtkXW3H3mKVZe7FBrs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kiriki-24.02.1.tar.xz",
+    "hash": "sha256-N97jHeNyHseLr34xI4EV804yaJsDfan0Vuw37cFZ0hA="
   },
   "kiten": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kiten-24.02.0.tar.xz",
-    "hash": "sha256-et2aCiEidVKUc8Wc5OR/hsmHu8ITY9yW7VwjvglZYYE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kiten-24.02.1.tar.xz",
+    "hash": "sha256-An2TME2mmk+hlGGiQ2u5WH3aYCa/TJFq3zvJeIcWoJk="
   },
   "kitinerary": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kitinerary-24.02.0.tar.xz",
-    "hash": "sha256-4YxiNjYH3XaQkunhX84+ACUNcG940cfYrSg1vGINl3o="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kitinerary-24.02.1.tar.xz",
+    "hash": "sha256-kDEuG3nNpcTEDQ/yjMViy+0syWHD1m64Kh70uvhLsVg="
   },
   "kjournald": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kjournald-24.02.0.tar.xz",
-    "hash": "sha256-pPTLND/FD6UK7BYfKP9VznALXC9Fo4qrJtTNBCAounQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kjournald-24.02.1.tar.xz",
+    "hash": "sha256-FDF9ktlqZ0SNcq0M+psx/7dM0uPjFpnEu3XzR6wwYf4="
   },
   "kjumpingcube": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kjumpingcube-24.02.0.tar.xz",
-    "hash": "sha256-qfwO/Kmzxdalf+u0cS9pIXCJIt9HqfBG8IXVx5OoS7w="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kjumpingcube-24.02.1.tar.xz",
+    "hash": "sha256-VAhjxtdL+eX3Ipa8XP4GA6CgMxKKAtStsdzORyU96wU="
   },
   "kldap": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kldap-24.02.0.tar.xz",
-    "hash": "sha256-AT2c3pSO84rZRRAT5FTDnbcD/Hw3w6kWcKmp5kX8VRo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kldap-24.02.1.tar.xz",
+    "hash": "sha256-YcToycp9CFxEPgxpJigLA9SfDlzjdKZKJDR9nVnsx6M="
   },
   "kleopatra": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kleopatra-24.02.0.tar.xz",
-    "hash": "sha256-uRSG9ACE2IaCQzkwHfA434RjKj2BuSVNh3NCQNzZmDg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kleopatra-24.02.1.tar.xz",
+    "hash": "sha256-b4eQAX3mQyX/3vLij9VFC6ZRC1KXm0hrHbO/of3QK5U="
   },
   "klettres": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/klettres-24.02.0.tar.xz",
-    "hash": "sha256-uNL+4Ady3ZLHyE9S+ACb2AFoFKdd35DZh3bgbsrvYXs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/klettres-24.02.1.tar.xz",
+    "hash": "sha256-3gHuaRDld2u2vhwci6O6BMvIgjKiRTDXcZeMKdFaYLM="
   },
   "klickety": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/klickety-24.02.0.tar.xz",
-    "hash": "sha256-4FiMmSQgF1bo/jgTZwb+32K8hGLZj2SBkr1denfnNag="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/klickety-24.02.1.tar.xz",
+    "hash": "sha256-EREo5aYkjqCldP0pr1rKdL6QfGGjABFaOoIR2hbTk1w="
   },
   "klines": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/klines-24.02.0.tar.xz",
-    "hash": "sha256-72TJ5HDcHIUcEAEqj6v10HEXBIfyfzyzHMahNgs8so4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/klines-24.02.1.tar.xz",
+    "hash": "sha256-4kEckyk0Zm3Z08EjurtwoLBbI4lPGH9zF0ItFoR4J0Q="
   },
   "kmag": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmag-24.02.0.tar.xz",
-    "hash": "sha256-puRJXUqvOU7mDf+L3ysEtLLT1vzeEJJdiP3cn2WTK/w="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmag-24.02.1.tar.xz",
+    "hash": "sha256-lMN4nlaxv05D2iXPS+oyL9Rn6tNJgZFRlXyAag6QSuA="
   },
   "kmahjongg": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmahjongg-24.02.0.tar.xz",
-    "hash": "sha256-aNWmPk40em68VIQjXhA6CEACqxYmNcBfCchx3zzdBh4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmahjongg-24.02.1.tar.xz",
+    "hash": "sha256-3FlxIZIXOMEn7yj0NBSldr0JBKQlKQL2OmUTbS0aKEE="
   },
   "kmail": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmail-24.02.0.tar.xz",
-    "hash": "sha256-NDPwJTVR00DYoPI8HyotUQbhJ+DcnIK+PTCz/DPDd5k="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmail-24.02.1.tar.xz",
+    "hash": "sha256-yK7BFWRCqrP8l/iHWposWCW9Eg0hcho3reIrqsyOBdE="
   },
   "kmail-account-wizard": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmail-account-wizard-24.02.0.tar.xz",
-    "hash": "sha256-MShJn7xViuFpGQWgGr+OKPcQQm4VrPsoaOHKcWM0XcE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmail-account-wizard-24.02.1.tar.xz",
+    "hash": "sha256-1OeMfxGjKjI85Hw/ew4+N7g8mAivTxxMar5rqZw+ekY="
   },
   "kmailtransport": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmailtransport-24.02.0.tar.xz",
-    "hash": "sha256-0esQYgfuuIss9vKzs6R++IGD21ATmpFJ26DXKAXgT6o="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmailtransport-24.02.1.tar.xz",
+    "hash": "sha256-Vk1q7+VVk0nV3IUTzbVx7Sx0jCoN0YXfycdb3BMadLs="
   },
   "kmbox": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmbox-24.02.0.tar.xz",
-    "hash": "sha256-bqjqQ0g0idRGf1KBYxAa9PsZ6jNmTHKFeyq/6KRo9AM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmbox-24.02.1.tar.xz",
+    "hash": "sha256-fx5uxNwNi6Hmpb88ml0tMUvj0CfgrG74Pwf2elm+pNo="
   },
   "kmime": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmime-24.02.0.tar.xz",
-    "hash": "sha256-TxJRSE8Ytu7fYskhmlBOY1feWt/0AWzDSnFN0Mt0gGU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmime-24.02.1.tar.xz",
+    "hash": "sha256-OQSnGenx2F+ozgueZ2PZvu+BOsR3kGMCh8SiMTn6cdY="
   },
   "kmines": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmines-24.02.0.tar.xz",
-    "hash": "sha256-iuyasRb2vN+5Qo+DkLW3LvULiDqMOHikluDJqzjn/cU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmines-24.02.1.tar.xz",
+    "hash": "sha256-KovvXvynhZhrfzwaFeNt/HT6mZKfZk3Ji773mmYyBGg="
   },
   "kmix": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmix-24.02.0.tar.xz",
-    "hash": "sha256-kcmI6fq5xVPMWakgKzpkvQhmpOPDI2++1Hw4U7Z2gX8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmix-24.02.1.tar.xz",
+    "hash": "sha256-8yN9RuxRgRIdnQ15qRjBKiPEaqUSEggOnzbtJV8jFj0="
   },
   "kmousetool": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmousetool-24.02.0.tar.xz",
-    "hash": "sha256-iLM2UIgD2/t26aPIlx2kZ0JHOMmsNwZMr+UARXepbOo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmousetool-24.02.1.tar.xz",
+    "hash": "sha256-mFG4cm89fTqmok5Lt8ef2+pSF0hemVinpT5toPd4fJ0="
   },
   "kmouth": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmouth-24.02.0.tar.xz",
-    "hash": "sha256-7aRXYrRkOMnUIZG6Ks2IaTKL9IpmSfGzRZ2G9+XJ5Gw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmouth-24.02.1.tar.xz",
+    "hash": "sha256-cCYOYk3jij58Wfv1cAmRg2xrkW/1pU0c41w+2Zby03s="
   },
   "kmplot": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kmplot-24.02.0.tar.xz",
-    "hash": "sha256-ui6FaOEBxKuXMHcqPg0+X04hwpk7rRee5hod+68EWHY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kmplot-24.02.1.tar.xz",
+    "hash": "sha256-GQkcr4PdUG2bJK6kSilOwbCdWa2RCh7U6V4oWC9hTdA="
   },
   "knavalbattle": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/knavalbattle-24.02.0.tar.xz",
-    "hash": "sha256-VxD8HBZTIeczXpjGV/WDw9Qt2nMEyVvQElDmNlNU4ZI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/knavalbattle-24.02.1.tar.xz",
+    "hash": "sha256-07heKsP8WAzOEuYtXWkkuKjZEW17o+ghYrnltcEW00g="
   },
   "knetwalk": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/knetwalk-24.02.0.tar.xz",
-    "hash": "sha256-PiBdDwXA8NMJ8nMqBENjsZkiLqdi+81wzzniAfbvN1w="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/knetwalk-24.02.1.tar.xz",
+    "hash": "sha256-WIQhgzMMzxOeIJLeVNo9biFXUB0496lWnb5HyZv/BbQ="
   },
   "knights": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/knights-24.02.0.tar.xz",
-    "hash": "sha256-QjCT6HJOzjNtFHbgD8zhFSe9OuVVeCGdoxOGh4e+HfA="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/knights-24.02.1.tar.xz",
+    "hash": "sha256-GEuoqesR0hU0ks4Z6nPmD9tR5G0ToTwPOxx9l8eqIGI="
   },
   "knotes": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/knotes-24.02.0.tar.xz",
-    "hash": "sha256-QELnoh1ac9ZvmhdyCxBBCDx9G6I+RfRlid+9eYMj/t0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/knotes-24.02.1.tar.xz",
+    "hash": "sha256-k4ViH8ymUbSrO2Hb6XoY9AT+T4Pbc3A0IX9cdnjIZaY="
   },
   "koko": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/koko-24.02.0.tar.xz",
-    "hash": "sha256-b51ePO2XLLPB9UFinnFgLOJWy2omwzQH7xb+QCDL8do="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/koko-24.02.1.tar.xz",
+    "hash": "sha256-n88NiQIYRwWnT5hQX/ekQhrQbk0VrPUrM+FZNwajSzo="
   },
   "kolf": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kolf-24.02.0.tar.xz",
-    "hash": "sha256-g28WB/Ynb5Fa+4gyV9tQriTudp4XiW87rTpRpKgLFC4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kolf-24.02.1.tar.xz",
+    "hash": "sha256-QyWutEJOqz9bJMS6+1QcC9XFH83v36lMVPsOcoVTfkk="
   },
   "kollision": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kollision-24.02.0.tar.xz",
-    "hash": "sha256-945+1QG9Y1wEHz9R9jyhZgqjho6gznmhVLxmGDughT4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kollision-24.02.1.tar.xz",
+    "hash": "sha256-pmpnATag0bz8jBwwz0pObDEwcDIxO7w14Ac3xlsbERM="
   },
   "kolourpaint": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kolourpaint-24.02.0.tar.xz",
-    "hash": "sha256-TWUkBV91X13c66eXureQmubABLZpP7Svb8bw8incn08="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kolourpaint-24.02.1.tar.xz",
+    "hash": "sha256-eFXnoqPx5n6ctlAXsPzK5f+KvJ3M/DaeUeiEdaVNsdk="
   },
   "kompare": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kompare-24.02.0.tar.xz",
-    "hash": "sha256-b1gwy6sew3OkOLVxkb/hzRKPcnGmHLNN3aU5O47iN74="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kompare-24.02.1.tar.xz",
+    "hash": "sha256-S+U1U7/uwi5LP6AyNiGOkgY+ZAzlxIcUEJmIjzlURyo="
   },
   "kongress": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kongress-24.02.0.tar.xz",
-    "hash": "sha256-t4QsBIC8Bb3q5BZyG64qvxW1Vc5nF02ZZwXkqAvyJNk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kongress-24.02.1.tar.xz",
+    "hash": "sha256-gKFwPMNBZL6clFdoJXEeVjqlakFqMMmLMwzWdj0k6lc="
   },
   "konqueror": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/konqueror-24.02.0.tar.xz",
-    "hash": "sha256-eWMepFIch+Soam/VinRA3sWrunK9gVcvwq+uyLG1NkE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/konqueror-24.02.1.tar.xz",
+    "hash": "sha256-FQXVzeZEgBtOWKw30VLgWLDXdTA5YsBPnFmuMYFE84U="
   },
   "konquest": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/konquest-24.02.0.tar.xz",
-    "hash": "sha256-ez/sNbLqLjQK43QKNS9r7th9MghtBpyurF2vBGJ1m+c="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/konquest-24.02.1.tar.xz",
+    "hash": "sha256-Ar0nrb4VPXVKte89amcXbgQdLQ7wvyF6yVwxJPTZQns="
   },
   "konsole": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/konsole-24.02.0.tar.xz",
-    "hash": "sha256-KRXtzYVlUr1hme+yPcrxlGBe5PswfHXidgYZglPf3+A="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/konsole-24.02.1.tar.xz",
+    "hash": "sha256-xaJ324Si9hdRJQuJx/mE39t3UNntX2ik+uIo2JrnLIU="
   },
   "kontact": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kontact-24.02.0.tar.xz",
-    "hash": "sha256-4kVTXlOvLk/aQxWIAjKfWAuMivFprFew4rrqLDkk5Yw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kontact-24.02.1.tar.xz",
+    "hash": "sha256-9/0jDEBVJzawVUclfHN8Lk+4oI1uHuIRagt9WxN9As8="
   },
   "kontactinterface": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kontactinterface-24.02.0.tar.xz",
-    "hash": "sha256-c4WDAWz/AexNYGiNOzKUiyvJ2U9VvnZtQU6LTM9+484="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kontactinterface-24.02.1.tar.xz",
+    "hash": "sha256-0rUauivPPGTeBP70fTgJcFVLrt6dIwQ3dhXVf0Frblg="
   },
   "kontrast": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kontrast-24.02.0.tar.xz",
-    "hash": "sha256-kZUHEuCNOSR4N+MqU73BFgP9SE10om3WNEQQ5oLGERw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kontrast-24.02.1.tar.xz",
+    "hash": "sha256-jUbETKPfPYNTQhSVNclH2nTQu+kOOx/6tm4/gYsn5Yw="
   },
   "konversation": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/konversation-24.02.0.tar.xz",
-    "hash": "sha256-yNdUoY/x9olK1YHJe5TDJj5L4jihfjL5woyWBkuBguk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/konversation-24.02.1.tar.xz",
+    "hash": "sha256-zGHf0FZoDD4GoNp03ALTGdEty60cLHg14AQV6TiGbA0="
   },
   "kopeninghours": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kopeninghours-24.02.0.tar.xz",
-    "hash": "sha256-CVo8wVkB/EGBat0MrLmNpGQ1ZnrCS+GOxV9vugWBhHc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kopeninghours-24.02.1.tar.xz",
+    "hash": "sha256-3uYpi5DcWS4qo4qc15rIpSGMCcm/5pL33X6pSXrQBqs="
   },
   "korganizer": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/korganizer-24.02.0.tar.xz",
-    "hash": "sha256-QlHvzihgYE2yOqAjSy/tq+4irqL2k3klm/7HOwzQCTI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/korganizer-24.02.1.tar.xz",
+    "hash": "sha256-7mkERr791pON8F0yOSqIVMbvU6seiHoUfUb67mkOLzE="
   },
   "kosmindoormap": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kosmindoormap-24.02.0.tar.xz",
-    "hash": "sha256-+Id+XQ4viBs16Jez1Y5Wue8jrs8eqL4MsvSwHLXXNjQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kosmindoormap-24.02.1.tar.xz",
+    "hash": "sha256-ZYxKngOYxe2F+sIwIlag3DiwXyCMJkPCF2oV5kfu+BM="
   },
   "kpat": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kpat-24.02.0.tar.xz",
-    "hash": "sha256-oPGn3s2Q9T5usfetmW2QqfxKtJzKpJdupNBA1XahxpI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kpat-24.02.1.tar.xz",
+    "hash": "sha256-wgJzlfiX5fYzNfMlr8CiwUdke4wKltkwuYKH4RQmNSs="
   },
   "kpimtextedit": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kpimtextedit-24.02.0.tar.xz",
-    "hash": "sha256-8T3ON2k8xMlaAFp6zoniAeoQD/leLlshXFVMKnjwXzM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kpimtextedit-24.02.1.tar.xz",
+    "hash": "sha256-bVVlBuUI6CXX6lxsDOyP4Lue8ozLXjRthW2+HsNhmpc="
   },
   "kpkpass": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kpkpass-24.02.0.tar.xz",
-    "hash": "sha256-ouOv4Ezasv17JTbZsOzzQDbSdNKqNk3gN81WCfs7CN8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kpkpass-24.02.1.tar.xz",
+    "hash": "sha256-g5w+snfXxDb2s4/cp3YPuIkH8tKQMJW+0ICONCGEJqM="
   },
   "kpmcore": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kpmcore-24.02.0.tar.xz",
-    "hash": "sha256-TFxQqVCupwU2FvmqhtKcHS4PG9sSHBfMMefh5zpi3tE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kpmcore-24.02.1.tar.xz",
+    "hash": "sha256-hzWLOUD3Jbt+7XzyiVu7r0C7fKnOS/6DM1tkgLvqVXg="
   },
   "kpublictransport": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kpublictransport-24.02.0.tar.xz",
-    "hash": "sha256-it3FzeMe1U2dGMckeq79ZpveEKjNdkA3hN0Lz/nNIvg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kpublictransport-24.02.1.tar.xz",
+    "hash": "sha256-ybOXJqJKVaY6mqVe7/lUezbcvzVaIm28fs7GWJTjlww="
   },
   "kqtquickcharts": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kqtquickcharts-24.02.0.tar.xz",
-    "hash": "sha256-fkgwCdCdZs6pkmBCqHO+u4Wx2Jcy2sAXRdEY2FghHM8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kqtquickcharts-24.02.1.tar.xz",
+    "hash": "sha256-URO0ju6e2dgW+/vorgMQnNG08AZ9GXtUyPwx6LMzweY="
   },
   "krdc": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/krdc-24.02.0.tar.xz",
-    "hash": "sha256-yA0xsjleWb2hXnp2Cx4dQUs2QWeREmCJKujh9gYyomE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/krdc-24.02.1.tar.xz",
+    "hash": "sha256-LXpCIKSHMq8auNbHfbqe+vyLzyuX5Yk+qYfTa4xa3Hs="
   },
   "krecorder": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/krecorder-24.02.0.tar.xz",
-    "hash": "sha256-Aelia5F4KOfdrJsCCJHLD6A519RkpiL8uYPf478CdV0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/krecorder-24.02.1.tar.xz",
+    "hash": "sha256-1paQ9V3Phg+vOgCxoUfE6oZfzvjiqJFScpja0KM2BE8="
   },
   "kreversi": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kreversi-24.02.0.tar.xz",
-    "hash": "sha256-w724cLuA8cZnE1NFmAj1qIN1YIIEwvcIS6KZbBjk880="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kreversi-24.02.1.tar.xz",
+    "hash": "sha256-O6ObAxrms3bqY6IQVgbN6YzMus4jrQVw50AtMMjFTAY="
   },
   "krfb": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/krfb-24.02.0.tar.xz",
-    "hash": "sha256-rglGiRVq5Gz1z0QPH0QXx60HxeLhNW7yAyT00KmofDo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/krfb-24.02.1.tar.xz",
+    "hash": "sha256-gOcU6c7u7EWAo33CIA8VU2pN5rnIvmFqrL+qk5y16PE="
   },
   "kross-interpreters": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kross-interpreters-24.02.0.tar.xz",
-    "hash": "sha256-Prit+XIbYbKF+g3BU9ikbyNEtufMYjP5yGHkq78IogE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kross-interpreters-24.02.1.tar.xz",
+    "hash": "sha256-a16KfyAcdQy16vEXiCQL/y/KnhRdDyD+IAnZAFWpxWM="
   },
   "kruler": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kruler-24.02.0.tar.xz",
-    "hash": "sha256-f9xZX0SwZ0O081hSWbcSfMISBXr1bpaq3tBOt6wPvNU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kruler-24.02.1.tar.xz",
+    "hash": "sha256-GlKxCBdiWi+Vq8tpNAhFwBfuh3IYXATmPYeoH57W0ZE="
   },
   "ksanecore": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ksanecore-24.02.0.tar.xz",
-    "hash": "sha256-kwh3N/xzTFTPIySSG2terw94ZDBsRJaUKUS5NSzbIds="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ksanecore-24.02.1.tar.xz",
+    "hash": "sha256-tP5YVU/i49afOZ1nTZR4yg6N6GXd+70Y+OaWY4Ryc3M="
   },
   "kshisen": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kshisen-24.02.0.tar.xz",
-    "hash": "sha256-nmaObTESP6O/uUAL/cm6h0iHI+WIHdpuiypp9AiyjA8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kshisen-24.02.1.tar.xz",
+    "hash": "sha256-G7qxIYVx9qjamvdJAGka/VJNF+Z4c5MjzdivU8Tcb7E="
   },
   "ksirk": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ksirk-24.02.0.tar.xz",
-    "hash": "sha256-NBBpFUJ8TGlEywsU8VhzNd5Q690EPWdTTIX7SuWnIyg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ksirk-24.02.1.tar.xz",
+    "hash": "sha256-q1JPsk3JOtlCQhaa8XWq2ryIK+J//vLN7K/2POVGbGs="
   },
   "ksmtp": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ksmtp-24.02.0.tar.xz",
-    "hash": "sha256-Cp/7MrUGfJbZAuYl1Rolb7syn5gU8NpC07UWF7RYqQg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ksmtp-24.02.1.tar.xz",
+    "hash": "sha256-+l9FJKNt+DK7FMQxYTMnUb9XaFCUpON+N45pQz+yA00="
   },
   "ksnakeduel": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ksnakeduel-24.02.0.tar.xz",
-    "hash": "sha256-oJJ0kNVrROMTGEbCuBRATby/40v2DtPrMnsylhIx9tw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ksnakeduel-24.02.1.tar.xz",
+    "hash": "sha256-1pZ0QcR04K/gSwSYJYwBs9lzWJ801wng2ZEp3qHAQfU="
   },
   "kspaceduel": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kspaceduel-24.02.0.tar.xz",
-    "hash": "sha256-tGLVSZcKlE2QNFe4ByV87jeA2hhXJQPkxjPARq2YyvE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kspaceduel-24.02.1.tar.xz",
+    "hash": "sha256-h0vf8JMJrn/naMulfWohKtP5SCvOGsIkL+/q3eh9cTw="
   },
   "ksquares": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ksquares-24.02.0.tar.xz",
-    "hash": "sha256-q5ISgFe3KKSFNgyTpAcCu54rdLlEJR8QOld/jVEfUJo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ksquares-24.02.1.tar.xz",
+    "hash": "sha256-DboQSbWFohEq3BEkKDYBKXDGxSH5cILkNnrzP7rbOLo="
   },
   "ksudoku": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ksudoku-24.02.0.tar.xz",
-    "hash": "sha256-l9acSyIMd1NfAvWDtWPut3KIrjnBes3OCKLwhQ8SwCY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ksudoku-24.02.1.tar.xz",
+    "hash": "sha256-k6COovaysFQOE14ttgj4hupg48uochBJuxqm6BXrit0="
   },
   "ksystemlog": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ksystemlog-24.02.0.tar.xz",
-    "hash": "sha256-digHzjZOgBQtG3GuG0jXkyCSBe17F6vIOPUUqLd3WB4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ksystemlog-24.02.1.tar.xz",
+    "hash": "sha256-gKmG+fARxOPqxfJ1KMnDix4UgmiHuEAJJREtqbQIgE4="
   },
   "kteatime": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kteatime-24.02.0.tar.xz",
-    "hash": "sha256-S/g5mERK1NPOXnxqk2HkxjQHzad2mq+H6QSLWEUzY34="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kteatime-24.02.1.tar.xz",
+    "hash": "sha256-Auys6i81t4EmW9ckGd3+5ZY8dNyUkP0KNeno7w6W0+4="
   },
   "ktimer": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ktimer-24.02.0.tar.xz",
-    "hash": "sha256-cJM+CATWOSUrEb2MTWXBiFSHoriTPMgX/o26uOBzvV4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ktimer-24.02.1.tar.xz",
+    "hash": "sha256-WXT188ue5fVlIfKnyGsMK90zKtye4Fikxn2+s/cB+P0="
   },
   "ktnef": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ktnef-24.02.0.tar.xz",
-    "hash": "sha256-t+GnG81B3aO3kjrvOeFbiZiFjWgMPXegAf7HAnE++xA="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ktnef-24.02.1.tar.xz",
+    "hash": "sha256-DRR9P0qb1OzGBImvdMFCZeAFKQRz8szfWGrTiXgl7JU="
   },
   "ktorrent": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ktorrent-24.02.0.tar.xz",
-    "hash": "sha256-A4Rafv53jU3H7TlvKE8J1nB9UG1rOmQDnsZLrKWJMFo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ktorrent-24.02.1.tar.xz",
+    "hash": "sha256-KboMnk3IWJefLFjEPTkD+kQVrNWrhYh1ZsfBN5G2oG4="
   },
   "ktouch": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ktouch-24.02.0.tar.xz",
-    "hash": "sha256-fWaMAVhzGN1LeknttVXpblgYblhGbHKIuxeRZscjW1s="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ktouch-24.02.1.tar.xz",
+    "hash": "sha256-X8rmkJGEKe2e+ctYjcGbQ7r5v/d9O82F3D9waNkPc3w="
   },
   "ktrip": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ktrip-24.02.0.tar.xz",
-    "hash": "sha256-RPJv4m8r+jNCSXBRywS/NCEKp+/thhXaxFW7TznX+7s="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ktrip-24.02.1.tar.xz",
+    "hash": "sha256-MXS0gGHzR+1DLr7rBinuWBaYc58abCCSB6iluA1VMYE="
   },
   "ktuberling": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/ktuberling-24.02.0.tar.xz",
-    "hash": "sha256-73ODxkH6QxYI9O2wNwCO7cHdNQhwFqzUzBxrFuGfX6o="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/ktuberling-24.02.1.tar.xz",
+    "hash": "sha256-biTtI8oPNVLGiEaTD44pmRqfQiaJAP90JOK7gF3tRns="
   },
   "kturtle": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kturtle-24.02.0.tar.xz",
-    "hash": "sha256-rK1KUkW9iFcPpHJ4DleLwGXjPACtcsL6Lg/AojKHLPA="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kturtle-24.02.1.tar.xz",
+    "hash": "sha256-cDPogNA5A8PAZguFLXgy6olrFHzpC0Hxw32kgqNJqQA="
   },
   "kubrick": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kubrick-24.02.0.tar.xz",
-    "hash": "sha256-nVJHXUFodsFhHtEVZtNKJYGCViHPKiCaddXscwfQgUs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kubrick-24.02.1.tar.xz",
+    "hash": "sha256-A1yfttn8Uo9JKOZDKxNcrPcY375HAfANXmNUCpbFaAs="
   },
   "kwalletmanager": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kwalletmanager-24.02.0.tar.xz",
-    "hash": "sha256-/EgwCPzay6WdobJYauZ8tJ6rF/g/+RRcnJlVqIzUOLI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kwalletmanager-24.02.1.tar.xz",
+    "hash": "sha256-1D4p9VpZxxDZ/3DX+Esz3qzUzFZJxV9Gs2INTZIntGI="
   },
   "kwave": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kwave-24.02.0.tar.xz",
-    "hash": "sha256-9dRFHIBWD1+UOoVJ2mKCy9gwW5y41tdItDSUfMXI3vk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kwave-24.02.1.tar.xz",
+    "hash": "sha256-CdAEU+84sujvS5mFpk7SV2RizipPvswPG8l9xoRTCXs="
   },
   "kweather": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kweather-24.02.0.tar.xz",
-    "hash": "sha256-hr6rcTLj0HSLfEApAu0JJbVz15tMY6ShlB5YiYRozK8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kweather-24.02.1.tar.xz",
+    "hash": "sha256-wjg5+Qc0Ud3rwvL9KzPFDBIrTV8ybUynUnBSEZ2kywY="
   },
   "kwordquiz": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/kwordquiz-24.02.0.tar.xz",
-    "hash": "sha256-ps3PCCOncBxuGTDX1RpxekyleUeBBU04zyeMZuDgL6Q="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/kwordquiz-24.02.1.tar.xz",
+    "hash": "sha256-dCpCCaCCBX5pSRwN6PR8h1v4F4prvAxEN/0KtRzmU8M="
   },
   "libgravatar": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libgravatar-24.02.0.tar.xz",
-    "hash": "sha256-0/5VBt3WgCj6IW9c0FADXmjI687MG5/SJNbtMrPntUk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libgravatar-24.02.1.tar.xz",
+    "hash": "sha256-kfkI3LSBn11JNT/g3Yo7KaN5NyLt2CMFNLN/ym66sVA="
   },
   "libkcddb": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkcddb-24.02.0.tar.xz",
-    "hash": "sha256-/aFpBy8m0T2oU3N6iFO2wcxKux1MWxTRuNEw26FH7c8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkcddb-24.02.1.tar.xz",
+    "hash": "sha256-+yjDcJh0nXjoBZnYCv/ruboS/7UoYJRGB15ffuj0Kh0="
   },
   "libkcompactdisc": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkcompactdisc-24.02.0.tar.xz",
-    "hash": "sha256-yQrLDIhQ6sfdQOlcpsxb1+dOUqg5C0ImAoq2EffXn1M="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkcompactdisc-24.02.1.tar.xz",
+    "hash": "sha256-bwNpNFm8VvecUp8Fy/1wRSdbb87jPdosQhYwwgHNziI="
   },
   "libkdcraw": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkdcraw-24.02.0.tar.xz",
-    "hash": "sha256-0TckttdYckBCEJh5ZgbWP3v1Ur6hYlgpSCuvLfmaqxo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkdcraw-24.02.1.tar.xz",
+    "hash": "sha256-rUHiD1jCJnHWa96+G+kzYOhIInaJGGdDibhYcri1zCA="
   },
   "libkdegames": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkdegames-24.02.0.tar.xz",
-    "hash": "sha256-PRE0ItxlQ0iyAl3l/h3iVtBqPFW+nHsQQlPiVZWy4rE="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkdegames-24.02.1.tar.xz",
+    "hash": "sha256-SUAXsGWJkoD1LpDwHH9QruqGNTKDa4SPpF93GiwUcQU="
   },
   "libkdepim": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkdepim-24.02.0.tar.xz",
-    "hash": "sha256-1BJBnRdPy8X2qkaDHyyoFxjw2KeZcpNfoJfFS48u5+A="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkdepim-24.02.1.tar.xz",
+    "hash": "sha256-8wRBYTXytxVt6No2SQ1DfJjrPDCwOYXFj/GCTLUgKow="
   },
   "libkeduvocdocument": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkeduvocdocument-24.02.0.tar.xz",
-    "hash": "sha256-PItMxVX08jt3BEYVz4LLqRq4Z2RFtdJcE4+WIXrd4xs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkeduvocdocument-24.02.1.tar.xz",
+    "hash": "sha256-fsFeQxE/oP+nTo6xWDfbqjPJttkztBOibVpqMGYuGKw="
   },
   "libkexiv2": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkexiv2-24.02.0.tar.xz",
-    "hash": "sha256-Ko1zP2Duee/4xZmL5jKqNppwURU5A/Acp01gOAlch04="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkexiv2-24.02.1.tar.xz",
+    "hash": "sha256-PNYSJSdLCWhpGr0p5nbj0xtvD0iAJOWnhSXcObpn9ug="
   },
   "libkgapi": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkgapi-24.02.0.tar.xz",
-    "hash": "sha256-7x+XLmKerhKQEDm7/Ld9E2WzzzBdjZeA9ySD7/OrOwo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkgapi-24.02.1.tar.xz",
+    "hash": "sha256-cuuDG4EnEixzfILcnsSnMVgRKh22X9Oy26UpjfTSM5U="
   },
   "libkipi": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkipi-24.02.0.tar.xz",
-    "hash": "sha256-Ig9IWMF+fZuFMzLmSB3jUYKhE7QSr38tSf5PIJ7gOR4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkipi-24.02.1.tar.xz",
+    "hash": "sha256-9uaBdnTZTCrsK36ZGOedBNFWOYVK6YTNbRKr/bQ8wsI="
   },
   "libkleo": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkleo-24.02.0.tar.xz",
-    "hash": "sha256-reQo2spUR5gxSjpbV37+hBfG0hgvdOQn89fHnDyhuWw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkleo-24.02.1.tar.xz",
+    "hash": "sha256-CHHvP64rRPj+AS7cVZAv14SZcyg6/jf44IO/03Av+b0="
   },
   "libkmahjongg": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkmahjongg-24.02.0.tar.xz",
-    "hash": "sha256-pld2Ae17ry8cQhMK4ubRm5nqkm0U+CoEYaRrN0wZZ8U="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkmahjongg-24.02.1.tar.xz",
+    "hash": "sha256-FXSmx1kKoobanQlDoxQqKv7GaaTjiDme0zQCQVsks78="
   },
   "libkomparediff2": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libkomparediff2-24.02.0.tar.xz",
-    "hash": "sha256-bNNk3ADzblPwsdZv+OWvGAXdWXNY6bK64+na9uxNVLg="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libkomparediff2-24.02.1.tar.xz",
+    "hash": "sha256-Y0BqQpdEvAQx8rTijg1hS/LJJef7oPpmQC0C+DX30G4="
   },
   "libksane": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libksane-24.02.0.tar.xz",
-    "hash": "sha256-jo9ZpawoD/dRLHcStGdfd4/KO4Apb7u9+NjPZQsXGrU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libksane-24.02.1.tar.xz",
+    "hash": "sha256-+AbdOzlqjjWDMgqKj6CBrBca43fAs3SP0eDorNrnG/8="
   },
   "libksieve": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libksieve-24.02.0.tar.xz",
-    "hash": "sha256-3vqFYnNCuqQYS7iALrGoui6KzZro3GRBHfinEqg3zK0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libksieve-24.02.1.tar.xz",
+    "hash": "sha256-Yo/c+kZlhq/9/TZXmUqG90WhHNTQpjCSObxPbftRIDg="
   },
   "libktorrent": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/libktorrent-24.02.0.tar.xz",
-    "hash": "sha256-iGZX//AS4iVUMLHLKVWeT3k8L1TkfW7UhEIVQNl1uJo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/libktorrent-24.02.1.tar.xz",
+    "hash": "sha256-kOR7wekWgRl6EI/pe9Q4W0E9mn+t9+DSBIzSyKdVvO4="
   },
   "lokalize": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/lokalize-24.02.0.tar.xz",
-    "hash": "sha256-WznIX/27WZ+UW5YErYgIitJUs0A3+hn777wzcaUVCt0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/lokalize-24.02.1.tar.xz",
+    "hash": "sha256-GknHgvarWlXRr78shAJpQ0PqtbzNURUbmY/+TAlSHB0="
   },
   "lskat": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/lskat-24.02.0.tar.xz",
-    "hash": "sha256-kVALtkeet6C9w9pVm204nq+v4H5S63OSbJiE4qn4x2U="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/lskat-24.02.1.tar.xz",
+    "hash": "sha256-osjLg3VOaHFDSpJI/5DsZmgcxn0tvUIveU9in16twvI="
   },
   "mailcommon": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/mailcommon-24.02.0.tar.xz",
-    "hash": "sha256-d/kMdC5VeQp43LdbNKtNgi4cOF45KBeqceEf0cDCQ9o="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/mailcommon-24.02.1.tar.xz",
+    "hash": "sha256-zTVEKUMxTeLbh3MVPFOIGZMSuBBGjMYEoGDTKGUK9sM="
   },
   "mailimporter": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/mailimporter-24.02.0.tar.xz",
-    "hash": "sha256-3Z1rNH52BzidcBVfXmAyTnRfubqOnybu6skY8ImOdZU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/mailimporter-24.02.1.tar.xz",
+    "hash": "sha256-Oa0Ex/B5mBN8pg8QFJ6u4pJTfzU/XIrBoi/LxO5cwWc="
   },
   "marble": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/marble-24.02.0.tar.xz",
-    "hash": "sha256-kpkHPKYXJDUPMjbJkW6oHUvURQCexltzZmCkvwFu+Wo="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/marble-24.02.1.tar.xz",
+    "hash": "sha256-3KeieLNTzgzp/fpkGgNiu3ExBVvrcfr+qvWsaQJrDZ0="
   },
   "markdownpart": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/markdownpart-24.02.0.tar.xz",
-    "hash": "sha256-a79yKY8hxQIgiu0/76VTAticUGpe510lZdRkU0U0S8k="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/markdownpart-24.02.1.tar.xz",
+    "hash": "sha256-+2lCSm0b9+nBlEZ66daHemCvrEhVifEkicinNcGHpBE="
   },
   "mbox-importer": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/mbox-importer-24.02.0.tar.xz",
-    "hash": "sha256-LOLwaNlk9T7967HEy/+zimaXzy/jEIj6/JuyJrzIiXs="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/mbox-importer-24.02.1.tar.xz",
+    "hash": "sha256-nTu+1QIMciFcuRsKmMyAswtpTWoY/XPAApiUIQmVPFo="
   },
   "merkuro": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/merkuro-24.02.0.tar.xz",
-    "hash": "sha256-oxu1ZAfJCtTi5d+wGxee32WJ6b/G5hTYMXJjmsrUv1E="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/merkuro-24.02.1.tar.xz",
+    "hash": "sha256-X2Qcg2vJPmpEvfO/G+3Mt6I09dGHNo+VSyNBr3iE1xc="
   },
   "messagelib": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/messagelib-24.02.0.tar.xz",
-    "hash": "sha256-/0jfAZvD+aZVMhlpWpR+gwPRtW16oYW1Hz8klzQujz0="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/messagelib-24.02.1.tar.xz",
+    "hash": "sha256-sBOBrv6jI+yTr164RbqLv9wDFMjQ7/5MsCNcTcqaFN4="
   },
   "mimetreeparser": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/mimetreeparser-24.02.0.tar.xz",
-    "hash": "sha256-XQVGxJ6P1dY5umiuCnkCYKrl4dBoc3WH8r3FwRD/l+8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/mimetreeparser-24.02.1.tar.xz",
+    "hash": "sha256-vD9I5tjZdWB7c6G0XTEMy1hOjo9UcL1r9EOh+RTSoRs="
   },
   "minuet": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/minuet-24.02.0.tar.xz",
-    "hash": "sha256-eFrJR+LOW2f9anvA+9j1BdMwBN4MwZn8hlhitjsJFdM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/minuet-24.02.1.tar.xz",
+    "hash": "sha256-pv4C4K9SM3TV8r5fAZq2IqvzmaJ5h4vZedi/Ssz/DlI="
   },
   "neochat": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/neochat-24.02.0.tar.xz",
-    "hash": "sha256-JOeLm8y90qQHJuO2g7XUHf370G1JA8tHT1mJ/4/gcDI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/neochat-24.02.1.tar.xz",
+    "hash": "sha256-Bbbfokt5G7Ip8QinOCcHZIiKtYVBPf7Y8/o9MS+3/cY="
   },
   "okular": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/okular-24.02.0.tar.xz",
-    "hash": "sha256-/CZVSPhZVixUzUBYf/PGocLQ95JmF5UbBuYUXR9Ck4w="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/okular-24.02.1.tar.xz",
+    "hash": "sha256-1T+wcRxRAUx7fz0GDRxlR8LXuOYUmiC73mwWNL9Dctk="
   },
   "palapeli": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/palapeli-24.02.0.tar.xz",
-    "hash": "sha256-0F3kZGY2QIWcyuEaylrfW17Vz1UROc9oViLZxz36tTI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/palapeli-24.02.1.tar.xz",
+    "hash": "sha256-3UKuXaAuUbElb6HnTDp+76MSzJ8l/MMD8cjL+FGzjhc="
   },
   "parley": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/parley-24.02.0.tar.xz",
-    "hash": "sha256-/b3RBQo/2D6u7wQjj3jU/10NTmRVQkw7ZKm7mC6ZDxc="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/parley-24.02.1.tar.xz",
+    "hash": "sha256-jX68fWi2rO8cyqxGY39RikqoxZBf9ms0acx6Snis0VQ="
   },
   "partitionmanager": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/partitionmanager-24.02.0.tar.xz",
-    "hash": "sha256-suxJFlgFvKW4BvZrTsU91KmN1GYzrtVOafBAod8VpKw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/partitionmanager-24.02.1.tar.xz",
+    "hash": "sha256-i+xmaohjz4LNS4eex3A3OMQzGN2DpOHonLhYRngNGUY="
   },
   "picmi": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/picmi-24.02.0.tar.xz",
-    "hash": "sha256-/SeGR/MuCTQgVuS0NQ/JjccPTBW0D1XPUu90bIs8IM8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/picmi-24.02.1.tar.xz",
+    "hash": "sha256-0Sy+KmqgkdlMTV5lMCqfrNQMKtqcVaGPhGOMzagDgAs="
   },
   "pimcommon": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/pimcommon-24.02.0.tar.xz",
-    "hash": "sha256-Yypu3thy6A6Y/BHYv67KgoO34gn2ifJcT9toEsxpkxw="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/pimcommon-24.02.1.tar.xz",
+    "hash": "sha256-5YSgPUp3dU8Qrz0Ds6fH6qtiUKI3czPVMX2nO7xeH0Q="
   },
   "pim-data-exporter": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/pim-data-exporter-24.02.0.tar.xz",
-    "hash": "sha256-XmT0wgdRhbL9Ryq851MoF+n0zxD2UPiTR97gt7sDj78="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/pim-data-exporter-24.02.1.tar.xz",
+    "hash": "sha256-P6wJVBJmkAho9jS+CBV0nCpnXBGqh85YACMRS+VSakk="
   },
   "pim-sieve-editor": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/pim-sieve-editor-24.02.0.tar.xz",
-    "hash": "sha256-hJCWNj3IIuzNsxQqceqabCsFDBEambr6UUhv7k7zyeQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/pim-sieve-editor-24.02.1.tar.xz",
+    "hash": "sha256-F8dHU0uA8x8RcGQcTJ173/zGX6omvdOMucAm5UwwTFs="
   },
   "plasmatube": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/plasmatube-24.02.0.tar.xz",
-    "hash": "sha256-pTR53BqHz5hS44GVPy1aQ5v9Umaf7cn+7QqxTAn/eRk="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/plasmatube-24.02.1.tar.xz",
+    "hash": "sha256-kIpZ07T2OFKvcGr/ry020oATh+GuN+uxoHETgRzZXWo="
   },
   "poxml": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/poxml-24.02.0.tar.xz",
-    "hash": "sha256-psDlllkWEHOWtPzwEeMvbAIqHn25Vx/cZIZj+Sb+1To="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/poxml-24.02.1.tar.xz",
+    "hash": "sha256-MB/yYDCoKK5+z5iCZGIczsaNJnZF+Fqwxv11JbGnxos="
   },
   "qmlkonsole": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/qmlkonsole-24.02.0.tar.xz",
-    "hash": "sha256-dzCe7Zv0t6G/P8JrAiU/C5212uWWxDNLFoiEQiqqigY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/qmlkonsole-24.02.1.tar.xz",
+    "hash": "sha256-DgQ2Q6vl1b9AHJMukXSC+swmRGxWb2hWU8YPc82aR08="
   },
   "rocs": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/rocs-24.02.0.tar.xz",
-    "hash": "sha256-Othj1cCeK/I1sNUEimsdvTwrArecH/xZ5Q0z86tgEwI="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/rocs-24.02.1.tar.xz",
+    "hash": "sha256-1dRiwZTIilT4ele9AphPRw8PxhSfRsmBNda9BUhKcJ0="
   },
   "signon-kwallet-extension": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/signon-kwallet-extension-24.02.0.tar.xz",
-    "hash": "sha256-62lx+1Ef1su7Ng+xolsAMzE7clOPcJUK2NLK+qr7nW4="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/signon-kwallet-extension-24.02.1.tar.xz",
+    "hash": "sha256-R8z5F48N6xRE6rzUV3S1nbqV77ysFljvtHJnZNdc9FI="
   },
   "skanlite": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/skanlite-24.02.0.tar.xz",
-    "hash": "sha256-wV7o3vz7Bdof0d7qLJqqPMb7MkiXlPVx7Andi02TiqY="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/skanlite-24.02.1.tar.xz",
+    "hash": "sha256-SysKRweI2FR1r0ernVc326xsweXdLSX+lvDyZd+pcC4="
   },
   "skanpage": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/skanpage-24.02.0.tar.xz",
-    "hash": "sha256-ifaShgBg6rDlPibDQPuLsu/dSZm6vx7JVy+moUT9by8="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/skanpage-24.02.1.tar.xz",
+    "hash": "sha256-MXU9s95pG/rEvp5wD9VHJvzj2vRfvPJhbkdhF5/cZaM="
   },
   "spectacle": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/spectacle-24.02.0.tar.xz",
-    "hash": "sha256-YUsQyZC1weKvU5xvYNpcq40ZdbbBeiwkWKgbldLkw9E="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/spectacle-24.02.1.tar.xz",
+    "hash": "sha256-V0a8AquJ3la6Pzu0rfcs2H0IsPtgA3CBSBtDp6Nk6lc="
   },
   "step": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/step-24.02.0.tar.xz",
-    "hash": "sha256-SfIQVPQjzEuDTzegc29ljm89GcJNuhXvIw2FfaH/HBM="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/step-24.02.1.tar.xz",
+    "hash": "sha256-kO2A/daKqhAoEjxx+N8N5oIcFUzLoljh9XKAcAlVtR0="
   },
   "svgpart": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/svgpart-24.02.0.tar.xz",
-    "hash": "sha256-JGjS2Cf1M8Mw2X28jrC4PPLYHHhfC7WUKNvOT/z6CGU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/svgpart-24.02.1.tar.xz",
+    "hash": "sha256-o2dq9PfsqOqy6MAtKz9XvoMVOW0eLSo+32WBrwktOM4="
   },
   "sweeper": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/sweeper-24.02.0.tar.xz",
-    "hash": "sha256-MtiaAsfpbSSBe4Q0DW1YvP8glecU1c3pYUbk6SWGIow="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/sweeper-24.02.1.tar.xz",
+    "hash": "sha256-9zvu1+R6FlLN9aQArEVpJvFt2pVCY4kG5g93Fbcjz1Y="
   },
   "telly-skout": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/telly-skout-24.02.0.tar.xz",
-    "hash": "sha256-u0y0kue+gaWQ4TF5o5J7PFfW7sjsNBkh6tyCraDIi7M="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/telly-skout-24.02.1.tar.xz",
+    "hash": "sha256-WKtAtUgjT6Pue3aH8CKScsseaIa0IT/HN/C4iy/n9Ng="
   },
   "tokodon": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/tokodon-24.02.0.tar.xz",
-    "hash": "sha256-DXSOQ/qBse39tBvCPzCeTQ6f1vJTPGY+z7DYw5AOz98="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/tokodon-24.02.1.tar.xz",
+    "hash": "sha256-Pq9spIdTIzb28c7/RSgblllaBJOh+q7kP97+X5f2gO8="
   },
   "umbrello": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/umbrello-24.02.0.tar.xz",
-    "hash": "sha256-AMuUHmihDvZNfU23Fr/OwGjhZV09VSCvl5Rv8z3tE8c="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/umbrello-24.02.1.tar.xz",
+    "hash": "sha256-Ub1NBse9SuGZBKheOHojXkJ2JkKcGYrrfPs7auuthNs="
   },
   "yakuake": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/yakuake-24.02.0.tar.xz",
-    "hash": "sha256-jwubjyV5jQpYriB+E8isVch+IgX6bIZRua8/l8AC9qQ="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/yakuake-24.02.1.tar.xz",
+    "hash": "sha256-aCTEHlOOWoxSphNli8dqa6KB/dueubT3AUFFM803QZw="
   },
   "zanshin": {
-    "version": "24.02.0",
-    "url": "mirror://kde/stable/release-service/24.02.0/src/zanshin-24.02.0.tar.xz",
-    "hash": "sha256-lgw1cPYmHbfbdEvVzpMe3qZH874suUY9CGm6/DDLZGU="
+    "version": "24.02.1",
+    "url": "mirror://kde/stable/release-service/24.02.1/src/zanshin-24.02.1.tar.xz",
+    "hash": "sha256-plh2l/67sUzh36AI1rZHtHJj0BTaG1DDdNDT+ZePfjg="
   }
 }
\ No newline at end of file
diff --git a/pkgs/kde/lib/mk-kde-derivation.nix b/pkgs/kde/lib/mk-kde-derivation.nix
index 042c7531f07e..08b956d38849 100644
--- a/pkgs/kde/lib/mk-kde-derivation.nix
+++ b/pkgs/kde/lib/mk-kde-derivation.nix
@@ -124,4 +124,4 @@ in
       position = "${pos.file}:${toString pos.line}";
     } // (args.meta or { });
   in
-    stdenv.mkDerivation (defaultArgs // cleanArgs) // { inherit meta; }
+    stdenv.mkDerivation (defaultArgs // cleanArgs // { inherit meta; })
diff --git a/pkgs/os-specific/linux/ryzenadj/default.nix b/pkgs/os-specific/linux/ryzenadj/default.nix
index b99f3d6bd305..ef671b2f16c4 100644
--- a/pkgs/os-specific/linux/ryzenadj/default.nix
+++ b/pkgs/os-specific/linux/ryzenadj/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, pciutils, cmake }:
 stdenv.mkDerivation rec {
   pname = "ryzenadj";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "FlyGoat";
     repo = "RyzenAdj";
     rev = "v${version}";
-    sha256 = "sha256-Lqq4LNRmqQyeIJfr/+tYdKMEk+P54VnwZAQZcE0ev8Y=";
+    sha256 = "sha256-aNkVP1fuPcb41Qk5YI1loJnqVmamSzoMFyTGkJtrnvg=";
   };
 
   nativeBuildInputs = [ pciutils cmake ];
diff --git a/pkgs/os-specific/linux/tiscamera/0001-cmake-find-aravis-fix-pkg-cfg-include-dirs.patch b/pkgs/os-specific/linux/tiscamera/0001-cmake-find-aravis-fix-pkg-cfg-include-dirs.patch
deleted file mode 100644
index 0e9821467850..000000000000
--- a/pkgs/os-specific/linux/tiscamera/0001-cmake-find-aravis-fix-pkg-cfg-include-dirs.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 90b540bd135de2587352719b14c385b20aa572be Mon Sep 17 00:00:00 2001
-From: Raymond Gauthier <jraygauthier@gmail.com>
-Date: Wed, 15 Jun 2022 16:09:58 -0400
-Subject: [PATCH] cmake-find-aravis: fix pkg cfg include dirs
-
----
- cmake/modules/FindAravis.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindAravis.cmake b/cmake/modules/FindAravis.cmake
-index 5dab5431..811302b9 100644
---- a/cmake/modules/FindAravis.cmake
-+++ b/cmake/modules/FindAravis.cmake
-@@ -20,7 +20,7 @@ find_path(aravis_INCLUDE_DIR
- 	arv.h
- 	PATHS
- 	${aravis_PKGCONF_INCLUDE_DIRS}
--	${aravis0_6_PKGCONF_INCLUDE_DIRS}
-+	${aravis0_8_PKGCONF_INCLUDE_DIRS}
- 	/usr/local/include
- 	# /usr/local/include/aravis-0.4
- 	/usr/local/include/aravis-0.8
--- 
-2.31.1
-
diff --git a/pkgs/os-specific/linux/tiscamera/0001-tcamconvert-tcamsrc-add-missing-include-lib-dirs.patch b/pkgs/os-specific/linux/tiscamera/0001-tcamconvert-tcamsrc-add-missing-include-lib-dirs.patch
deleted file mode 100644
index 3d1e5503bcd3..000000000000
--- a/pkgs/os-specific/linux/tiscamera/0001-tcamconvert-tcamsrc-add-missing-include-lib-dirs.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 5e7146e176cb1b01b47d16a66763469dccd87f25 Mon Sep 17 00:00:00 2001
-From: Raymond Gauthier <jraygauthier@gmail.com>
-Date: Thu, 9 Jun 2022 19:45:30 -0400
-Subject: [PATCH] tcamconvert&tcamsrc: add missing include/lib dirs
-
-These were building libraries with dependencies on gstreamer-video
-and gstreamer-base but weren't adding the proper include and
-lib directories which resulted in build failure on systems
-where video and base aren't installed in the same location
-as gstreamer itself (e.g: nix, nixos).
----
- src/gstreamer-1.0/tcamconvert/CMakeLists.txt |  2 ++
- src/gstreamer-1.0/tcamsrc/CMakeLists.txt     | 11 +++++++++++
- 2 files changed, 13 insertions(+)
-
-diff --git a/src/gstreamer-1.0/tcamconvert/CMakeLists.txt b/src/gstreamer-1.0/tcamconvert/CMakeLists.txt
-index 30563c38..066cb5d7 100644
---- a/src/gstreamer-1.0/tcamconvert/CMakeLists.txt
-+++ b/src/gstreamer-1.0/tcamconvert/CMakeLists.txt
-@@ -28,6 +28,8 @@ add_library(tcamconvert SHARED
- target_include_directories(tcamconvert
-   PRIVATE
-   ${GSTREAMER_INCLUDE_DIRS}
-+  ${GSTREAMER_BASE_INCLUDE_DIRS}
-+  ${GSTREAMER_VIDEO_INCLUDE_DIRS}
-   )
- 
- set_project_warnings(tcamconvert)
-diff --git a/src/gstreamer-1.0/tcamsrc/CMakeLists.txt b/src/gstreamer-1.0/tcamsrc/CMakeLists.txt
-index 3bc7ed97..ed5be37f 100644
---- a/src/gstreamer-1.0/tcamsrc/CMakeLists.txt
-+++ b/src/gstreamer-1.0/tcamsrc/CMakeLists.txt
-@@ -21,12 +21,15 @@ add_library(gsttcamstatistics SHARED
- target_include_directories(gsttcamstatistics
-   PRIVATE
-   ${GSTREAMER_INCLUDE_DIRS}
-+  ${GSTREAMER_BASE_INCLUDE_DIRS}
-+  ${GSTREAMER_VIDEO_INCLUDE_DIRS}
-   )
- 
- target_link_libraries( gsttcamstatistics
-   PRIVATE
-   ${GSTREAMER_LIBRARIES}
-   ${GSTREAMER_BASE_LIBRARIES}
-+  ${GSTREAMER_VIDEO_LIBRARIES}
-   )
- 
- 
-@@ -53,10 +56,18 @@ add_library(gsttcamsrc SHARED
- 	tcambind.cpp
-     )
- 
-+  target_include_directories(gsttcamsrc
-+    PRIVATE
-+    ${GSTREAMER_INCLUDE_DIRS}
-+    ${GSTREAMER_BASE_INCLUDE_DIRS}
-+    ${GSTREAMER_VIDEO_INCLUDE_DIRS}
-+    )
-+
-   target_link_libraries( gsttcamsrc
-     PRIVATE
- 	${GSTREAMER_LIBRARIES}
- 	${GSTREAMER_BASE_LIBRARIES}
-+    ${GSTREAMER_VIDEO_LIBRARIES}
- 
- 	tcamgstbase
- 	tcam::gst-helper
--- 
-2.31.1
-
diff --git a/pkgs/os-specific/linux/tiscamera/0001-udev-rules-fix-install-location.patch b/pkgs/os-specific/linux/tiscamera/0001-udev-rules-fix-install-location.patch
deleted file mode 100644
index 9b373516aa9b..000000000000
--- a/pkgs/os-specific/linux/tiscamera/0001-udev-rules-fix-install-location.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From fdbc0b74812b9afd663226715375b5688e5408b5 Mon Sep 17 00:00:00 2001
-From: Raymond Gauthier <jraygauthier@gmail.com>
-Date: Thu, 9 Jun 2022 20:23:02 -0400
-Subject: [PATCH] udev/rules: fix install location
-
----
- CMakeInstall.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeInstall.cmake b/CMakeInstall.cmake
-index 4773091f..962c9b09 100644
---- a/CMakeInstall.cmake
-+++ b/CMakeInstall.cmake
-@@ -92,7 +92,7 @@ else()
- 
-   else()
- 
--    set(TCAM_INSTALL_UDEV "${CMAKE_INSTALL_PREFIX}/udev/rules.d" CACHE PATH "udev rules installation path" FORCE)
-+    set(TCAM_INSTALL_UDEV "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d" CACHE PATH "udev rules installation path" FORCE)
-     set(TCAM_INSTALL_SYSTEMD "${CMAKE_INSTALL_PREFIX}/lib/systemd/system/" CACHE PATH "systemd unit installation path" FORCE)
- 
-     set(TCAM_INSTALL_PKGCONFIG "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" CACHE PATH "pkgconfig installation path" FORCE)
--- 
-2.31.1
-
diff --git a/pkgs/os-specific/linux/tiscamera/default.nix b/pkgs/os-specific/linux/tiscamera/default.nix
index ce59cea368b1..600655c447f7 100644
--- a/pkgs/os-specific/linux/tiscamera/default.nix
+++ b/pkgs/os-specific/linux/tiscamera/default.nix
@@ -19,7 +19,8 @@
 , gobject-introspection
 , gst_all_1
 , wrapGAppsHook
-, withDoc ? true
+  # needs pkg_resources
+, withDoc ? false
 , sphinx
 , graphviz
 , withAravis ? true
@@ -32,21 +33,15 @@
 
 stdenv.mkDerivation rec {
   pname = "tiscamera";
-  version = "1.0.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "TheImagingSource";
-    repo = pname;
-    rev = "v-${pname}-${version}";
-    sha256 = "0msz33wvqrji11kszdswcvljqnjflmjpk0aqzmsv6i855y8xn6cd";
+    repo = "tiscamera";
+    rev = "v-tiscamera-${version}";
+    hash = "sha256-33U/8CbqNWIRwfDHXCZSN466WEQj9fip+Z5EJ7kIwRM=";
   };
 
-  patches = [
-    ./0001-tcamconvert-tcamsrc-add-missing-include-lib-dirs.patch
-    ./0001-udev-rules-fix-install-location.patch
-    ./0001-cmake-find-aravis-fix-pkg-cfg-include-dirs.patch
-  ];
-
   postPatch = ''
     cp ${catch2}/include/catch2/catch.hpp external/catch/catch.hpp
 
@@ -110,6 +105,8 @@ stdenv.mkDerivation rec {
     "-DTCAM_INSTALL_FORCE_PREFIX=ON"
   ];
 
+  env.CXXFLAGS = "-include cstdint";
+
   doCheck = true;
 
   # gstreamer tests requires, besides gst-plugins-bad, plugins installed by this expression.
diff --git a/pkgs/servers/fastnetmon-advanced/default.nix b/pkgs/servers/fastnetmon-advanced/default.nix
index 8f11df7048ad..2605bb0809c9 100644
--- a/pkgs/servers/fastnetmon-advanced/default.nix
+++ b/pkgs/servers/fastnetmon-advanced/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fastnetmon-advanced";
-  version = "2.0.358";
+  version = "2.0.362";
 
   src = fetchurl {
     url = "https://repo.fastnetmon.com/fastnetmon_ubuntu_jammy/pool/fastnetmon/f/fastnetmon/fastnetmon_${version}_amd64.deb";
-    hash = "sha256-qL+LxePCZnSpbeeNANvI/f8ntNStHe02fSqMA+XKFng=";
+    hash = "sha256-9RKZyFntv2LsVZbN4sgb3C35kkDvM6kN7WpqdwwxnsE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix
index fdaa4b8d246d..fb558e343220 100644
--- a/pkgs/servers/home-assistant/custom-components/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/default.nix
@@ -12,6 +12,8 @@
 
   epex_spot = callPackage ./epex_spot {};
 
+  frigate = callPackage ./frigate {};
+
   govee-lan = callPackage ./govee-lan {};
 
   gpio = callPackage ./gpio {};
diff --git a/pkgs/servers/home-assistant/custom-components/frigate/default.nix b/pkgs/servers/home-assistant/custom-components/frigate/default.nix
new file mode 100644
index 000000000000..0065c94b6ebc
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-components/frigate/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, fetchFromGitHub
+, buildHomeAssistantComponent
+, pytz
+}:
+
+buildHomeAssistantComponent rec {
+  owner = "presto8";
+  domain = "frigate";
+  version = "5.1.0";
+
+  src = fetchFromGitHub {
+    owner = "blakeblackshear";
+    repo = "frigate-hass-integration";
+    rev = "v${version}";
+    hash = "sha256-6W9U0Q0wW36RsErvtFQo1sc1AF7js6MMHxgMQcDFexw=";
+  };
+
+  propagatedBuildInputs = [
+    pytz
+  ];
+
+  dontBuild = true;
+
+  meta = with lib; {
+    description = "Provides Home Assistant integration to interface with a separately running Frigate service";
+    homepage = "https://github.com/blakeblackshear/frigate-hass-integration";
+    changelog = "https://github.com/blakeblackshear/frigate-hass-integration/releases/tag/v${version}";
+    maintainers = with maintainers; [ presto8 ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-components/sensi/default.nix b/pkgs/servers/home-assistant/custom-components/sensi/default.nix
index 773fbf4a2586..f8293518a51e 100644
--- a/pkgs/servers/home-assistant/custom-components/sensi/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/sensi/default.nix
@@ -7,13 +7,13 @@
 buildHomeAssistantComponent rec {
   owner = "iprak";
   domain = "sensi";
-  version = "1.3.1";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     inherit owner;
     repo = domain;
     rev = "refs/tags/v${version}";
-    hash = "sha256-RF182b6OBpoXfDsalwZntuaN8VxkQK2jy9qa0zNFQdI=";
+    hash = "sha256-NbK9h0nvcWNSwsc04YgjqKl+InijxftPJ3SLCQF/Hns=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/jitsi-videobridge/default.nix b/pkgs/servers/jitsi-videobridge/default.nix
index 06aa43e5fce3..9f25ec1fdc9c 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-67-gb2d4229f";
+  version = "2.3-92-g64f9f34f";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "aE9QFzOJk3jMzNTEitcaBZVKpa1IJ55JahLfNDCujJI=";
+    sha256 = "fatkARiFgSEQl/caVUjJX77os7IZDIEZrxp0RLLaK/M=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/monitoring/prometheus/kea-exporter.nix b/pkgs/servers/monitoring/prometheus/kea-exporter.nix
index 721f69763fc0..f4965bd54fa8 100644
--- a/pkgs/servers/monitoring/prometheus/kea-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/kea-exporter.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "kea-exporter";
-  version = "0.6.1";
+  version = "0.7.0";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "kea_exporter";
     inherit version;
-    hash = "sha256-PyNFSTDqT+PBY7d9NSG1FVhN+Y3ID13T6859kBYsFzU=";
+    hash = "sha256-kn2iwYWcyW90tgfWmzLF7rU06fJyLRzqYKNLOgu/Yqk=";
   };
 
   nativeBuildInputs = with python3Packages; [
@@ -31,7 +31,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   passthru.tests = {
-    inherit (nixosTests.prometheus-exporters) kea;
+    inherit (nixosTests) kea;
   };
 
   meta = with lib; {
diff --git a/pkgs/shells/nushell/nu_scripts/default.nix b/pkgs/shells/nushell/nu_scripts/default.nix
index 87b46cb8e04c..dc36f5296813 100644
--- a/pkgs/shells/nushell/nu_scripts/default.nix
+++ b/pkgs/shells/nushell/nu_scripts/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nu_scripts";
-  version = "unstable-2024-03-17";
+  version = "unstable-2024-03-20";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = pname;
-    rev = "7d662ad5c5e6cc33162034f6191f97394bdc9d6b";
-    hash = "sha256-fJ05NC5N/90qLWuBR7RcrH5U4615MBAZEiVwg6JZp24=";
+    rev = "707cda345078553f3e878a100ca103a28f440705";
+    hash = "sha256-pgihFkuPIjFTLYtVKaXA+NPUfs/8TpWoojpGyi5TLhY=";
   };
 
   installPhase = ''
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 300efce9c830..c6b0aece4530 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -132,10 +132,10 @@ rec {
     # extraBuildInputs are dropped in cross.nix, but darwin still needs them
     extraBuildInputs = [ pkgs.buildPackages.darwin.CF ];
     mkDerivationFromStdenv = withOldMkDerivation old (stdenv: mkDerivationSuper: args:
-    (mkDerivationSuper args).overrideAttrs (finalAttrs: {
-      NIX_CFLAGS_LINK = toString (finalAttrs.NIX_CFLAGS_LINK or "")
+    (mkDerivationSuper args).overrideAttrs (prevAttrs: {
+      NIX_CFLAGS_LINK = toString (prevAttrs.NIX_CFLAGS_LINK or "")
         + lib.optionalString (stdenv.cc.isGNU or false) " -static-libgcc";
-      nativeBuildInputs = (finalAttrs.nativeBuildInputs or [])
+      nativeBuildInputs = (prevAttrs.nativeBuildInputs or [])
         ++ lib.optionals stdenv.hasCC [
           (pkgs.buildPackages.makeSetupHook {
             name = "darwin-portable-libSystem-hook";
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
index 9988029f1f77..e38016de93ac 100644
--- a/pkgs/tools/admin/salt/default.nix
+++ b/pkgs/tools/admin/salt/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , python3
-, fetchpatch
 , fetchPypi
 , openssl
   # Many Salt modules require various Python modules to be installed,
@@ -11,21 +10,15 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "salt";
-  version = "3006.7";
+  version = "3007.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7ZLSG4TrnUefk7qJRoRTQIEX4NwQEGFCFJmejQwhCv0=";
+    hash = "sha256-Qb+E5x/GVb+KS1LrRA0GIa6WEJaghtIOEy4VEuLt3/g=";
   };
 
   patches = [
-    # https://github.com/saltstack/salt/pull/63795
-    (fetchpatch {
-      name = "remove-duplicate-scripts.patch";
-      url = "https://github.com/saltstack/salt/commit/6b9463836e70e40409dbf653f01aa94ef869dfe7.patch";
-      hash = "sha256-VcVdKC8EH4qoWHtq6eEPl8OviR4eA2k/S2lWNQbubJw=";
-    })
     ./fix-libcrypto-loading.patch
   ];
 
@@ -57,6 +50,7 @@ python3.pkgs.buildPythonApplication rec {
     pyyaml
     pyzmq
     requests
+    tornado
   ] ++ extraInputs;
 
   # Don't use fixed dependencies on Darwin
diff --git a/pkgs/tools/graphics/quirc/0001-dont-build-demos.patch b/pkgs/tools/graphics/quirc/0001-dont-build-demos.patch
index 9ecb6dda4e19..5e11a5207508 100644
--- a/pkgs/tools/graphics/quirc/0001-dont-build-demos.patch
+++ b/pkgs/tools/graphics/quirc/0001-dont-build-demos.patch
@@ -4,8 +4,8 @@ index 2d5b745..ecef988 100644
 +++ b/Makefile
 @@ -37,7 +37,7 @@ DEMO_UTIL_OBJ = \
  
- OPENCV_CFLAGS != pkg-config --cflags opencv4
- OPENCV_LIBS != pkg-config --libs opencv4
+ OPENCV_CFLAGS := $(shell pkg-config --cflags opencv4 2>&1)
+ OPENCV_LIBS = $(shell pkg-config --libs opencv4)
 -QUIRC_CXXFLAGS = $(QUIRC_CFLAGS) $(OPENCV_CFLAGS) --std=c++17
 +QUIRC_CXXFLAGS = $(QUIRC_CFLAGS) --std=c++17
  
diff --git a/pkgs/tools/graphics/quirc/default.nix b/pkgs/tools/graphics/quirc/default.nix
index 88993dbe8ce6..aa6c0cfeb671 100644
--- a/pkgs/tools/graphics/quirc/default.nix
+++ b/pkgs/tools/graphics/quirc/default.nix
@@ -1,17 +1,24 @@
 { lib, stdenv, fetchFromGitHub, SDL_gfx, SDL, libjpeg, libpng, opencv
 , pkg-config }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "quirc";
-  version = "2021-10-08";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "dlbeer";
     repo = "quirc";
-    rev = "516d91a94d880ca1006fc1d57f318bdff8411f0d";
-    sha256 = "0jkaz5frm6jr9bxyfympvzh180nczrfvvb3z3qhk21djlas6nr5f";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-zdq/YKL33jJXa10RqmQIl06rRYnrthWG+umT4dipft0=";
   };
 
+  postPatch = ''
+    # don't try to change ownership
+    substituteInPlace Makefile \
+      --replace-fail "-o root" "" \
+      --replace-fail "-g root" ""
+  '';
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ SDL SDL_gfx libjpeg libpng opencv ];
 
@@ -28,15 +35,6 @@ stdenv.mkDerivation {
     runHook postBuild
   '';
 
-  configurePhase = ''
-    runHook preConfigure
-
-    # don't try to change ownership
-    sed -e 's/-[og] root//g' -i Makefile
-
-    runHook postConfigure
-  '';
-
   preInstall = ''
     mkdir -p "$out"/{bin,lib,include}
 
@@ -44,10 +42,17 @@ stdenv.mkDerivation {
     find -maxdepth 1 -type f -executable ! -name '*.so.*' | xargs cp -t "$out"/bin
   '';
 
+  postInstall = ''
+    # don't install static library
+    rm $out/lib/libquirc.a
+
+    ln -s $out/lib/libquirc.so.* $out/lib/libquirc.so
+  '';
+
   meta = {
     description = "A small QR code decoding library";
     license = lib.licenses.isc;
     maintainers = [ lib.maintainers.raskin ];
     platforms = lib.platforms.linux ++ [ "x86_64-darwin" "aarch64-darwin" ];
   };
-}
+})
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 24f94f6a7445..0533a0a4e81c 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.47.1";
+  version = "2.47.2";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    hash = "sha256-sCDRHbizWhxaGBKdBhLViOfv+mwJiVvw7cjXSuDnOAo=";
+    hash = "sha256-XjPeOTVoWcAWq8wb3RJCsIVMN4zF5ovAni+fWrR1P+I=";
   };
 
-  vendorHash = "sha256-gTgzuNsNzw8RmYaeOTBxkOc0Pt+WGLWTA6/oAL/1RRg=";
+  vendorHash = "sha256-ZtxX8BTX+7SfRxdxNWAy3wNTl8H7yoBNJr99dzCA+uk=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/narrowlink/default.nix b/pkgs/tools/networking/narrowlink/default.nix
index 226dd15b1c9e..9000ad282cbf 100644
--- a/pkgs/tools/networking/narrowlink/default.nix
+++ b/pkgs/tools/networking/narrowlink/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "narrowlink";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "narrowlink";
     repo = "narrowlink";
     rev = version;
-    hash = "sha256-priVl44VSxV+rCy/5H704I3CbNXDMP2BUguknl5Bguk=";
+    hash = "sha256-Ro5SfcuKy0JqSwh2HbYisE9I4BTP4o7qjEA3fU3pAuw=";
   };
 
-  cargoHash = "sha256-q15T0/2Xf8L6ZEphIjZzzcqcnkWMbv3zvBAd/Ofvnfg=";
+  cargoHash = "sha256-XHbgwqvzfnpbu2h8rbI8XsL+og0gkjQzhHzME6crmZg=";
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
diff --git a/pkgs/tools/networking/sitespeed-io/default.nix b/pkgs/tools/networking/sitespeed-io/default.nix
index 505807129318..96d2f4dc9cb1 100644
--- a/pkgs/tools/networking/sitespeed-io/default.nix
+++ b/pkgs/tools/networking/sitespeed-io/default.nix
@@ -24,13 +24,13 @@
 assert (!withFirefox && !withChromium) -> throw "Either `withFirefox` or `withChromium` must be enabled.";
 buildNpmPackage rec {
   pname = "sitespeed-io";
-  version = "33.2.0";
+  version = "33.3.0";
 
   src = fetchFromGitHub {
     owner = "sitespeedio";
     repo = "sitespeed.io";
     rev = "v${version}";
-    hash = "sha256-GU7eQfh44zAuZ0oPb/9wGxK/+AfKvNPyuRgmEP0NaMM=";
+    hash = "sha256-voH0/F11fSMpEccyjcX3YUKaXjegJRwQwlRoa8R8sDg=";
   };
 
   nodejs = nodejs_18;
@@ -46,7 +46,7 @@ buildNpmPackage rec {
 
   dontNpmBuild = true;
   npmInstallFlags = [ "--omit=dev" ];
-  npmDepsHash = "sha256-t11JMu+MjTRsDuud/mDvLglvdcj1mlZfx67ueejdw/0=";
+  npmDepsHash = "sha256-IiDfvID3h6kBue54p6J9qpjwwO5LwKkK0fw7TNptsxA=";
 
   postInstall = ''
     mv $out/bin/sitespeed{.,-}io
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
index a57805625611..0bd4f1fff80b 100644
--- a/pkgs/tools/networking/v2ray/default.nix
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "v2ray-core";
-  version = "5.15.0";
+  version = "5.15.1";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "v2ray-core";
     rev = "v${version}";
-    hash = "sha256-XxmzJfZa05Kf32Lh6FapYpQZProJyzlXoXKnDPiWqMQ=";
+    hash = "sha256-EENeJQfIKHtbh5dmWeUtnVepIGsBsXMs6Yhi/QzeRRs=";
   };
 
   # `nix-update` doesn't support `vendorHash` yet.
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py
index 3ee10a60568d..2e43a6a2be87 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/html.py
@@ -181,7 +181,7 @@ class HTMLRenderer(Renderer):
         if hstyle:
             hstyle = f'style="{escape(hstyle, True)}"'
         if anchor := cast(str, token.attrs.get('id', '')):
-            anchor = f'<span id="{escape(anchor, True)}"></span>'
+            anchor = f'id="{escape(anchor, True)}"'
         result = self._close_headings(hlevel)
         tag = self._heading_tag(token, tokens, i)
         toc_fragment = self._build_toc(tokens, i)
@@ -192,8 +192,7 @@ class HTMLRenderer(Renderer):
             f' <div class="titlepage">'
             f'  <div>'
             f'   <div>'
-            f'    <{htag} class="title" {hstyle}>'
-            f'     {anchor}'
+            f'    <{htag} {anchor} class="title" {hstyle}>'
         )
     def heading_close(self, token: Token, tokens: Sequence[Token], i: int) -> str:
         heading = self._headings[-1]
diff --git a/pkgs/tools/package-management/nix-update-source/default.nix b/pkgs/tools/package-management/nix-update-source/default.nix
index 533f487e3974..13b158db81e0 100644
--- a/pkgs/tools/package-management/nix-update-source/default.nix
+++ b/pkgs/tools/package-management/nix-update-source/default.nix
@@ -51,6 +51,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   meta = {
+    homepage = "https://github.com/timbertson/nix-update-source";
     description = "Utility to automate updating of nix derivation sources";
     maintainers = with lib.maintainers; [ timbertson ];
     license = lib.licenses.mit;
diff --git a/pkgs/tools/security/yubikey-touch-detector/default.nix b/pkgs/tools/security/yubikey-touch-detector/default.nix
index a8474a1a5b3f..36822b6728e6 100644
--- a/pkgs/tools/security/yubikey-touch-detector/default.nix
+++ b/pkgs/tools/security/yubikey-touch-detector/default.nix
@@ -1,41 +1,27 @@
-{ lib, libnotify, buildGoModule, fetchFromGitHub, fetchurl, pkg-config, iconColor ? "#84bd00" }:
+{ lib, libnotify, gpgme, buildGoModule, fetchFromGitHub, fetchurl, pkg-config }:
 
 buildGoModule rec {
   pname = "yubikey-touch-detector";
-  version = "1.10.1";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "maximbaz";
     repo = "yubikey-touch-detector";
     rev = version;
-    sha256 = "sha256-y/iDmxlhu2Q6Zas0jsv07HQPkNdMrOQaXWy/cuWvpMk=";
-  };
-  vendorHash = "sha256-OitI9Yp4/mRMrNH4yrWSL785+3mykPkvzarrc6ipOeg=";
-
-  iconSrc = fetchurl {
-    url = "https://github.com/Yubico/yubioath-flutter/raw/yubioath-desktop-5.0.0/images/touch.svg";
-    hash = "sha256-+jC9RKjl1uMBaNqLX5WXN+E4CuOcIEx5IGXWxgxzA/k=";
+    hash = "sha256-XpaCKNQpQD9dNj4EOGJ6PdjfSAxxG5dC8mIzYr7t/+I=";
   };
+  vendorHash = "sha256-mhmYTicj/ihGNzeCZd1ZijWPkvxQZjBxaC5dyAU1O7U=";
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ libnotify ];
-
-  postPatch = ''
-    cp $iconSrc yubikey-touch-detector.svg
-    substituteInPlace yubikey-touch-detector.svg \
-      --replace '#284c61' ${lib.escapeShellArg iconColor}
-
-    substituteInPlace notifier/libnotify.go \
-      --replace \
-        'AppIcon: "yubikey-touch-detector"' \
-        "AppIcon: \"$out/share/icons/yubikey-touch-detector.svg\""
-  '';
+  buildInputs = [ libnotify gpgme ];
 
   postInstall = ''
-    install -Dm444 -t $out/share/doc/${pname} *.md
+    install -Dm444 -t $out/share/doc/${pname} *.{md,example}
+
+    install -Dm444 -t $out/share/licenses/${pname} LICENSE
 
-    install -Dm444 -t $out/share/icons yubikey-touch-detector.svg
+    install -Dm444 -t $out/share/icons/hicolor/128x128/apps yubikey-touch-detector.png
 
     install -Dm444 -t $out/lib/systemd/user *.{service,socket}
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8fbc09e2afac..dbecd5958f50 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11158,7 +11158,12 @@ with pkgs;
 
   numberstation = callPackage ../applications/misc/numberstation { };
 
-  nvchecker = with python3Packages; toPythonApplication nvchecker;
+  nvchecker = with python3Packages; toPythonApplication (
+    nvchecker.overridePythonAttrs (oldAttrs: {
+      propagatedBuildInputs = oldAttrs.propagatedBuildInputs
+        ++ lib.flatten (builtins.attrValues oldAttrs.optional-dependencies);
+    })
+  );
 
   nvfetcher = haskell.lib.compose.justStaticExecutables haskellPackages.nvfetcher;
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3cc1a4a793e6..920adf4d088f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2836,6 +2836,8 @@ self: super: with self; {
 
   deezer-python = callPackage ../development/python-modules/deezer-python { };
 
+  defang = callPackage ../development/python-modules/defang { };
+
   defcon = callPackage ../development/python-modules/defcon { };
 
   deform = callPackage ../development/python-modules/deform { };
@@ -6346,6 +6348,8 @@ self: super: with self; {
 
   laces = callPackage ../development/python-modules/laces { };
 
+  lacuscore = callPackage ../development/python-modules/lacuscore { };
+
   lakeside = callPackage ../development/python-modules/lakeside { };
 
   langchain = callPackage ../development/python-modules/langchain { };
@@ -9658,6 +9662,10 @@ self: super: with self; {
 
   playwright = callPackage ../development/python-modules/playwright { };
 
+  playwright-stealth = callPackage ../development/python-modules/playwright-stealth { };
+
+  playwrightcapture = callPackage ../development/python-modules/playwrightcapture { };
+
   pmsensor = callPackage ../development/python-modules/pmsensor { };
 
   ppdeep = callPackage ../development/python-modules/ppdeep { };
@@ -13919,6 +13927,8 @@ self: super: with self; {
 
   speechbrain = callPackage ../development/python-modules/speechbrain { };
 
+  speechrecognition = callPackage ../development/python-modules/speechrecognition { };
+
   speedtest-cli = callPackage ../development/python-modules/speedtest-cli { };
 
   speg = callPackage ../development/python-modules/speg { };