about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2024-01-11 18:01:20 +0000
committerGitHub <noreply@github.com>2024-01-11 18:01:20 +0000
commit06797d4df4baaa51b229081083a88b92dac3ff7c (patch)
treeea3e27c5d50679d613e56850c6137392bcd23c68
parentacd19036aca8b793f7f0099881d498c50b5ee147 (diff)
parenta2f82b9b840d6120464b853b8c6efb462899c716 (diff)
downloadnixlib-06797d4df4baaa51b229081083a88b92dac3ff7c.tar
nixlib-06797d4df4baaa51b229081083a88b92dac3ff7c.tar.gz
nixlib-06797d4df4baaa51b229081083a88b92dac3ff7c.tar.bz2
nixlib-06797d4df4baaa51b229081083a88b92dac3ff7c.tar.lz
nixlib-06797d4df4baaa51b229081083a88b92dac3ff7c.tar.xz
nixlib-06797d4df4baaa51b229081083a88b92dac3ff7c.tar.zst
nixlib-06797d4df4baaa51b229081083a88b92dac3ff7c.zip
Merge master into staging-next
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/editors/quartus-prime/quartus.nix22
-rw-r--r--pkgs/applications/misc/nwg-panel/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/k0sctl/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix2
-rw-r--r--pkgs/applications/office/planify/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/data.json18
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-pages/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile134
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock398
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix556
-rw-r--r--pkgs/by-name/kl/klog-time-tracker/package.nix23
-rw-r--r--pkgs/by-name/oe/oelint-adv/package.nix4
-rw-r--r--pkgs/development/libraries/gettext/default.nix4
-rw-r--r--pkgs/development/libraries/lame/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/macaque/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/pgocaml/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/pgocaml/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/uunf/default.nix12
-rw-r--r--pkgs/development/python-modules/aio-geojson-client/default.nix21
-rw-r--r--pkgs/development/python-modules/emulated-roku/default.nix11
-rw-r--r--pkgs/development/python-modules/equinox/default.nix19
-rw-r--r--pkgs/development/python-modules/lifelines/default.nix6
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix28
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/sources.json10
-rw-r--r--pkgs/development/tools/misc/sccache/default.nix30
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter.nix6
-rw-r--r--pkgs/servers/nextcloud/packages/26.json42
-rw-r--r--pkgs/servers/nextcloud/packages/27.json46
-rw-r--r--pkgs/servers/nextcloud/packages/28.json48
-rwxr-xr-xpkgs/servers/nextcloud/packages/generate.sh2
-rw-r--r--pkgs/servers/nextcloud/packages/nextcloud-apps.json1
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix2
-rw-r--r--pkgs/tools/graphics/graph-cli/default.nix15
-rw-r--r--pkgs/tools/misc/tailspin/default.nix6
-rw-r--r--pkgs/tools/security/bitwarden/cli.nix8
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
45 files changed, 1002 insertions, 612 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 078936c59290..6090ee5c7515 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2508,6 +2508,12 @@
     githubId = 5700358;
     name = "Thomas Blank";
   };
+  blinry = {
+    name = "blinry";
+    email = "mail@blinry.org";
+    github = "blinry";
+    githubId = 81277;
+  };
   blitz = {
     email = "js@alien8.de";
     matrix = "@js:ukvly.org";
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 82519e494452..a0a6d4fcc0d5 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -10,16 +10,16 @@ let
     inherit tiling_wm;
   };
   stableVersion = {
-    version = "2023.1.1.26"; # "Android Studio Hedgehog | 2023.1.1"
-    sha256Hash = "sha256-l36KmFVBT31BFX8L4OEPt0DEK9M392PV2Ws+BZeAZj0=";
+    version = "2023.1.1.27"; # "Android Studio Hedgehog | 2023.1.1 Patch 1"
+    sha256Hash = "sha256-XF+XyHGk7dPTBHKcx929qdFHu6hRJWFO382mh4SuWDs=";
   };
   betaVersion = {
-    version = "2023.2.1.19"; # "Android Studio Iguana | 2023.2.1 Beta 1"
-    sha256Hash = "sha256-lfJBX7RLIziiuv805+gdt8xfJkFjy0bSh77/bjkNFH4=";
+    version = "2023.2.1.20"; # "Android Studio Iguana | 2023.2.1 Beta 2"
+    sha256Hash = "sha256-cFEPgFAKkFx0d7PC4fTElTQVrBZMQs0RL3wR+hqTh2I=";
   };
   latestVersion = {
-    version = "2023.2.1.18"; # "Android Studio Iguana | 2023.2.1 Canary 18"
-    sha256Hash = "sha256-QvyA/1IvqIgGkBWryY0Q7LqGA6I1f9Xn8GA1g19jt+w=";
+    version = "2023.3.1.3"; # "Android Studio Jellyfish | 2023.3.1 Canary 3"
+    sha256Hash = "sha256-cPCn9dsQ0v1C2bxXzPoxjuucsMtkeO8D6dVt8hcIluQ=";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/quartus-prime/quartus.nix b/pkgs/applications/editors/quartus-prime/quartus.nix
index 4b2d5d8c894c..e20b86c089f1 100644
--- a/pkgs/applications/editors/quartus-prime/quartus.nix
+++ b/pkgs/applications/editors/quartus-prime/quartus.nix
@@ -25,20 +25,20 @@ let
   ) deviceIds;
 
   componentHashes = {
-    "arria_lite" = "07p862i3dn2c0s3p39y23g94id59nzrpzbwdmrdnhy61ca3m0vzp";
-    "cyclone" = "0dic35j9q1ndrn8i2vdqg9176fr3kn6c8iiv0c03nni0m4ar3ykn";
-    "cyclone10lp" = "03w4f71fhhwvnkzzly9m15nrdf0jw8m0ckhhzv1vg3nd9pkk86jh";
-    "cyclonev" = "091mlg2iy452fk28idbiwi3rhcgkbhg7ggh3xvnqa9jrfffq9pjc";
-    "max" = "0r649l2n6hj6x5v6hx8k4xnvd6df6wxajx1xp2prq6dpapjfb06y";
-    "max10" = "1p5ds3cq2gq2mzq2hjwwjhw50c931kgiqxaf7ss228c6s7rv6zpk";
+    "arria_lite" = "0fg9mmncbb8vmmbc3hxgmrgvgfphn3k4glv7w2yjq66vz6nd8zql";
+    "cyclone" = "1min1hjaw8ll0c1gvl6ihp7hczw36ag8l2yzgl6avcapcw53hgyp";
+    "cyclone10lp" = "1kjjm11hjg0h6i7kilxvhmkay3v416bhwp0frg2bnwggpk29drxj";
+    "cyclonev" = "10v928qhyfqw3lszhhcdishh1875k1bki9i0czx9252jprgd1g7g";
+    "max" = "04sszzz3qnjziirisshhdqs7ks8mcvy15lc1mpp9sgm09pwlhgbb";
+    "max10" = "0dqlq477zdx4pf5hlbkl1ycxiav19vx4sk6277cpxm8y1xz70972";
   };
 
-  version = "22.1std.2.922";
+  version = "23.1std.0.991";
 
   download = {name, sha256}: fetchurl {
     inherit name sha256;
-    # e.g. "22.1std.2.922" -> "22.1std.2/922"
-    url = "https://downloads.intel.com/akdlm/software/acdsinst/${lib.versions.majorMinor version}std.${lib.elemAt (lib.splitVersion version) 3}/${lib.elemAt (lib.splitVersion version) 4}/ib_installers/${name}";
+    # e.g. "23.1std.0.991" -> "23.1std/921"
+    url = "https://downloads.intel.com/akdlm/software/acdsinst/${lib.versions.majorMinor version}std/${lib.elemAt (lib.splitVersion version) 4}/ib_installers/${name}";
   };
 
 in stdenv.mkDerivation rec {
@@ -47,10 +47,10 @@ in stdenv.mkDerivation rec {
 
   src = map download ([{
     name = "QuartusLiteSetup-${version}-linux.run";
-    sha256 = "078x42pbc51n6ynrvzpwiwgi6g2sg4csv6x2vnnzjgx6bg5kq6l3";
+    sha256 = "1mg4db56rg407kdsvpzys96z59bls8djyddfzxi6bdikcklxz98h";
   } {
     name = "QuestaSetup-${version}-linux.run";
-    sha256 = "04pv5fq3kfy3xsjnj435zzpj5kf6329cbs1xgvkgmq1gpn4ji5zy";
+    sha256 = "0f9lyphk4vf4ijif3kb4iqf18jl357z9h8g16kwnzaqwfngh2ixk";
   }] ++ (map (id: {
     name = "${id}-${version}.qdz";
     sha256 = lib.getAttr id componentHashes;
diff --git a/pkgs/applications/misc/nwg-panel/default.nix b/pkgs/applications/misc/nwg-panel/default.nix
index ddc427654e98..67eb8cc314c4 100644
--- a/pkgs/applications/misc/nwg-panel/default.nix
+++ b/pkgs/applications/misc/nwg-panel/default.nix
@@ -2,6 +2,7 @@
 , python3Packages, wrapGAppsHook, gobject-introspection
 , gtk-layer-shell, pango, gdk-pixbuf, atk
 # Extra packages called by various internal nwg-panel modules
+, hyprland         # hyprctl
 , sway             # swaylock, swaymsg
 , systemd          # systemctl
 , wlr-randr        # wlr-randr
@@ -15,13 +16,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.9.16";
+  version = "0.9.20";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     rev = "v${version}";
-    hash = "sha256-xHAn8NWSWSm95SIX1M8HIQwgNBq5/K5xsanbkAKfXSw=";
+    hash = "sha256-Cq/kj61OmnHLd8EQK6QF67ALv3lMXKPGYUvTIeh90zQ=";
   };
 
   # No tests
@@ -40,15 +41,15 @@ python3Packages.buildPythonApplication rec {
 
   postInstall = ''
     mkdir -p $out/share/{applications,pixmaps}
-    cp $src/nwg-panel-config.desktop $out/share/applications/
-    cp $src/nwg-shell.svg $src/nwg-panel.svg $out/share/pixmaps/
+    cp $src/nwg-panel-config.desktop nwg-processes.desktop $out/share/applications/
+    cp $src/nwg-shell.svg $src/nwg-panel.svg nwg-processes.svg $out/share/pixmaps/
   '';
 
   preFixup = ''
     makeWrapperArgs+=(
       "''${gappsWrapperArgs[@]}"
       --prefix XDG_DATA_DIRS : "$out/share"
-      --prefix PATH : "${lib.makeBinPath [ light nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}"
+      --prefix PATH : "${lib.makeBinPath [ hyprland light nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}"
     )
   '';
 
diff --git a/pkgs/applications/networking/cluster/k0sctl/default.nix b/pkgs/applications/networking/cluster/k0sctl/default.nix
index 05294c0d437b..90c69e8c3340 100644
--- a/pkgs/applications/networking/cluster/k0sctl/default.nix
+++ b/pkgs/applications/networking/cluster/k0sctl/default.nix
@@ -6,16 +6,16 @@
 
 buildGo121Module rec {
   pname = "k0sctl";
-  version = "0.16.0";
+  version = "0.17.3";
 
   src = fetchFromGitHub {
     owner = "k0sproject";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-DUDvsF4NCFimpW9isqEhodieiJXwjhwhfXR2t/ho3kE=";
+    hash = "sha256-KdD4Wy6PQJQWHnFntYAm/gstWv82AgKK4XvQVM1fnL4=";
   };
 
-  vendorHash = "sha256-eJTVUSAcgE1AaOCEEc202sC0yIfMj30UoK/ObowJ9Zk=";
+  vendorHash = "sha256-0P1v7mZ+k7Th8/cwxRNlhDodzyagv0V9ZBXy1BUGk+k=";
 
   ldflags = [
     "-s"
@@ -27,9 +27,6 @@ buildGo121Module rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  # https://github.com/k0sproject/k0sctl/issues/569
-  checkFlags = [ "-skip=^Test(Unmarshal|VersionDefaulting)/version_not_given$" ];
-
   postInstall = ''
     for shell in bash zsh fish; do
       installShellCompletion --cmd ${pname} \
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index 6ec445204846..e0fcae460b42 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -20,7 +20,7 @@ let
     downloadPage = "https://teams.microsoft.com/downloads";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    maintainers = with maintainers; [ liff tricktron ];
+    maintainers = with maintainers; [ tricktron ];
     platforms = [ "x86_64-darwin" "aarch64-darwin" ];
     mainProgram = "teams";
   };
diff --git a/pkgs/applications/office/planify/default.nix b/pkgs/applications/office/planify/default.nix
index 401dc150b27d..9c8aad5e9cae 100644
--- a/pkgs/applications/office/planify/default.nix
+++ b/pkgs/applications/office/planify/default.nix
@@ -11,6 +11,7 @@
 , glib
 , glib-networking
 , gtk4
+, gtksourceview5
 , json-glib
 , libadwaita
 , libgee
@@ -24,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "planify";
-  version = "4.3.2";
+  version = "4.4";
 
   src = fetchFromGitHub {
     owner = "alainm23";
     repo = "planify";
     rev = version;
-    hash = "sha256-i+Up92Gl3FjgQ4GpcZruvYD//TPNWktSuWXGgDTwbWw=";
+    hash = "sha256-HX6ZMx2NUAQxEGLIk/wgUlQX0BFtee3+t/JdlMTIYBw=";
   };
 
   nativeBuildInputs = [
@@ -47,6 +48,7 @@ stdenv.mkDerivation rec {
     glib
     glib-networking
     gtk4
+    gtksourceview5
     json-glib
     libadwaita
     libgee
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 1cd6c2e31ffd..8247763e63ba 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "16.5.4",
-  "repo_hash": "sha256-N+5w42aIMnulItzx7ksK4Olkpr4AwN2ojcYs+xJfjeY=",
-  "yarn_hash": "03ryyk7dw7s8yjdx9wdrvllaydb0w5an06agkwf5npgr6x1bz3yv",
+  "version": "16.7.0",
+  "repo_hash": "sha256-l5TkjkVny2zQLUfbscG6adkmkC1KjxMAeFbSyUA1UbI=",
+  "yarn_hash": "1qxz2p969qg7kzyvhwxws5zwdw986gdq9gxllzi58c5c56jz49zf",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v16.5.4-ee",
+  "rev": "v16.7.0-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "16.5.4",
-    "GITLAB_PAGES_VERSION": "16.5.4",
-    "GITLAB_SHELL_VERSION": "14.29.0",
-    "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.4.0",
-    "GITLAB_WORKHORSE_VERSION": "16.5.4"
+    "GITALY_SERVER_VERSION": "16.7.0",
+    "GITLAB_PAGES_VERSION": "16.7.0",
+    "GITLAB_SHELL_VERSION": "14.32.0",
+    "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.5.0",
+    "GITLAB_WORKHORSE_VERSION": "16.7.0"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 4330a8f56971..dbc86c730eea 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -101,7 +101,7 @@ let
     buildPhase = ''
       runHook preBuild
 
-      bundle exec rake gettext:po_to_json RAILS_ENV=production NODE_ENV=production
+      bundle exec rake gettext:compile RAILS_ENV=production NODE_ENV=production
       bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
       bundle exec rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production
       bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 1f2b2881c87d..b56edca8fa9c 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "16.5.4";
+  version = "16.7.0";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -18,10 +18,10 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      hash = "sha256-6XXXTeLw7+ScWUB81Pno8BZkkSFJ12SnZKu8430yQKo=";
+      hash = "sha256-YLynUHE1lb0dfsZsalz91jSSk1Y5r7kqT2AcE27xf04=";
     };
 
-    vendorHash = "sha256-QLt/12P6OLpLqCINROLmzhoRpLGrB9WzME7FzhIcb0Q=";
+    vendorHash = "sha256-btWHZMy1aBSsUVs30IqrdBCO79XQvTMXxkxYURF2Nqs=";
 
     ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];
 
diff --git a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
index 1e953b9d169b..ffec1e0057d3 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "gitlab-org";
     repo = "container-registry";
     inherit rev;
-    sha256 = "sha256-egslb+8+RsDjpL5xQpdCU3QwFH59grRCkODQnAkZe/0=";
+    hash = "sha256-vQ5bP2S1McZxD+Mjw0y/+GB8ntv8nQynM1cIWtUK7pU=";
   };
 
-  vendorHash = "sha256-IFXIr0xYJCKM5VUHQV+4S/+FEAhFEjbMaU+9JWIh8cA=";
+  vendorHash = "sha256-rDmmCwz/+FBzbREKIqwQulcOKwd4Y6/MITyNpB+pfwQ=";
 
   patches = [
     ./Disable-inmemory-storage-driver-test.patch
diff --git a/pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix b/pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix
index 9a513a1590fd..d6a35bc96cad 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gitlab-elasticsearch-indexer";
-  version = "4.4.0";
+  version = "4.5.0";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-elasticsearch-indexer";
     rev = "v${version}";
-    sha256 = "sha256-Qywf5ACxXqY1iUZCsROTLmWeM8gFcqZvnClRo5DlnjY=";
+    sha256 = "sha256-6Y2ARnFjbz6nFhWGRhzgAY8s0aX24oLMY1016oRD9oo=";
   };
 
-  vendorHash = "sha256-2dUlztXnr7OH/gQ0Q4jQpuO1MdkOy1O4BNGiY223DAA=";
+  vendorHash = "sha256-jpjfQl2z5yPnlGEYW6KKBfd4quchT+bU/RU6vwaB4gQ=";
 
   buildInputs = [ icu ];
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
index 76b328e17eaf..596e5770edb2 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "16.5.4";
+  version = "16.7.0";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    hash = "sha256-hMd+0WCY59orQa5IYh6Lf5ZMj564Dgo8mEgo7svv6Rs=";
+    hash = "sha256-8jODsK5+o1fEaTuFv6bXfZp4oA87JUQbTdYQn66DKJA=";
   };
 
-  vendorHash = "sha256-YG+ERETxp0BPh/V4820pMXTXu9YcodRhzme6qZJBC9Q=";
+  vendorHash = "sha256-NMky8v0YmN2pSeKJ7G0+DWAZvUx2JlwFbqPHvciYroM=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 882cb5f53844..568ba88deeca 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,21 +2,21 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "14.29.0";
+  version = "14.32.0";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-MhvFLBH0CLiGNTEjHy7vDhLE3YsvbBL8XRNytPEa6uU=";
+    sha256 = "sha256-fZttdcIdPeiy2ncDyseR1BnR6GBoSRsFkn7Mxc+mTA8=";
   };
 
   buildInputs = [ ruby libkrb5 ];
 
   patches = [ ./remove-hardcoded-locations.patch ];
 
-  vendorHash = "sha256-g1ZaRY0A7oREByNicPvnuxakYrNQNXg4Vy94iyNVdDY=";
+  vendorHash = "sha256-tdYBEV/dKnIJ+OWTF3/5bIbWVdE/ulMrMD/LMzj1QZE=";
 
   postInstall = ''
     cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index c74b8106dc28..c839269a1f93 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "16.5.4";
+  version = "16.7.0";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   sourceRoot = "${src.name}/workhorse";
 
-  vendorHash = "sha256-m8cDhI6DzFnSEZscZQfFm8l9MTJqTqxhBFJeTX1HWiE=";
+  vendorHash = "sha256-1oeToeqGXSj5CdL5dgWsnN/VpwALlus93P0Ed7G8TIw=";
   buildInputs = [ git ];
   ldflags = [ "-X main.Version=${version}" ];
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 2107186fe159..0ddaf9afb3a3 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -28,9 +28,7 @@ gem 'rails', '~> 7.0.8' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab' # rubocop:todo Gemfile/MissingFeatureCategory
 
-gem 'vite_rails' # rubocop:todo Gemfile/MissingFeatureCategory
-
-gem 'bootsnap', '~> 1.16.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'bootsnap', '~> 1.17.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'openssl', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'ipaddr', '~> 1.2.5' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -42,12 +40,16 @@ group :monorepo do
   gem 'gitlab-utils', path: 'gems/gitlab-utils' # rubocop:todo Gemfile/MissingFeatureCategory
 end
 
+gem 'gitlab-backup-cli', path: 'gems/gitlab-backup-cli', require: 'gitlab/backup/cli', feature_category: :backup_restore
+
+gem 'gitlab-secret_detection', path: 'gems/gitlab-secret_detection', feature_category: :secret_detection
+
 # Responders respond_to and respond_with
 gem 'responders', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'sprockets', '~> 3.7.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
-gem 'view_component', '~> 3.6.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'view_component', '~> 3.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Supported DBs
 gem 'pg', '~> 1.5.4' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -63,7 +65,7 @@ gem 'marginalia', '~> 1.11.1' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'declarative_policy', '~> 1.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Authentication libraries
-gem 'devise', '~> 4.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'devise', '~> 4.9.3', feature_category: :system_access
 gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'vendor/gems/devise-pbkdf2-encryptable' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'bcrypt', '~> 3.1', '>= 3.1.14' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'doorkeeper', '~> 5.6', '>= 5.6.6' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -119,7 +121,7 @@ gem 'acme-client', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'browser', '~> 5.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # OS detection for usage ping
-gem 'ohai', '~> 17.9' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'ohai', '~> 18.1' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # GPG
 gem 'gpgme', '~> 2.0.23' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -142,7 +144,7 @@ gem 'rack-cors', '~> 2.0.1', require: 'rack/cors' # rubocop:todo Gemfile/Missing
 gem 'graphql', '~> 2.0.27', feature_category: :api
 gem 'graphql-docs', '~> 4.0.0', group: [:development, :test], feature_category: :api
 gem 'graphiql-rails', '~> 1.8.0', feature_category: :api
-gem 'apollo_upload_server', '~> 2.1.0', feature_category: :api
+gem 'apollo_upload_server', '~> 2.1.5', feature_category: :api
 gem 'graphlient', '~> 0.5.0', feature_category: :importers # Used by BulkImport feature (group::import)
 
 # Generate Fake data
@@ -177,8 +179,13 @@ gem 'fog-aliyun', '~> 0.4' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'gitlab-fog-azure-rm', '~> 1.8.0', require: 'fog/azurerm' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # for Google storage
-gem 'google-cloud-storage', '~> 1.44.0' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'google-apis-core', '~> 0.10.0' # rubocop:todo Gemfile/MissingFeatureCategory
+
+# Need this specific version of google-apis-storage_v1 so that fog-google will utilize the updated list_objects with
+# match_glob support in google-apis-core 0.11.1. Because of this we also have to bump google-cloud-storage to 1.45.0.
+gem 'google-apis-storage_v1', '~> 0.29' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'google-cloud-storage', '~> 1.45.0' # rubocop:todo Gemfile/MissingFeatureCategory
+# We need >= 0.11.1 because that's when match_glob support is added to list_objects
+gem 'google-apis-core', '~> 0.11.0', '>= 0.11.1' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'google-apis-compute_v1', '~> 0.57.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'google-apis-container_v1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'google-apis-container_v1beta1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -196,9 +203,9 @@ gem 'seed-fu', '~> 2.3.7' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'elasticsearch-model', '~> 7.2' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'elasticsearch-api',   '7.13.3' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'aws-sdk-core', '~> 3.185.1' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'aws-sdk-core', '~> 3.190.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'aws-sdk-cloudformation', '~> 1' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'aws-sdk-s3', '~> 1.136.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'aws-sdk-s3', '~> 1.141.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'faraday_middleware-aws-sigv4', '~>0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # rubocop:todo Gemfile/MissingFeatureCategory
 
@@ -208,7 +215,7 @@ gem 'deckar01-task_list', '2.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'commonmarker', '~> 0.23.10' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'kramdown', '~> 2.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'RedCloth', '~> 4.3.2' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'RedCloth', '~> 4.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'org-ruby', '~> 0.9.12' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'creole', '~> 0.5.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'wikicloth', '0.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -216,16 +223,16 @@ gem 'asciidoctor', '~> 2.0.18' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'asciidoctor-include-ext', '~> 0.4.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'asciidoctor-plantuml', '~> 0.0.16' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'asciidoctor-kroki', '~> 0.8.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'rouge', '~> 4.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'rouge', '~> 4.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'truncato', '~> 0.7.12' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'nokogiri', '~> 1.15', '>= 1.15.4' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'nokogiri', '~> 1.15', '>= 1.15.5' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Calendar rendering
 gem 'icalendar' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Diffs
 gem 'diffy', '~> 3.4' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'diff_match_patch', '~> 0.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'diff_match_patch', '~> 0.1.0', path: 'vendor/gems/diff_match_patch', feature_category: :team_planning
 
 # Application server
 gem 'rack', '~> 2.2.8' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -241,12 +248,11 @@ end
 gem 'state_machines-activerecord', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # CI domain tags
-gem 'acts-as-taggable-on', '~> 9.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Background jobs
-gem 'sidekiq', '~> 6.5.7' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'sidekiq-cron', '~> 1.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'redis-namespace', '~> 1.9.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'sidekiq', '~> 6.5.10' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'sidekiq-cron', '~> 1.12.0', feature_category: :shared
 gem 'gitlab-sidekiq-fetcher', path: 'vendor/gems/sidekiq-reliable-fetch', require: 'sidekiq-reliable-fetch' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Cron Parser
@@ -262,11 +268,11 @@ gem 'rainbow', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'ruby-progressbar', '~> 1.10' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Linear-time regex library for untrusted regular expressions
-gem 're2', '2.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 're2', '2.5.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Misc
 
-gem 'semver_dialects', '~> 1.2.1' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'semver_dialects', '~> 1.5', feature_category: :static_application_security_testing
 gem 'version_sorter', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'csv_builder', path: 'gems/csv_builder' # rubocop:todo Gemfile/MissingFeatureCategory
 
@@ -278,23 +284,24 @@ gem 'device_detector' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Redis
 gem 'redis', '~> 4.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'redis-namespace', '~> 1.10.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'connection_pool', '~> 2.4' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Redis session store
 gem 'redis-actionpack', '~> 5.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Discord integration
-gem 'discordrb-webhooks', '~> 3.4', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'discordrb-webhooks', '~> 3.4', require: false, feature_category: :integrations
 
 # Jira integration
-gem 'jira-ruby', '~> 2.1.4' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'atlassian-jwt', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'jira-ruby', '~> 2.1.4', feature_category: :integrations
+gem 'atlassian-jwt', '~> 0.2.0', feature_category: :integrations
 
 # Slack integration
-gem 'slack-messenger', '~> 2.3.4' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'slack-messenger', '~> 2.3.4', feature_category: :integrations
 
 # FogBugz integration
-gem 'ruby-fogbugz', '~> 0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'ruby-fogbugz', '~> 0.3.0', feature_category: :importers
 
 # Kubernetes integration
 gem 'kubeclient', '~> 4.11.0' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -308,7 +315,7 @@ gem 'sanitize', '~> 6.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'babosa', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Sanitizes SVG input
-gem 'loofah', '~> 2.21.4' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'loofah', '~> 2.22.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Used to provide license templates
 gem 'licensee', '~> 9.16' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -334,7 +341,7 @@ gem 'terser', '1.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'click_house-client', path: 'gems/click_house-client', require: 'click_house/client' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'addressable', '~> 2.8' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'tanuki_emoji', '~> 0.7' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'tanuki_emoji', '~> 0.9' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'gon', '~> 6.4.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'request_store', '~> 1.5.1' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'base32', '~> 0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -345,10 +352,10 @@ gem 'gitlab-license', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'rack-attack', '~> 6.7.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Sentry integration
-gem 'sentry-raven', '~> 3.1' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'sentry-ruby', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'sentry-rails', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'sentry-sidekiq', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'sentry-raven', '~> 3.1', feature_category: :error_tracking
+gem 'sentry-ruby', '~> 5.10.0', feature_category: :error_tracking
+gem 'sentry-rails', '~> 5.10.0', feature_category: :error_tracking
+gem 'sentry-sidekiq', '~> 5.10.0', feature_category: :error_tracking
 
 # PostgreSQL query parsing
 #
@@ -363,10 +370,9 @@ gem 'gitlab-labkit', '~> 0.34.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'thrift', '>= 0.16.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # I18n
-gem 'rails-i18n', '~> 7.0' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'gettext_i18n_rails', '~> 1.11.0' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'gettext_i18n_rails_js', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'gettext', '~> 3.3', require: false, group: :development # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'rails-i18n', '~> 7.0', feature_category: :internationalization
+gem 'gettext_i18n_rails', '~> 1.11.0', feature_category: :internationalization
+gem 'gettext', '~> 3.3', require: false, group: [:development, :test], feature_category: :internationalization
 
 gem 'batch-loader', '~> 2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
 
@@ -381,17 +387,17 @@ gem 'snowplow-tracker', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Metrics
 gem 'webrick', '~> 1.8.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'prometheus-client-mmap', '~> 0.28', '>= 0.28.1', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'prometheus-client-mmap', '~> 1.0', '>= 1.0.2', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 group :development do
-  gem 'lefthook', '~> 1.5.2', require: false, feature_category: :tooling
+  gem 'lefthook', '~> 1.5.5', require: false, feature_category: :tooling
   gem 'rubocop', feature_category: :tooling
   gem 'solargraph', '~> 0.47.2', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
   gem 'letter_opener_web', '~> 2.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
-  gem 'lookbook', '~> 2.0', '>= 2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'lookbook', '~> 2.2' # rubocop:todo Gemfile/MissingFeatureCategory
 
   # Better errors handler
   gem 'better_errors', '~> 2.10.1' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -399,11 +405,17 @@ group :development do
   gem 'sprite-factory', '~> 1.7' # rubocop:todo Gemfile/MissingFeatureCategory
 
   gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
+
+  gem 'ruby-lsp', "~> 0.13.1", require: false, feature_category: :tooling
+
+  gem 'ruby-lsp-rails', "~> 0.2.8", feature_category: :tooling
+
+  gem 'ruby-lsp-rspec', "~> 0.1.8", require: false, feature_category: :tooling
 end
 
 group :development, :test do
   gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
-  gem 'bullet', '~> 7.1.1' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'bullet', '~> 7.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'parser', '~> 3.2', '>= 3.2.2.4' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'pry-byebug' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -411,9 +423,9 @@ group :development, :test do
 
   gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'database_cleaner', '~> 1.7.0' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'database_cleaner-active_record', '~> 2.1.0', feature_category: :database
   gem 'factory_bot_rails', '~> 6.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
-  gem 'rspec-rails', '~> 6.0.3' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'rspec-rails', '~> 6.1.0', feature_category: :shared
 
   # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
   gem 'minitest', '~> 5.11.0' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -421,9 +433,9 @@ group :development, :test do
   gem 'spring', '~> 4.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'spring-commands-rspec', '~> 1.0.4' # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'gitlab-styles', '~> 10.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'gitlab-styles', '~> 11.0.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'haml_lint', '~> 0.40.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'haml_lint', '~> 0.52', require: false # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'bundler-audit', '~> 0.9.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
   # Benchmarking & profiling
@@ -435,7 +447,7 @@ group :development, :test do
 
   gem 'knapsack', '~> 1.21.1', feature_category: :tooling
   gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling
-  gem 'test_file_finder', '~> 0.1.3', feature_category: :tooling
+  gem 'test_file_finder', '~> 0.2.1', feature_category: :tooling
 
   gem 'simple_po_parser', '~> 1.1.6', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
@@ -446,10 +458,17 @@ group :development, :test do
   gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' # rubocop:todo Gemfile/MissingFeatureCategory
 
   gem 'pact', '~> 1.63' # rubocop:todo Gemfile/MissingFeatureCategory
+
+  # For now we only use vite in development / test, and not for production builds
+  # See: https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/106
+  gem 'vite_rails', '~> 3.0.17', feature_category: :shared
+  gem 'vite_ruby', '~> 3.5.0', feature_category: :shared
+
+  gem 'gitlab-housekeeper', path: 'gems/gitlab-housekeeper', feature_category: :tooling
 end
 
 group :development, :test, :danger do
-  gem 'gitlab-dangerfiles', '~> 4.3.2', require: false, feature_category: :tooling
+  gem 'gitlab-dangerfiles', '~> 4.6.0', require: false, feature_category: :tooling
 end
 
 group :development, :test, :coverage do
@@ -467,7 +486,7 @@ end
 # Gems required in various pipelines
 group :development, :test, :monorepo do
   gem 'gitlab-rspec', path: 'gems/gitlab-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
-  gem 'rspec_flaky', path: 'gems/rspec_flaky' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'gitlab-rspec_flaky', path: 'gems/gitlab-rspec_flaky', feature_category: :tooling
 end
 
 group :test do
@@ -476,10 +495,11 @@ group :test do
   gem 'rspec_profiling', '~> 0.0.6', feature_category: :tooling
   gem 'rspec-benchmark', '~> 0.6.0', feature_category: :tooling
   gem 'rspec-parameterized', '~> 1.0', require: false, feature_category: :tooling
+  gem 'os', '~> 1.1', feature_category: :tooling
 
   gem 'capybara', '~> 3.39', '>= 3.39.2' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'capybara-screenshot', '~> 1.0.26' # rubocop:todo Gemfile/MissingFeatureCategory
-  gem 'selenium-webdriver', '~> 4.14' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'selenium-webdriver', '~> 4.16' # rubocop:todo Gemfile/MissingFeatureCategory
 
   gem 'graphlyte', '~> 1.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
@@ -488,7 +508,7 @@ group :test do
   gem 'webmock', '~> 3.19.1' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'rails-controller-testing' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'concurrent-ruby', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory
-  gem 'test-prof', '~> 1.2.3' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'test-prof', '~> 1.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'rspec_junit_formatter' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'guard-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'axe-core-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -496,12 +516,12 @@ group :test do
   # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
   gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'gitlab_quality-test_tooling', '~> 1.3.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'gitlab_quality-test_tooling', '~> 1.9.0', require: false, feature_category: :tooling
 end
 
 gem 'octokit', '~> 6.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
-gem 'gitlab-mail_room', '~> 0.0.23', require: 'mail_room' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'gitlab-mail_room', '~> 0.0.24', require: 'mail_room', feature_category: :shared
 
 gem 'email_reply_trimmer', '~> 0.1' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'html2text' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -531,14 +551,14 @@ gem 'ssh_data', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'spamcheck', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 16.5.0.pre.rc1' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'gitaly', '~> 16.7.0-rc1', feature_category: :gitaly
 
 # KAS GRPC protocol definitions
-gem 'kas-grpc', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'kas-grpc', '~> 0.3.0', feature_category: :deployment_management
 
 gem 'grpc', '~> 1.58.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
-gem 'google-protobuf', '~> 3.24', '>= 3.24.4' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'google-protobuf', '~> 3.25', '>= 3.25.1' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'toml-rb', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
@@ -547,7 +567,7 @@ gem 'flipper', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'flipper-active_record', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'flipper-active_support_cache_store', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'unleash', '~> 3.2.2' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'gitlab-experiment', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'gitlab-experiment', '~> 0.9.1', feature_category: :shared
 
 # Structured logging
 gem 'lograge', '~> 0.5' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -613,7 +633,7 @@ gem 'cvss-suite', '~> 3.0.1', require: 'cvss_suite' # rubocop:todo Gemfile/Missi
 gem 'arr-pm', '~> 0.0.12' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Remote Development
-gem 'devfile', '~> 0.0.23.pre.alpha1' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'devfile', '~> 0.0.24.pre.alpha1', feature_category: :remote_development
 
 # Apple plist parsing
 gem 'CFPropertyList', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -630,3 +650,5 @@ gem 'net-protocol', '~> 0.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'net-http', '= 0.1.1' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
+
+gem 'gitlab-sdk', feature_category: :application_instrumentation
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 052a59d6b7f7..e106367ae951 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -24,20 +24,42 @@ PATH
       typhoeus (~> 1.0, >= 1.0.1)
 
 PATH
+  remote: gems/gitlab-backup-cli
+  specs:
+    gitlab-backup-cli (0.0.1)
+      thor (~> 1.3)
+
+PATH
+  remote: gems/gitlab-housekeeper
+  specs:
+    gitlab-housekeeper (0.1.0)
+      httparty
+      rubocop
+
+PATH
   remote: gems/gitlab-http
   specs:
     gitlab-http (0.1.0)
       activesupport (~> 7)
+      concurrent-ruby (~> 1.2)
       httparty (~> 0.21.0)
       ipaddress (~> 0.8.3)
       nokogiri (~> 1.15.4)
       railties (~> 7)
 
 PATH
+  remote: gems/gitlab-rspec_flaky
+  specs:
+    gitlab-rspec_flaky (0.1.0)
+      activesupport (>= 6.1, < 8)
+      rspec (~> 3.0)
+
+PATH
   remote: gems/gitlab-rspec
   specs:
     gitlab-rspec (0.1.0)
-      activesupport (>= 6.1, < 7.1)
+      activerecord (>= 6.1, < 8)
+      activesupport (>= 6.1, < 8)
       rspec (~> 3.0)
 
 PATH
@@ -54,6 +76,13 @@ PATH
       pg_query
 
 PATH
+  remote: gems/gitlab-secret_detection
+  specs:
+    gitlab-secret_detection (0.1.0)
+      re2 (~> 2.4)
+      toml-rb (~> 2.2)
+
+PATH
   remote: gems/gitlab-utils
   specs:
     gitlab-utils (0.1.0)
@@ -71,13 +100,6 @@ PATH
       oj (~> 3.13.16)
 
 PATH
-  remote: gems/rspec_flaky
-  specs:
-    rspec_flaky (0.1.0)
-      activesupport (>= 6.1, < 8)
-      rspec (~> 3.0)
-
-PATH
   remote: vendor/gems/attr_encrypted
   specs:
     attr_encrypted (3.2.4)
@@ -103,7 +125,12 @@ PATH
   specs:
     devise-pbkdf2-encryptable (0.0.0)
       devise (~> 4.0)
-      devise-two-factor (~> 4.0)
+      devise-two-factor (~> 4.1.1)
+
+PATH
+  remote: vendor/gems/diff_match_patch
+  specs:
+    diff_match_patch (0.1.0)
 
 PATH
   remote: vendor/gems/mail-smtp_pool
@@ -152,7 +179,7 @@ PATH
 PATH
   remote: vendor/gems/sidekiq-reliable-fetch
   specs:
-    gitlab-sidekiq-fetcher (0.9.0)
+    gitlab-sidekiq-fetcher (0.10.0)
       json (>= 2.5)
       sidekiq (~> 6.1)
 
@@ -161,7 +188,7 @@ GEM
   specs:
     CFPropertyList (3.0.5)
       rexml
-    RedCloth (4.3.2)
+    RedCloth (4.3.3)
     acme-client (2.0.11)
       faraday (>= 1.0, < 3.0.0)
       faraday-retry (~> 1.0)
@@ -233,8 +260,8 @@ GEM
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
-    acts-as-taggable-on (9.0.1)
-      activerecord (>= 6.0, < 7.1)
+    acts-as-taggable-on (10.0.0)
+      activerecord (>= 6.1, < 7.2)
     addressable (2.8.1)
       public_suffix (>= 2.0.2, < 6.0)
     aes_key_wrap (1.1.0)
@@ -242,9 +269,12 @@ GEM
     aliyun-sdk (0.8.0)
       nokogiri (~> 1.6)
       rest-client (~> 2.0)
+    amatch (0.4.1)
+      mize
+      tins (~> 1.0)
     android_key_attestation (0.3.0)
-    apollo_upload_server (2.1.0)
-      actionpack (>= 4.2)
+    apollo_upload_server (2.1.5)
+      actionpack (>= 6.1.6)
       graphql (>= 1.8)
     app_store_connect (0.29.0)
       activesupport (>= 6.0.0)
@@ -265,24 +295,24 @@ GEM
       execjs (> 0)
     awesome_print (1.9.2)
     awrence (1.2.1)
-    aws-eventstream (1.2.0)
+    aws-eventstream (1.3.0)
     aws-partitions (1.761.0)
     aws-sdk-cloudformation (1.41.0)
       aws-sdk-core (~> 3, >= 3.99.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-core (3.185.1)
-      aws-eventstream (~> 1, >= 1.0.2)
+    aws-sdk-core (3.190.0)
+      aws-eventstream (~> 1, >= 1.3.0)
       aws-partitions (~> 1, >= 1.651.0)
-      aws-sigv4 (~> 1.5)
+      aws-sigv4 (~> 1.8)
       jmespath (~> 1, >= 1.6.1)
     aws-sdk-kms (1.64.0)
       aws-sdk-core (~> 3, >= 3.165.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.136.0)
-      aws-sdk-core (~> 3, >= 3.181.0)
+    aws-sdk-s3 (1.141.0)
+      aws-sdk-core (~> 3, >= 3.189.0)
       aws-sdk-kms (~> 1)
-      aws-sigv4 (~> 1.6)
-    aws-sigv4 (1.6.0)
+      aws-sigv4 (~> 1.8)
+    aws-sigv4 (1.8.0)
       aws-eventstream (~> 1, >= 1.0.2)
     axe-core-api (4.6.0)
       dumb_delegator
@@ -322,11 +352,11 @@ GEM
     bindata (2.4.11)
     binding_of_caller (1.0.0)
       debug_inspector (>= 0.0.1)
-    bootsnap (1.16.0)
+    bootsnap (1.17.0)
       msgpack (~> 1.2)
     browser (5.3.1)
     builder (3.2.4)
-    bullet (7.1.1)
+    bullet (7.1.2)
       activesupport (>= 3.0.0)
       uniform_notifier (~> 1.11)
     bundler-audit (0.9.1)
@@ -354,14 +384,15 @@ GEM
     character_set (1.4.1)
       sorted_set (~> 1.0)
     charlock_holmes (0.7.7)
-    chef-config (16.10.17)
+    chef-config (18.3.0)
       addressable
-      chef-utils (= 16.10.17)
+      chef-utils (= 18.3.0)
       fuzzyurl
       mixlib-config (>= 2.2.12, < 4.0)
       mixlib-shellout (>= 2.0, < 4.0)
       tomlrb (~> 1.2)
-    chef-utils (16.10.17)
+    chef-utils (18.3.0)
+      concurrent-ruby
     chunky_png (1.4.0)
     circuitbox (2.0.0)
     citrus (3.0.2)
@@ -411,9 +442,13 @@ GEM
       danger
       gitlab (~> 4.2, >= 4.2.0)
     dartsass (1.49.8)
-    database_cleaner (1.7.0)
+    database_cleaner-active_record (2.1.0)
+      activerecord (>= 5.a)
+      database_cleaner-core (~> 2.0.0)
+    database_cleaner-core (2.0.1)
     date (3.3.3)
     dead_end (3.1.1)
+    deb_version (1.0.2)
     debug_inspector (1.1.0)
     deckar01-task_list (2.3.3)
       html-pipeline
@@ -435,9 +470,9 @@ GEM
       thor (>= 0.19, < 2)
     descendants_tracker (0.0.4)
       thread_safe (~> 0.3, >= 0.3.1)
-    devfile (0.0.23.pre.alpha1)
+    devfile (0.0.24.pre.alpha1)
     device_detector (1.0.0)
-    devise (4.8.1)
+    devise (4.9.3)
       bcrypt (~> 3.0)
       orm_adapter (~> 0.1)
       railties (>= 4.1.0)
@@ -450,9 +485,8 @@ GEM
       railties (~> 7.0)
       rotp (~> 6.0)
     diff-lcs (1.5.0)
-    diff_match_patch (0.1.0)
     diffy (3.4.2)
-    digest-crc (0.6.4)
+    digest-crc (0.6.5)
       rake (>= 12.0.0, < 14.0.0)
     discordrb-webhooks (3.4.2)
       rest-client (>= 2.0.0)
@@ -609,6 +643,7 @@ GEM
       fog-core
       nokogiri (>= 1.5.11, < 2.0.0)
     formatador (0.2.5)
+    forwardable (1.3.3)
     fugit (1.8.1)
       et-orbi (~> 1, >= 1.2.7)
       raabro (~> 1.4)
@@ -627,31 +662,29 @@ GEM
     gemoji (3.0.1)
     get_process_mem (0.2.7)
       ffi (~> 1.0)
-    gettext (3.3.6)
+    gettext (3.4.9)
+      erubi
       locale (>= 2.0.5)
+      prime
+      racc
       text (>= 1.3.0)
     gettext_i18n_rails (1.11.0)
       fast_gettext (>= 0.9.0)
-    gettext_i18n_rails_js (1.3.0)
-      gettext (>= 3.0.2)
-      gettext_i18n_rails (>= 0.7.1)
-      po_to_json (>= 1.0.0)
-      rails (>= 3.2.0)
     git (1.18.0)
       addressable (~> 2.8)
       rchardet (~> 1.8)
-    gitaly (16.5.0.pre.rc1)
+    gitaly (16.7.0.pre.rc1)
       grpc (~> 1.0)
     gitlab (4.19.0)
       httparty (~> 0.20)
       terminal-table (>= 1.5.1)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-dangerfiles (4.3.2)
+    gitlab-dangerfiles (4.6.0)
       danger (>= 9.3.0)
       danger-gitlab (>= 8.0.0)
       rake (~> 13.0)
-    gitlab-experiment (0.8.0)
+    gitlab-experiment (0.9.1)
       activesupport (>= 3.0)
       request_store (>= 1.0)
     gitlab-fog-azure-rm (1.8.0)
@@ -669,14 +702,20 @@ GEM
       pg_query (~> 4.2.3)
       redis (> 3.0.0, < 6.0.0)
     gitlab-license (2.3.0)
-    gitlab-mail_room (0.0.23)
+    gitlab-mail_room (0.0.24)
       jwt (>= 2.0)
       net-imap (>= 0.2.1)
       oauth2 (>= 1.4.4, < 3)
+      redis (>= 4, < 6)
+      redis-namespace (>= 1.8.2)
     gitlab-markup (1.9.0)
     gitlab-net-dns (0.9.2)
-    gitlab-styles (10.1.0)
-      rubocop (~> 1.50.2)
+    gitlab-sdk (0.2.3)
+      activesupport (>= 5.2.0)
+      rake (~> 13.0)
+      snowplow-tracker (~> 0.8.0)
+    gitlab-styles (11.0.0)
+      rubocop (~> 1.57.1)
       rubocop-graphql (~> 0.18)
       rubocop-performance (~> 1.15)
       rubocop-rails (~> 2.17)
@@ -688,8 +727,9 @@ GEM
       omniauth (>= 1.3, < 3)
       pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
       rubyntlm (~> 0.5)
-    gitlab_quality-test_tooling (1.3.0)
+    gitlab_quality-test_tooling (1.9.0)
       activesupport (>= 6.1, < 7.2)
+      amatch (~> 0.4.1)
       gitlab (~> 4.19)
       http (~> 5.0)
       nokogiri (~> 1.10)
@@ -716,7 +756,7 @@ GEM
       google-apis-core (>= 0.9.1, < 2.a)
     google-apis-container_v1beta1 (0.43.0)
       google-apis-core (>= 0.9.1, < 2.a)
-    google-apis-core (0.10.0)
+    google-apis-core (0.11.2)
       addressable (~> 2.5, >= 2.5.1)
       googleauth (>= 0.16.2, < 2.a)
       httpclient (>= 2.8.1, < 3.a)
@@ -739,8 +779,8 @@ GEM
       google-apis-core (>= 0.9.1, < 2.a)
     google-apis-sqladmin_v1beta4 (0.41.0)
       google-apis-core (>= 0.9.1, < 2.a)
-    google-apis-storage_v1 (0.19.0)
-      google-apis-core (>= 0.9.0, < 2.a)
+    google-apis-storage_v1 (0.29.0)
+      google-apis-core (>= 0.11.0, < 2.a)
     google-cloud-core (1.6.0)
       google-cloud-env (~> 1.0)
       google-cloud-errors (~> 1.0)
@@ -750,15 +790,15 @@ GEM
     google-cloud-profiler-v2 (0.4.0)
       gapic-common (>= 0.18.0, < 2.a)
       google-cloud-errors (~> 1.0)
-    google-cloud-storage (1.44.0)
+    google-cloud-storage (1.45.0)
       addressable (~> 2.8)
       digest-crc (~> 0.4)
       google-apis-iamcredentials_v1 (~> 0.1)
-      google-apis-storage_v1 (~> 0.19.0)
+      google-apis-storage_v1 (~> 0.29.0)
       google-cloud-core (~> 1.6)
       googleauth (>= 0.16.2, < 2.a)
       mini_mime (~> 1.0)
-    google-protobuf (3.24.4)
+    google-protobuf (3.25.1)
     googleapis-common-protos (1.4.0)
       google-protobuf (~> 3.14)
       googleapis-common-protos-types (~> 1.2)
@@ -839,11 +879,11 @@ GEM
     haml (5.2.2)
       temple (>= 0.8.0)
       tilt
-    haml_lint (0.40.1)
-      haml (>= 4.0, < 5.3)
+    haml_lint (0.52.0)
+      haml (>= 4.0)
       parallel (~> 1.10)
       rainbow
-      rubocop (>= 0.50.0)
+      rubocop (>= 1.0)
       sysexits (~> 1.1)
     hamlit (2.15.0)
       temple (>= 0.8.2)
@@ -934,7 +974,7 @@ GEM
       activerecord
       kaminari-core (= 1.2.2)
     kaminari-core (1.2.2)
-    kas-grpc (0.2.0)
+    kas-grpc (0.3.0)
       grpc (~> 1.0)
     knapsack (1.21.1)
       rake
@@ -947,9 +987,10 @@ GEM
       jsonpath (~> 1.0)
       recursive-open-struct (~> 1.1, >= 1.1.1)
       rest-client (~> 2.0)
+    language_server-protocol (3.17.0.3)
     launchy (2.5.0)
       addressable (~> 2.7)
-    lefthook (1.5.2)
+    lefthook (1.5.5)
     letter_opener (1.7.0)
       launchy (~> 2.2)
     letter_opener_web (2.0.0)
@@ -957,7 +998,7 @@ GEM
       letter_opener (~> 1.7)
       railties (>= 5.2)
       rexml
-    libyajl2 (1.2.0)
+    libyajl2 (2.1.0)
     license_finder (7.0.1)
       bundler
       rubyzip (>= 1, < 3)
@@ -984,10 +1025,10 @@ GEM
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.21.4)
+    loofah (2.22.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.12.0)
-    lookbook (2.0.1)
+    lookbook (2.2.0)
       activemodel
       css_parser
       htmlbeautifier (~> 1.3)
@@ -1020,14 +1061,16 @@ GEM
     mini_histogram (0.3.1)
     mini_magick (4.10.1)
     mini_mime (1.1.2)
-    mini_portile2 (2.8.4)
+    mini_portile2 (2.8.5)
     minitest (5.11.3)
     mixlib-cli (2.1.8)
-    mixlib-config (3.0.9)
+    mixlib-config (3.0.27)
       tomlrb
     mixlib-log (3.0.9)
-    mixlib-shellout (3.2.5)
+    mixlib-shellout (3.2.7)
       chef-utils
+    mize (0.4.1)
+      protocol (~> 2.0)
     msgpack (1.5.4)
     multi_json (1.14.1)
     multi_xml (0.6.0)
@@ -1055,15 +1098,15 @@ GEM
       net-protocol
     net-protocol (0.1.3)
       timeout
-    net-scp (3.0.0)
-      net-ssh (>= 2.6.5, < 7.0.0)
+    net-scp (4.0.0)
+      net-ssh (>= 2.6.5, < 8.0.0)
     net-smtp (0.3.3)
       net-protocol
-    net-ssh (6.0.0)
+    net-ssh (7.2.0)
     netrc (0.11.0)
     nio4r (2.5.8)
     no_proxy_fix (0.1.2)
-    nokogiri (1.15.4)
+    nokogiri (1.15.5)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     notiffany (0.1.3)
@@ -1081,9 +1124,9 @@ GEM
     octokit (6.1.1)
       faraday (>= 1, < 3)
       sawyer (~> 0.9)
-    ohai (17.9.0)
-      chef-config (>= 14.12, < 18)
-      chef-utils (>= 16.0, < 18)
+    ohai (18.1.3)
+      chef-config (>= 14.12, < 19)
+      chef-utils (>= 16.0, < 19)
       ffi (~> 1.9)
       ffi-yajl (~> 2.2)
       ipaddress
@@ -1198,10 +1241,8 @@ GEM
     pg (1.5.4)
     pg_query (4.2.3)
       google-protobuf (>= 3.22.3)
-    plist (3.6.0)
+    plist (3.7.0)
     png_quantizator (0.2.1)
-    po_to_json (1.0.1)
-      json (>= 1.6.0)
     premailer (1.16.0)
       addressable
       css_parser (>= 1.6.0)
@@ -1209,12 +1250,18 @@ GEM
     premailer-rails (1.10.3)
       actionmailer (>= 3)
       premailer (~> 1.7, >= 1.7.9)
+    prime (0.1.2)
+      forwardable
+      singleton
+    prism (0.18.0)
     proc_to_ast (0.1.0)
       coderay
       parser
       unparser
-    prometheus-client-mmap (0.28.1)
+    prometheus-client-mmap (1.0.2)
       rb_sys (~> 0.9)
+    protocol (2.0.0)
+      ruby_parser (~> 3.0)
     pry (0.14.2)
       coderay (~> 1.1)
       method_source (~> 1.0)
@@ -1291,15 +1338,15 @@ GEM
     rb-fsevent (0.11.2)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
-    rb_sys (0.9.78)
+    rb_sys (0.9.83)
     rbtrace (0.4.14)
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
     rbtree (0.4.6)
     rchardet (1.8.0)
-    re2 (2.1.3)
-      mini_portile2 (~> 2.8.4)
+    re2 (2.5.0)
+      mini_portile2 (~> 2.8.5)
     recaptcha (5.12.3)
       json
     recursive-open-struct (1.1.3)
@@ -1309,7 +1356,7 @@ GEM
       actionpack (>= 5, < 8)
       redis-rack (>= 2.1.0, < 3)
       redis-store (>= 1.1.0, < 2)
-    redis-namespace (1.9.0)
+    redis-namespace (1.10.0)
       redis (>= 4)
     redis-rack (2.1.4)
       rack (>= 2.0.8, < 3)
@@ -1338,7 +1385,7 @@ GEM
     rexml (3.2.6)
     rinku (2.0.0)
     rotp (6.3.0)
-    rouge (4.1.3)
+    rouge (4.2.0)
     rqrcode (2.2.0)
       chunky_png (~> 1.0)
       rqrcode_core (~> 1.0)
@@ -1371,7 +1418,7 @@ GEM
     rspec-parameterized-table_syntax (1.0.0)
       binding_of_caller
       rspec-parameterized-core (< 2)
-    rspec-rails (6.0.3)
+    rspec-rails (6.1.0)
       actionpack (>= 6.1)
       activesupport (>= 6.1)
       railties (>= 6.1)
@@ -1389,38 +1436,51 @@ GEM
       pg
       rails
       sqlite3
-    rubocop (1.50.2)
+    rubocop (1.57.2)
       json (~> 2.3)
+      language_server-protocol (>= 3.17.0)
       parallel (~> 1.10)
-      parser (>= 3.2.0.0)
+      parser (>= 3.2.2.4)
       rainbow (>= 2.2.2, < 4.0)
       regexp_parser (>= 1.8, < 3.0)
       rexml (>= 3.2.5, < 4.0)
-      rubocop-ast (>= 1.28.0, < 2.0)
+      rubocop-ast (>= 1.28.1, < 2.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 2.4.0, < 3.0)
     rubocop-ast (1.29.0)
       parser (>= 3.2.1.0)
-    rubocop-capybara (2.18.0)
+    rubocop-capybara (2.19.0)
       rubocop (~> 1.41)
-    rubocop-factory_bot (2.23.1)
+    rubocop-factory_bot (2.24.0)
       rubocop (~> 1.33)
     rubocop-graphql (0.19.0)
       rubocop (>= 0.87, < 2)
-    rubocop-performance (1.18.0)
+    rubocop-performance (1.19.1)
       rubocop (>= 1.7.0, < 2.0)
       rubocop-ast (>= 0.4.0)
-    rubocop-rails (2.20.2)
+    rubocop-rails (2.22.1)
       activesupport (>= 4.2.0)
       rack (>= 1.1)
       rubocop (>= 1.33.0, < 2.0)
-    rubocop-rspec (2.22.0)
-      rubocop (~> 1.33)
+    rubocop-rspec (2.25.0)
+      rubocop (~> 1.40)
       rubocop-capybara (~> 2.17)
       rubocop-factory_bot (~> 2.22)
     ruby-fogbugz (0.3.0)
       crack (~> 0.4)
       multipart-post (~> 2.0)
+    ruby-lsp (0.13.1)
+      language_server-protocol (~> 3.17.0)
+      prism (>= 0.18.0, < 0.19)
+      sorbet-runtime (>= 0.5.5685)
+    ruby-lsp-rails (0.2.8)
+      actionpack (>= 6.0)
+      activerecord (>= 6.0)
+      railties (>= 6.0)
+      ruby-lsp (>= 0.13.0, < 0.14.0)
+      sorbet-runtime (>= 0.5.9897)
+    ruby-lsp-rspec (0.1.8)
+      ruby-lsp (~> 0.13.0)
     ruby-magic (0.6.0)
       mini_portile2 (~> 2.8)
     ruby-openai (3.7.0)
@@ -1431,6 +1491,8 @@ GEM
       rexml
     ruby-statistics (3.0.0)
     ruby2_keywords (0.0.5)
+    ruby_parser (3.20.3)
+      sexp_processor (~> 4.16)
     rubyntlm (0.6.3)
     rubypants (0.2.0)
     rubyzip (2.3.2)
@@ -1456,35 +1518,38 @@ GEM
     seed-fu (2.3.7)
       activerecord (>= 3.1)
       activesupport (>= 3.1)
-    selenium-webdriver (4.14.0)
+    selenium-webdriver (4.16.0)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
       websocket (~> 1.0)
-    semver_dialects (1.2.1)
+    semver_dialects (1.5.0)
+      deb_version (~> 1.0.1)
       pastel (~> 0.8.0)
-      thor (~> 1.2.0)
+      thor (~> 1.3)
       tty-command (~> 0.10.1)
-    sentry-rails (5.8.0)
+    sentry-rails (5.10.0)
       railties (>= 5.0)
-      sentry-ruby (~> 5.8.0)
+      sentry-ruby (~> 5.10.0)
     sentry-raven (3.1.2)
       faraday (>= 1.0)
-    sentry-ruby (5.8.0)
+    sentry-ruby (5.10.0)
       concurrent-ruby (~> 1.0, >= 1.0.2)
-    sentry-sidekiq (5.8.0)
-      sentry-ruby (~> 5.8.0)
+    sentry-sidekiq (5.10.0)
+      sentry-ruby (~> 5.10.0)
       sidekiq (>= 3.0)
     set (1.0.2)
+    sexp_processor (4.17.0)
     shellany (0.0.1)
     shoulda-matchers (5.1.0)
       activesupport (>= 5.2.0)
-    sidekiq (6.5.7)
-      connection_pool (>= 2.2.5)
+    sidekiq (6.5.12)
+      connection_pool (>= 2.2.5, < 3)
       rack (~> 2.0)
       redis (>= 4.5.0, < 5)
-    sidekiq-cron (1.8.0)
-      fugit (~> 1)
-      sidekiq (>= 4.2.1)
+    sidekiq-cron (1.12.0)
+      fugit (~> 1.8)
+      globalid (>= 1.0.1)
+      sidekiq (>= 6)
     sigdump (0.2.4)
     signet (0.17.0)
       addressable (~> 2.8)
@@ -1502,6 +1567,7 @@ GEM
     simplecov-html (0.12.3)
     simplecov-lcov (0.8.0)
     simplecov_json_formatter (0.1.4)
+    singleton (0.1.1)
     sixarm_ruby_unaccent (1.2.0)
     slack-messenger (2.3.4)
     snaky_hash (2.0.0)
@@ -1523,6 +1589,7 @@ GEM
       thor (~> 1.0)
       tilt (~> 2.0)
       yard (~> 0.9, >= 0.9.24)
+    sorbet-runtime (0.5.11144)
     sorted_set (1.0.3)
       rbtree
       set (~> 1.0)
@@ -1565,7 +1632,7 @@ GEM
       ffi (~> 1.1)
     sysexits (1.2.0)
     table_print (1.5.7)
-    tanuki_emoji (0.7.0)
+    tanuki_emoji (0.9.0)
     telesign (2.2.4)
       net-http-persistent (>= 3.0.0, < 5.0)
     telesignenterprise (2.2.2)
@@ -1577,11 +1644,11 @@ GEM
       unicode-display_width (>= 1.1.1, < 3)
     terser (1.0.2)
       execjs (>= 0.3.0, < 3)
-    test-prof (1.2.3)
-    test_file_finder (0.1.4)
-      faraday (~> 1.0)
+    test-prof (1.3.1)
+    test_file_finder (0.2.1)
+      faraday (>= 1.0, < 3.0, != 2.0.0)
     text (1.3.1)
-    thor (1.2.2)
+    thor (1.3.0)
     thread_safe (0.3.6)
     thrift (0.16.0)
     tilt (2.0.11)
@@ -1597,13 +1664,13 @@ GEM
       openssl (> 2.0)
       openssl-signature_algorithm (~> 1.0)
     trailblazer-option (0.1.2)
-    train-core (3.4.9)
+    train-core (3.10.8)
       addressable (~> 2.5)
       ffi (!= 1.13.0)
       json (>= 1.8, < 3.0)
       mixlib-shellout (>= 2.0, < 4.0)
-      net-scp (>= 1.2, < 4.0)
-      net-ssh (>= 2.9, < 7.0)
+      net-scp (>= 1.2, < 5.0)
+      net-ssh (>= 2.9, < 8.0)
     truncato (0.7.12)
       htmlentities (~> 4.3.1)
       nokogiri (>= 1.7.0, <= 2.0)
@@ -1662,7 +1729,7 @@ GEM
       activesupport (>= 3.0)
     version_gem (1.1.0)
     version_sorter (2.3.0)
-    view_component (3.6.0)
+    view_component (3.8.0)
       activesupport (>= 5.2.0, < 8.0)
       concurrent-ruby (~> 1.0)
       method_source (~> 1.0)
@@ -1670,10 +1737,10 @@ GEM
       axiom-types (~> 0.1)
       coercible (~> 1.0)
       descendants_tracker (~> 0.0, >= 0.0.3)
-    vite_rails (3.0.15)
+    vite_rails (3.0.17)
       railties (>= 5.1, < 8)
       vite_ruby (~> 3.0, >= 3.2.2)
-    vite_ruby (3.3.4)
+    vite_ruby (3.5.0)
       dry-cli (>= 0.7, < 2)
       rack-proxy (~> 0.6, >= 0.6.1)
       zeitwerk (~> 2.2)
@@ -1708,7 +1775,7 @@ GEM
       rinku
     wisper (2.0.1)
     with_env (1.1.0)
-    wmi-lite (1.0.5)
+    wmi-lite (1.0.7)
     xml-simple (1.1.9)
       rexml
     xpath (3.2.0)
@@ -1722,14 +1789,14 @@ PLATFORMS
 
 DEPENDENCIES
   CFPropertyList (~> 3.0.0)
-  RedCloth (~> 4.3.2)
+  RedCloth (~> 4.3.3)
   acme-client (~> 2.0)
   activerecord-explain-analyze (~> 0.1)
   activerecord-gitlab!
-  acts-as-taggable-on (~> 9.0)
+  acts-as-taggable-on (~> 10.0)
   addressable (~> 2.8)
   akismet (~> 3.0)
-  apollo_upload_server (~> 2.1.0)
+  apollo_upload_server (~> 2.1.5)
   app_store_connect
   arr-pm (~> 0.0.12)
   asciidoctor (~> 2.0.18)
@@ -1741,8 +1808,8 @@ DEPENDENCIES
   autoprefixer-rails (= 10.2.5.1)
   awesome_print
   aws-sdk-cloudformation (~> 1)
-  aws-sdk-core (~> 3.185.1)
-  aws-sdk-s3 (~> 1.136.0)
+  aws-sdk-core (~> 3.190.0)
+  aws-sdk-s3 (~> 1.141.0)
   axe-core-rspec
   babosa (~> 2.0)
   base32 (~> 0.3.0)
@@ -1751,9 +1818,9 @@ DEPENDENCIES
   benchmark-ips (~> 2.11.0)
   benchmark-memory (~> 0.1)
   better_errors (~> 2.10.1)
-  bootsnap (~> 1.16.0)
+  bootsnap (~> 1.17.0)
   browser (~> 5.3.1)
-  bullet (~> 7.1.1)
+  bullet (~> 7.1.2)
   bundler-audit (~> 0.9.1)
   bundler-checksum (~> 0.1.0)!
   capybara (~> 3.39, >= 3.39.2)
@@ -1771,17 +1838,17 @@ DEPENDENCIES
   crystalball (~> 0.7.0)
   csv_builder!
   cvss-suite (~> 3.0.1)
-  database_cleaner (~> 1.7.0)
+  database_cleaner-active_record (~> 2.1.0)
   deckar01-task_list (= 2.3.3)
   declarative_policy (~> 1.1.0)
   deprecation_toolkit (~> 1.5.1)
   derailed_benchmarks
-  devfile (~> 0.0.23.pre.alpha1)
+  devfile (~> 0.0.24.pre.alpha1)
   device_detector
-  devise (~> 4.8.1)
+  devise (~> 4.9.3)
   devise-pbkdf2-encryptable (~> 0.0.0)!
   devise-two-factor (~> 4.1.1)
-  diff_match_patch (~> 0.1.0)
+  diff_match_patch (~> 0.1.0)!
   diffy (~> 3.4)
   discordrb-webhooks (~> 3.4)
   doorkeeper (~> 5.6, >= 5.6.6)
@@ -1811,27 +1878,31 @@ DEPENDENCIES
   fuubar (~> 2.2.0)
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.11.0)
-  gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 16.5.0.pre.rc1)
+  gitaly (~> 16.7.0.pre.rc1)
+  gitlab-backup-cli!
   gitlab-chronic (~> 0.10.5)
-  gitlab-dangerfiles (~> 4.3.2)
-  gitlab-experiment (~> 0.8.0)
+  gitlab-dangerfiles (~> 4.6.0)
+  gitlab-experiment (~> 0.9.1)
   gitlab-fog-azure-rm (~> 1.8.0)
+  gitlab-housekeeper!
   gitlab-http!
   gitlab-labkit (~> 0.34.0)
   gitlab-license (~> 2.3)
-  gitlab-mail_room (~> 0.0.23)
+  gitlab-mail_room (~> 0.0.24)
   gitlab-markup (~> 1.9.0)
   gitlab-net-dns (~> 0.9.2)
   gitlab-rspec!
+  gitlab-rspec_flaky!
   gitlab-safe_request_store!
   gitlab-schema-validation!
+  gitlab-sdk
+  gitlab-secret_detection!
   gitlab-sidekiq-fetcher!
-  gitlab-styles (~> 10.1.0)
+  gitlab-styles (~> 11.0.0)
   gitlab-utils!
   gitlab_chronic_duration (~> 0.12)
   gitlab_omniauth-ldap (~> 2.2.0)
-  gitlab_quality-test_tooling (~> 1.3.0)
+  gitlab_quality-test_tooling (~> 1.9.0)
   gon (~> 6.4.0)
   google-apis-androidpublisher_v3 (~> 0.34.0)
   google-apis-cloudbilling_v1 (~> 0.21.0)
@@ -1839,12 +1910,13 @@ DEPENDENCIES
   google-apis-compute_v1 (~> 0.57.0)
   google-apis-container_v1 (~> 0.43.0)
   google-apis-container_v1beta1 (~> 0.43.0)
-  google-apis-core (~> 0.10.0)
+  google-apis-core (~> 0.11.0, >= 0.11.1)
   google-apis-iam_v1 (~> 0.36.0)
   google-apis-serviceusage_v1 (~> 0.28.0)
   google-apis-sqladmin_v1beta4 (~> 0.41.0)
-  google-cloud-storage (~> 1.44.0)
-  google-protobuf (~> 3.24, >= 3.24.4)
+  google-apis-storage_v1 (~> 0.29)
+  google-cloud-storage (~> 1.45.0)
+  google-protobuf (~> 3.25, >= 3.25.1)
   gpgme (~> 2.0.23)
   grape (~> 1.7.1)
   grape-entity (~> 0.10.0)
@@ -1860,7 +1932,7 @@ DEPENDENCIES
   grpc (~> 1.58.0)
   gssapi (~> 1.3.1)
   guard-rspec
-  haml_lint (~> 0.40.0)
+  haml_lint (~> 0.52)
   hamlit (~> 2.15.0)
   hashie (~> 5.0.0)
   health_check (~> 3.0)
@@ -1880,19 +1952,19 @@ DEPENDENCIES
   jsonb_accessor (~> 1.3.10)
   jwt (~> 2.5)
   kaminari (~> 1.2.2)
-  kas-grpc (~> 0.2.0)
+  kas-grpc (~> 0.3.0)
   knapsack (~> 1.21.1)
   kramdown (~> 2.3.1)
   kubeclient (~> 4.11.0)
-  lefthook (~> 1.5.2)
+  lefthook (~> 1.5.5)
   letter_opener_web (~> 2.0.0)
   license_finder (~> 7.0)
   licensee (~> 9.16)
   listen (~> 3.7)
   lockbox (~> 1.3.0)
   lograge (~> 0.5)
-  loofah (~> 2.21.4)
-  lookbook (~> 2.0, >= 2.0.1)
+  loofah (~> 2.22.0)
+  lookbook (~> 2.2)
   lru_redux
   mail (= 2.8.1)
   mail-smtp_pool (~> 0.1.0)!
@@ -1907,10 +1979,10 @@ DEPENDENCIES
   net-ldap (~> 0.17.1)
   net-ntp
   net-protocol (~> 0.1.3)
-  nokogiri (~> 1.15, >= 1.15.4)
+  nokogiri (~> 1.15, >= 1.15.5)
   oauth2 (~> 2.0)
   octokit (~> 6.0)
-  ohai (~> 17.9)
+  ohai (~> 18.1)
   oj (~> 3.13.21)
   oj-introspect (~> 0.7)
   omniauth (~> 2.1.0)
@@ -1934,6 +2006,7 @@ DEPENDENCIES
   openid_connect (= 1.3.0)
   openssl (~> 3.0)
   org-ruby (~> 0.9.12)
+  os (~> 1.1)
   pact (~> 1.63)
   parallel (~> 1.19)
   parser (~> 3.2, >= 3.2.2.4)
@@ -1943,7 +2016,7 @@ DEPENDENCIES
   pg_query (~> 4.2.3)
   png_quantizator (~> 0.2.1)
   premailer-rails (~> 1.10.3)
-  prometheus-client-mmap (~> 0.28, >= 0.28.1)
+  prometheus-client-mmap (~> 1.0, >= 1.0.2)
   pry-byebug
   pry-rails (~> 0.3.9)
   pry-shell (~> 0.6.4)
@@ -1959,26 +2032,28 @@ DEPENDENCIES
   rails-i18n (~> 7.0)
   rainbow (~> 3.0)
   rbtrace (~> 0.4)
-  re2 (= 2.1.3)
+  re2 (= 2.5.0)
   recaptcha (~> 5.12)
   redis (~> 4.8.0)
   redis-actionpack (~> 5.3.0)
-  redis-namespace (~> 1.9.0)
+  redis-namespace (~> 1.10.0)
   request_store (~> 1.5.1)
   responders (~> 3.0)
   retriable (~> 3.1.2)
   rexml (~> 3.2.6)
-  rouge (~> 4.1.3)
+  rouge (~> 4.2.0)
   rqrcode (~> 2.0)
   rspec-benchmark (~> 0.6.0)
   rspec-parameterized (~> 1.0)
-  rspec-rails (~> 6.0.3)
+  rspec-rails (~> 6.1.0)
   rspec-retry (~> 0.6.2)
-  rspec_flaky!
   rspec_junit_formatter
   rspec_profiling (~> 0.0.6)
   rubocop
   ruby-fogbugz (~> 0.3.0)
+  ruby-lsp (~> 0.13.1)
+  ruby-lsp-rails (~> 0.2.8)
+  ruby-lsp-rspec (~> 0.1.8)
   ruby-magic (~> 0.6)
   ruby-openai (~> 3.7)
   ruby-progressbar (~> 1.10)
@@ -1989,15 +2064,15 @@ DEPENDENCIES
   sassc-rails (~> 2.1.0)
   sd_notify (~> 0.1.0)
   seed-fu (~> 2.3.7)
-  selenium-webdriver (~> 4.14)
-  semver_dialects (~> 1.2.1)
-  sentry-rails (~> 5.8.0)
+  selenium-webdriver (~> 4.16)
+  semver_dialects (~> 1.5)
+  sentry-rails (~> 5.10.0)
   sentry-raven (~> 3.1)
-  sentry-ruby (~> 5.8.0)
-  sentry-sidekiq (~> 5.8.0)
+  sentry-ruby (~> 5.10.0)
+  sentry-sidekiq (~> 5.10.0)
   shoulda-matchers (~> 5.1.0)
-  sidekiq (~> 6.5.7)
-  sidekiq-cron (~> 1.8.0)
+  sidekiq (~> 6.5.10)
+  sidekiq-cron (~> 1.12.0)
   sigdump (~> 0.2.4)
   simple_po_parser (~> 1.1.6)
   simplecov (~> 0.21)
@@ -2015,11 +2090,11 @@ DEPENDENCIES
   stackprof (~> 0.2.25)
   state_machines-activerecord (~> 0.8.0)
   sys-filesystem (~> 1.4.3)
-  tanuki_emoji (~> 0.7)
+  tanuki_emoji (~> 0.9)
   telesignenterprise (~> 2.2)
   terser (= 1.0.2)
-  test-prof (~> 1.2.3)
-  test_file_finder (~> 0.1.3)
+  test-prof (~> 1.3.1)
+  test_file_finder (~> 0.2.1)
   thrift (>= 0.16.0)
   timfel-krb5-auth (~> 0.8)
   toml-rb (~> 2.2.0)
@@ -2030,8 +2105,9 @@ DEPENDENCIES
   valid_email (~> 0.1)
   validates_hostname (~> 1.0.13)
   version_sorter (~> 2.3)
-  view_component (~> 3.6.0)
-  vite_rails
+  view_component (~> 3.8.0)
+  vite_rails (~> 3.0.17)
+  vite_ruby (~> 3.5.0)
   vmstat (~> 2.3.0)
   warning (~> 1.3.0)
   webauthn (~> 3.0)
@@ -2041,4 +2117,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.3)
 
 BUNDLED WITH
-   2.4.20
+   2.4.22
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index e239df5e9e94..b419e76f259b 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -159,10 +159,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nhyvfdiv6mz8z3icwhk01482hq0s6dvf1qysvh27cyi3c4y1n53";
+      sha256 = "10yvdqrmykjpfjchnbh7q85vm5fgz20g9ip5iwphl0922rpyjq6k";
       type = "gem";
     };
-    version = "9.0.1";
+    version = "10.0.0";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -206,6 +206,17 @@ src:
     };
     version = "0.8.0";
   };
+  amatch = {
+    dependencies = ["mize" "tins"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xs5j64cbbjc94lx72fgjq6f3r99p2fmg51fh1r7qqifd8i1bzyk";
+      type = "gem";
+    };
+    version = "0.4.1";
+  };
   android_key_attestation = {
     groups = ["default"];
     platforms = [];
@@ -222,10 +233,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0klhppx4vjfdvgz12wb63bcxy5ymk0mp8wkh01fpgjn2l3fwkwz5";
+      sha256 = "198k6ikkz6wdnl9i4m569s384sx2r2pyn4l74yvyhz6zdflvwrhg";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.1.5";
   };
   app_store_connect = {
     dependencies = ["activesupport" "jwt"];
@@ -368,10 +379,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
+      sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   aws-partitions = {
     groups = ["default"];
@@ -400,10 +411,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wvrz7d2rw17ihj2fmvaq91cg35pvk1asl4skncsk4w3mx7dlajp";
+      sha256 = "19nglxz49nlzgsvnivb3bdm17vxjn1ng2br8659xv48nzjrmyid3";
       type = "gem";
     };
-    version = "3.185.1";
+    version = "3.190.0";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -422,10 +433,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qwdkbwp3f5illkkmivzdr9gcrcg69yv73xlfp6fc7fmhlm30irm";
+      sha256 = "0bnhpmi0iiaj88rqc5lhhnp2gyrk4fs8xz51lj36wwzng94qinya";
       type = "gem";
     };
-    version = "1.136.0";
+    version = "1.141.0";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -433,10 +444,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z889c4c1w7wsjm3szg64ay5j51kjl4pdf94nlr1yks2rlanm7na";
+      sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.8.0";
   };
   axe-core-api = {
     dependencies = ["dumb_delegator" "virtus"];
@@ -642,10 +653,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vcg52gwl64xhhal6kwk1pc01y1klzdlnv1awyk89kb91z010x7q";
+      sha256 = "0iqkzby0fdgi786m873nm0ckmc847wy9a4ydinb29m7hd3fs83kb";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.17.0";
   };
   browser = {
     groups = ["default"];
@@ -673,10 +684,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "172v1vjqqlfk8dw3xh7j4m2wfmp74zwsh2v2jqppgzibmpcqjxxd";
+      sha256 = "1fxkrdiarjgcyw2ihh79kvjhpf6a4azj15wvx45clx6bfk0jb5s2";
       type = "gem";
     };
-    version = "7.1.1";
+    version = "7.1.2";
   };
   bundler-audit = {
     dependencies = ["thor"];
@@ -794,20 +805,21 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z3lashvhqy9v5b3xn8vzzf07gnjw4mgdiiryxsg6kdasvj62j8z";
+      sha256 = "1pvjf3qbb3apg9vdy4zykamm7801qz4m6256wjqn73fs87zs50y1";
       type = "gem";
     };
-    version = "16.10.17";
+    version = "18.3.0";
   };
   chef-utils = {
+    dependencies = ["concurrent-ruby"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cypir7fza7jfqaj1j1jh37d3i6bvrmm6jamjlngk3xbdbd56hm7";
+      sha256 = "0087jwhqslfm3ygj507dmmdp3k0589j5jl54mkwgbabbwan7lzw2";
       type = "gem";
     };
-    version = "16.10.17";
+    version = "18.3.0";
   };
   chunky_png = {
     groups = ["default"];
@@ -1082,15 +1094,26 @@ src:
     };
     version = "1.49.8";
   };
-  database_cleaner = {
+  database_cleaner-active_record = {
+    dependencies = ["activerecord" "database_cleaner-core"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x";
+      sha256 = "12hdsqnws9gyc9sxiyc8pjiwr0xa7136m1qbhmd1pk3vsrrvk13k";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "2.1.0";
+  };
+  database_cleaner-core = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v44bn386ipjjh4m2kl53dal8g4d41xajn2jggnmjbhn6965fil6";
+      type = "gem";
+    };
+    version = "2.0.1";
   };
   date = {
     groups = ["default" "development" "test"];
@@ -1112,6 +1135,16 @@ src:
     };
     version = "3.1.1";
   };
+  deb_version = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04z75v3wdghqbahgipvz8y75krkqq17jbbna349ddl9ggwfr27y2";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
   debug_inspector = {
     groups = ["default" "test"];
     platforms = [];
@@ -1191,10 +1224,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02p4cxz9w9nsghgmwmw32f9g80df8simagzpafhkvc5grdwwd8pv";
+      sha256 = "0036nfmz7dz5jwagm4k3hshrkmm3w2473q38bhnr06dmxlkgrfvj";
       type = "gem";
     };
-    version = "0.0.23.pre.alpha1";
+    version = "0.0.24.pre.alpha1";
   };
   device_detector = {
     groups = ["default"];
@@ -1212,10 +1245,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gl0b4jqf7ysv3rg99sgxa5y9va2k13p0si3a88pr7m8g6z8pm7x";
+      sha256 = "121ljaaapil79dcsl5mkh5k613hv58z4z3g2lrnzb5qvqpb3h1j8";
       type = "gem";
     };
-    version = "4.8.1";
+    version = "4.9.3";
   };
   devise-pbkdf2-encryptable = {
     dependencies = ["devise" "devise-two-factor"];
@@ -1252,9 +1285,8 @@ src:
     groups = ["default"];
     platforms = [];
     source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03n4g4w2pwiygmqq5lfhqrpbs9g6kv0jhb3vrffz3vgaryzmfq5k";
-      type = "gem";
+      path = "${src}/vendor/gems/diff_match_patch";
+      type = "path";
     };
     version = "0.1.0";
   };
@@ -1274,10 +1306,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1czaak53w8n13y1fr0q23gp0fhklvxjac5n562qj3xk6sh5ad0x2";
+      sha256 = "09114ndpnnyamc2q07bmpzw7kp3rbbfv7plmxcbzzi9d6prmd92w";
       type = "gem";
     };
-    version = "0.6.4";
+    version = "0.6.5";
   };
   discordrb-webhooks = {
     dependencies = ["rest-client"];
@@ -2005,6 +2037,16 @@ src:
     };
     version = "0.2.5";
   };
+  forwardable = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1b5g1i3xdvmxxpq4qp0z4v78ivqnazz26w110fh4cvzsdayz8zgi";
+      type = "gem";
+    };
+    version = "1.3.3";
+  };
   fugit = {
     dependencies = ["et-orbi" "raabro"];
     groups = ["default"];
@@ -2070,15 +2112,15 @@ src:
     version = "0.2.7";
   };
   gettext = {
-    dependencies = ["locale" "text"];
+    dependencies = ["erubi" "locale" "prime" "racc" "text"];
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04xlj00sm4mbgvyq0qkbxim75i7cpyn6iylpfwnyagl35wdvsszf";
+      sha256 = "16h0kda5z4s4zqygyk0f52xzs9mlz9r4lnhjwk729hhmdbz68a19";
       type = "gem";
     };
-    version = "3.3.6";
+    version = "3.4.9";
   };
   gettext_i18n_rails = {
     dependencies = ["fast_gettext"];
@@ -2091,17 +2133,6 @@ src:
     };
     version = "1.11.0";
   };
-  gettext_i18n_rails_js = {
-    dependencies = ["gettext" "gettext_i18n_rails" "po_to_json" "rails"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11yn5cf92wsmlj5c1065mg6swf8gq9l6g9ahikvvyf9npvjay42x";
-      type = "gem";
-    };
-    version = "1.3.0";
-  };
   git = {
     dependencies = ["addressable" "rchardet"];
     groups = ["danger" "default" "development" "test"];
@@ -2119,10 +2150,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lw3lfq0wii1jg6112ry2c3g01dphwl8yp61xyh66ijds1d525zd";
+      sha256 = "1xqi0f0pf7cj110b981nx95wql3i4knzvc6417ym3yvbvsxjyand";
       type = "gem";
     };
-    version = "16.5.0.pre.rc1";
+    version = "16.7.0.pre.rc1";
   };
   gitlab = {
     dependencies = ["httparty" "terminal-table"];
@@ -2135,6 +2166,16 @@ src:
     };
     version = "4.19.0";
   };
+  gitlab-backup-cli = {
+    dependencies = ["thor"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      path = "${src}/gems/gitlab-backup-cli";
+      type = "path";
+    };
+    version = "0.0.1";
+  };
   gitlab-chronic = {
     dependencies = ["numerizer"];
     groups = ["default"];
@@ -2152,10 +2193,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15hax19xpav0i8mhg3y1zf4528hx18r6zg6dy8lwdk7s60gdi2wp";
+      sha256 = "07kl43xcjfwdlcfvr7ifzggl6zpmm8q0lj8phlk3db8xgnqkf6s4";
       type = "gem";
     };
-    version = "4.3.2";
+    version = "4.6.0";
   };
   gitlab-experiment = {
     dependencies = ["activesupport" "request_store"];
@@ -2163,10 +2204,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yfk2w86nzw8mksahs70ai0d860kdj25lpvlka4xv77i18zggqml";
+      sha256 = "0j0zs29izmhqc1jvgfsvikqdyg6r8kf3j9azbmsmm02l45sfwc7j";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "0.9.1";
   };
   gitlab-fog-azure-rm = {
     dependencies = ["azure-storage-blob" "azure-storage-common" "fog-core" "fog-json" "mime-types"];
@@ -2179,8 +2220,18 @@ src:
     };
     version = "1.8.0";
   };
+  gitlab-housekeeper = {
+    dependencies = ["httparty" "rubocop"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      path = "${src}/gems/gitlab-housekeeper";
+      type = "path";
+    };
+    version = "0.1.0";
+  };
   gitlab-http = {
-    dependencies = ["activesupport" "httparty" "ipaddress" "nokogiri" "railties"];
+    dependencies = ["activesupport" "concurrent-ruby" "httparty" "ipaddress" "nokogiri" "railties"];
     groups = ["default"];
     platforms = [];
     source = {
@@ -2211,15 +2262,15 @@ src:
     version = "2.3.0";
   };
   gitlab-mail_room = {
-    dependencies = ["jwt" "net-imap" "oauth2"];
+    dependencies = ["jwt" "net-imap" "oauth2" "redis" "redis-namespace"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15wrq4v6xsfql4k6l10gbcfk0a02zh0shr2c3l0wakmjvaj4ymi3";
+      sha256 = "1crw7k0mdzkrc94xw901dlmzzhhaa8a2bxyvk2y29h5w7pvkvgy7";
       type = "gem";
     };
-    version = "0.0.23";
+    version = "0.0.24";
   };
   gitlab-markup = {
     groups = ["default"];
@@ -2242,7 +2293,7 @@ src:
     version = "0.9.2";
   };
   gitlab-rspec = {
-    dependencies = ["activesupport" "rspec"];
+    dependencies = ["activerecord" "activesupport" "rspec"];
     groups = ["development" "monorepo" "test"];
     platforms = [];
     source = {
@@ -2251,6 +2302,16 @@ src:
     };
     version = "0.1.0";
   };
+  gitlab-rspec_flaky = {
+    dependencies = ["activesupport" "rspec"];
+    groups = ["development" "monorepo" "test"];
+    platforms = [];
+    source = {
+      path = "${src}/gems/gitlab-rspec_flaky";
+      type = "path";
+    };
+    version = "0.1.0";
+  };
   gitlab-safe_request_store = {
     dependencies = ["request_store"];
     groups = ["default"];
@@ -2271,6 +2332,27 @@ src:
     };
     version = "0.1.0";
   };
+  gitlab-sdk = {
+    dependencies = ["activesupport" "rake" "snowplow-tracker"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mnhl888n4zfwhmfy3f1pj0k1rzjwpf16a1ic7wb22l64252g4g8";
+      type = "gem";
+    };
+    version = "0.2.3";
+  };
+  gitlab-secret_detection = {
+    dependencies = ["re2" "toml-rb"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      path = "${src}/gems/gitlab-secret_detection";
+      type = "path";
+    };
+    version = "0.1.0";
+  };
   gitlab-sidekiq-fetcher = {
     dependencies = ["json" "sidekiq"];
     groups = ["default"];
@@ -2279,7 +2361,7 @@ src:
       path = "${src}/vendor/gems/sidekiq-reliable-fetch";
       type = "path";
     };
-    version = "0.9.0";
+    version = "0.10.0";
   };
   gitlab-styles = {
     dependencies = ["rubocop" "rubocop-graphql" "rubocop-performance" "rubocop-rails" "rubocop-rspec"];
@@ -2287,10 +2369,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jn8zp5a35yi6jw7kyyq8fgpzcwmr5bfpl7j9ki2y13x77sla9zl";
+      sha256 = "0ss0p7al6vyf5qwzyfbgaaxpa3ykvszwc5in3p2mm5g9dh3frn0d";
       type = "gem";
     };
-    version = "10.1.0";
+    version = "11.0.0";
   };
   gitlab-utils = {
     dependencies = ["actionview" "activesupport" "addressable" "nokogiri" "rake"];
@@ -2325,15 +2407,15 @@ src:
     version = "2.2.0";
   };
   gitlab_quality-test_tooling = {
-    dependencies = ["activesupport" "gitlab" "http" "nokogiri" "parallel" "rainbow" "table_print" "zeitwerk"];
+    dependencies = ["activesupport" "amatch" "gitlab" "http" "nokogiri" "parallel" "rainbow" "table_print" "zeitwerk"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bk5lhaqfww0swi6xl1wqj6g97xmxlva6b8yyag23743k052x4qc";
+      sha256 = "18m35p6kizkaw829lwvh6mc7r8q94gmyhkq9qggx7r78h8iafiqd";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.9.0";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -2429,10 +2511,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02fqn9505q3d3m6lpa5ic2j3pa81k2x440qyw2fairsidrms5jk8";
+      sha256 = "1cly6ycryjhk15d60v3nqvhqpjk9f0nznnslbdnin90f5r54sbpd";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.11.2";
   };
   google-apis-dns_v1 = {
     dependencies = ["google-apis-core"];
@@ -2517,10 +2599,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17qamcjnf22zvw1g169g8a2gkzdsxx4ij3a4ganihyrcf9r62asj";
+      sha256 = "1k432qgxf41c4m6d68rascm0gyj18r7ypmrnyzmxh7k7nh543awx";
       type = "gem";
     };
-    version = "0.19.0";
+    version = "0.29.0";
   };
   google-cloud-core = {
     dependencies = ["google-cloud-env" "google-cloud-errors"];
@@ -2571,20 +2653,20 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1skhlpcykxxzw3050cwngdyc3n746wfx443w1w9chxwjbh2ix6i9";
+      sha256 = "0033bi8qwm0ksxsv5zhz4nzwsiaapq3xk79z8f8rx3v09vdap07j";
       type = "gem";
     };
-    version = "1.44.0";
+    version = "1.45.0";
   };
   google-protobuf = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jpjf9p3yf11f1fx74whp4zbxwcaf7jd5y10gknx61fr5z50791q";
+      sha256 = "18yiqq657lbqbrbdfbxfspdrkiynd0wf49l3cgdw939z36cy0h77";
       type = "gem";
     };
-    version = "3.24.4";
+    version = "3.25.1";
   };
   googleapis-common-protos = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types" "grpc"];
@@ -2831,10 +2913,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00j8wdi731wy8qnn5g4laynswxlw0d0s69wsn509wfa5n8p34n5n";
+      sha256 = "1shlh68vjqyj092ig2b571anbr5npg8kp66a7cq5h9a1387nnckn";
       type = "gem";
     };
-    version = "0.40.1";
+    version = "0.52.0";
   };
   hamlit = {
     dependencies = ["temple" "thor" "tilt"];
@@ -3284,10 +3366,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07lsr5gfnl56v8znf780vpa79wx3p5rqsdgc6j88364ixj3zg8xr";
+      sha256 = "12md9pbh0m2yfx0vy81dyn40ibdnhzm6b7kfwra66pkjwrac9pvq";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "0.3.0";
   };
   knapsack = {
     dependencies = ["rake"];
@@ -3333,6 +3415,16 @@ src:
     };
     version = "4.11.0";
   };
+  language_server-protocol = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x";
+      type = "gem";
+    };
+    version = "3.17.0.3";
+  };
   launchy = {
     dependencies = ["addressable"];
     groups = ["default" "development" "test"];
@@ -3349,10 +3441,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02k7gr457gdi4zjgxr9ga44f8lb8q0yyiqmwhaylr70n76zqrmrp";
+      sha256 = "1ac5r000h6rp7gdwyxr1n8hsg5b88gwbdkq87pbcjzps9li6n6nz";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.5.5";
   };
   letter_opener = {
     dependencies = ["launchy"];
@@ -3381,10 +3473,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n5j0p8dxf9xzb9n4bkdr8w0a8gg3jzrn9indri3n0fv90gcs5qi";
+      sha256 = "1vx0mv0bbcy0qh3ik08b42vrq4kw1zg51121r18c0vvp4p3zcpda";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "2.1.0";
   };
   license_finder = {
     dependencies = ["rubyzip" "thor" "tomlrb" "with_env" "xml-simple"];
@@ -3467,10 +3559,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d5p9vg2qkqfy60i93mpd3b25kw4bdxfai034y5a94pxp5fws61c";
+      sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh";
       type = "gem";
     };
-    version = "2.21.4";
+    version = "2.22.0";
   };
   lookbook = {
     dependencies = ["activemodel" "css_parser" "htmlbeautifier" "htmlentities" "marcel" "railties" "redcarpet" "rouge" "view_component" "yard" "zeitwerk"];
@@ -3478,10 +3570,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jpwfdf6wk77ri85ksmsbxvfb4jpba3bx84j0zg10a4rijf7450g";
+      sha256 = "1nd26yk8fwhb7lf7knzl6pf93v2spyf90gz4c6f8xfzq9hv6kj17";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.2.0";
   };
   lru_redux = {
     groups = ["default"];
@@ -3655,10 +3747,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq";
+      sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
       type = "gem";
     };
-    version = "2.8.4";
+    version = "2.8.5";
   };
   minitest = {
     groups = ["development" "test"];
@@ -3686,10 +3778,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1askip583sfnz25gywd508l3vj5wnvx9vp7gm1sfnixm7amssrwq";
+      sha256 = "0j0122lv2qgccl61njqi0pj6sp6nb85y07gcmw16bwg4k0c8nx6p";
       type = "gem";
     };
-    version = "3.0.9";
+    version = "3.0.27";
   };
   mixlib-log = {
     groups = ["default"];
@@ -3707,10 +3799,21 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g99c3s5zvrwvlv3gjw5fvpdimybpfazqyszjim5kdjjbq0586hj";
+      sha256 = "0zkwg76y96nkh1mv0k92ybq46cr06v1wmic16129ls3yqzwx3xj6";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.7";
+  };
+  mize = {
+    dependencies = ["protocol"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09zn7789ifzc13xraqsqxk762l4898n1f63scidgzjq1y06bmg2m";
+      type = "gem";
+    };
+    version = "0.4.1";
   };
   msgpack = {
     groups = ["default"];
@@ -3896,10 +3999,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b4h3ip8d1gkrc0znnw54hbxillk73mdnaf5pz330lmrcl1wiilg";
+      sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "4.0.0";
   };
   net-smtp = {
     dependencies = ["net-protocol"];
@@ -3917,10 +4020,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l0kgd7w08fx2522aw8grlfzwmrgw4jgjakpkgkwm0134g5xv432";
+      sha256 = "1jyj6j7w9zpj2zhp4dyhdjiwsn9rqwksj7s7fzpnn7rx2xvz2a1a";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "7.2.0";
   };
   netrc = {
     groups = ["default"];
@@ -3958,10 +4061,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74";
+      sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.5";
   };
   notiffany = {
     dependencies = ["nenv" "shellany"];
@@ -4022,10 +4125,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01jlkb75ic3aw39q5mxyd8dnb65kqmzfq4shp0gli9n04ihz3765";
+      sha256 = "15fz0ws8q9635rl5y4jyiwxbibr9ilba4askazhrgy4pcmmgs34q";
       type = "gem";
     };
-    version = "17.9.0";
+    version = "18.1.3";
   };
   oj = {
     groups = ["default"];
@@ -4469,10 +4572,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1whhr897z6z6av85x2cipyjk46bwh6s4wx6nbrcd3iifnzvbqs7l";
+      sha256 = "0wzhnbzraz60paxhm48c50fp9xi7cqka4gfhxmiq43mhgh5ajg3h";
       type = "gem";
     };
-    version = "3.6.0";
+    version = "3.7.0";
   };
   png_quantizator = {
     groups = ["development" "test"];
@@ -4484,17 +4587,6 @@ src:
     };
     version = "0.2.1";
   };
-  po_to_json = {
-    dependencies = ["json"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xvanl437305mry1gd57yvcg7xrfhri91czr32bjr8j2djm8hwba";
-      type = "gem";
-    };
-    version = "1.0.1";
-  };
   premailer = {
     dependencies = ["addressable" "css_parser" "htmlentities"];
     groups = ["default"];
@@ -4517,6 +4609,27 @@ src:
     };
     version = "1.10.3";
   };
+  prime = {
+    dependencies = ["forwardable" "singleton"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1973kz8lbck6ga5v42f55jk8b8pnbgwp9p67dl1xw15gvz55dsfl";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
+  prism = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "172qxf1zyrhxzwbn4c7gz12zdyb1jkdqrqvb2c7863lmxp53rrxs";
+      type = "gem";
+    };
+    version = "0.18.0";
+  };
   proc_to_ast = {
     dependencies = ["coderay" "parser" "unparser"];
     groups = ["default" "development" "test"];
@@ -4534,10 +4647,21 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ap52y7lng1cnqmg5bp4hazllppar33fpczwmh6gn9v9l64kkywj";
+      sha256 = "1xfy4g3bwgqb1hn948aw3zfwxvak3886gxdyf0cnajzjfp9z33pq";
       type = "gem";
     };
-    version = "0.28.1";
+    version = "1.0.2";
+  };
+  protocol = {
+    dependencies = ["ruby_parser"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f8nvz0621gfsyiwy2nmwaliqafmf4p2wnln9qldd31vwl4wbmyw";
+      type = "gem";
+    };
+    version = "2.0.0";
   };
   pry = {
     dependencies = ["coderay" "method_source"];
@@ -4843,10 +4967,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09kszvsa9av8yb8pm9nz6p5jgshin3cqvknlvd1m927qfvdpalk3";
+      sha256 = "0pj5qq4phswviw9vybvz4ql5921ddxkkmn9iywm992x0kbvhvn0f";
       type = "gem";
     };
-    version = "0.9.78";
+    version = "0.9.83";
   };
   rbtrace = {
     dependencies = ["ffi" "msgpack" "optimist"];
@@ -4885,10 +5009,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13xfrx1wwq7n2qsw449fq8h611n05v400i9dz9k6pdia019hp8q3";
+      sha256 = "0ih6igmfcb4b9a8hd46ggn85zfyclz9h828d0xafy2pq5qlz9fs2";
       type = "gem";
     };
-    version = "2.1.3";
+    version = "2.5.0";
   };
   recaptcha = {
     dependencies = ["json"];
@@ -4926,10 +5050,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy";
+      sha256 = "0bb3yk2p12f1j4nr0grbadrwnr6gkzd7vn96jcnhswz2jsnbhhfr";
       type = "gem";
     };
-    version = "4.3.2";
+    version = "4.3.3";
   };
   redis = {
     groups = ["default"];
@@ -4958,10 +5082,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04l61lpb3s2xkwj36l7b543lhciv19z514kxnmnbh5fg70grc8q9";
+      sha256 = "154dfnrjpbv7fhwhfrcnp6jn9qv5qaj3mvlvbgkl7qy5qsknw71c";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.10.0";
   };
   redis-rack = {
     dependencies = ["rack" "redis-store"];
@@ -5105,10 +5229,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19drl3x8fw65v3mpy7fk3cf3dfrywz5alv98n2rm4pp04vdn71lw";
+      sha256 = "1fkfa0iq3r9b0zzrxpxha17avmyzci3kidzmfbf6fd1279mndpb0";
       type = "gem";
     };
-    version = "4.1.3";
+    version = "4.2.0";
   };
   rqrcode = {
     dependencies = ["chunky_png" "rqrcode_core"];
@@ -5225,10 +5349,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "086qdyz7c4s5dslm6j06mq7j4jmj958whc3yinhabnqqmz7i463d";
+      sha256 = "1dpmbq2awsjiwn300cafp9fbvv86dl7zrb760anhmm1qw8yzg1my";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.1.0";
   };
   rspec-retry = {
     dependencies = ["rspec-core"];
@@ -5251,16 +5375,6 @@ src:
     };
     version = "3.12.0";
   };
-  rspec_flaky = {
-    dependencies = ["activesupport" "rspec"];
-    groups = ["development" "monorepo" "test"];
-    platforms = [];
-    source = {
-      path = "${src}/gems/rspec_flaky";
-      type = "path";
-    };
-    version = "0.1.0";
-  };
   rspec_junit_formatter = {
     dependencies = ["rspec-core"];
     groups = ["test"];
@@ -5284,15 +5398,15 @@ src:
     version = "0.0.6";
   };
   rubocop = {
-    dependencies = ["json" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l46lw5gfj3mcm982wpmx7br4rs466gyislv0hfwcsk8dxhv1zkw";
+      sha256 = "06qnp5zs233j4f59yyqrg8al6hr9n4a7vcdg3p31v0np8bz9srwg";
       type = "gem";
     };
-    version = "1.50.2";
+    version = "1.57.2";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -5311,10 +5425,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01fn05a87g009ch1sh00abdmgjab87i995msap26vxq1a5smdck6";
+      sha256 = "1jwwi5a05947q9zsk6i599zxn657hdphbmmbbpx17qsv307rwcps";
       type = "gem";
     };
-    version = "2.18.0";
+    version = "2.19.0";
   };
   rubocop-factory_bot = {
     dependencies = ["rubocop"];
@@ -5322,10 +5436,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kqchl8f67k2g56sq2h1sm2wb6br5gi47s877hlz94g5086f77n1";
+      sha256 = "1y79flwjwlaslyhfpg84di9n756ir6bm52n964620xsj658d661h";
       type = "gem";
     };
-    version = "2.23.1";
+    version = "2.24.0";
   };
   rubocop-graphql = {
     dependencies = ["rubocop"];
@@ -5344,10 +5458,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bp02784v0qm8qcswi169s0ar6216rwk516v3idzpbxznpqp97ac";
+      sha256 = "1pzsrnjmrachdjxzl9jpw47cydicn3408vgdg3a4bss4v5r42rjj";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.19.1";
   };
   rubocop-rails = {
     dependencies = ["activesupport" "rack" "rubocop"];
@@ -5355,10 +5469,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05r46ds0dm44fb4p67hbz721zck8mdwblzssz2y25yh075hvs36j";
+      sha256 = "0imxmki4qc5pji31wn491smaq531ncngnv6d4xvbpn11cgdkqryv";
       type = "gem";
     };
-    version = "2.20.2";
+    version = "2.22.1";
   };
   rubocop-rspec = {
     dependencies = ["rubocop" "rubocop-capybara" "rubocop-factory_bot"];
@@ -5366,10 +5480,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00rsflhijcr0q838fgbdmk7knm5kcjpimn6x0k9qmiw15hi96x1d";
+      sha256 = "1wwrgcigdrrlgg4nwbl18qfyjks519kqbbly5adrdffvh428lgq8";
       type = "gem";
     };
-    version = "2.22.0";
+    version = "2.25.0";
   };
   ruby-fogbugz = {
     dependencies = ["crack" "multipart-post"];
@@ -5382,6 +5496,39 @@ src:
     };
     version = "0.3.0";
   };
+  ruby-lsp = {
+    dependencies = ["language_server-protocol" "prism" "sorbet-runtime"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zsd9ax4xzk8y1hflzbmfq1l0fpflwqhrggd8x2f4j9ap6z464lg";
+      type = "gem";
+    };
+    version = "0.13.1";
+  };
+  ruby-lsp-rails = {
+    dependencies = ["actionpack" "activerecord" "railties" "ruby-lsp" "sorbet-runtime"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1j2pb9d9frdh6rpz5qcvhmqswqdmmxa392z2nv1rnk60cpxclc0p";
+      type = "gem";
+    };
+    version = "0.2.8";
+  };
+  ruby-lsp-rspec = {
+    dependencies = ["ruby-lsp"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18qfm86bafybm93kz1bn2z86gwaax3c57i25g4lzgv6pp9aj5nr1";
+      type = "gem";
+    };
+    version = "0.1.8";
+  };
   ruby-magic = {
     dependencies = ["mini_portile2"];
     groups = ["default"];
@@ -5445,6 +5592,17 @@ src:
     };
     version = "0.0.5";
   };
+  ruby_parser = {
+    dependencies = ["sexp_processor"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0j8w4mqhqaw53jd27cfhq1mq02d1r606x9fmrpfzz0fwjnk8j8ld";
+      type = "gem";
+    };
+    version = "3.20.3";
+  };
   rubyntlm = {
     groups = ["default"];
     platforms = [];
@@ -5577,21 +5735,21 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "094x2gzfxpp4wzyy3fcbb5ah3abvdd41ilzwv5g0hgqx0a0nywjm";
+      sha256 = "1qy3whgdg6q5bi6mzbq5gc94rxnkasdhdx3c73z3a955krj16w13";
       type = "gem";
     };
-    version = "4.14.0";
+    version = "4.16.0";
   };
   semver_dialects = {
-    dependencies = ["pastel" "thor" "tty-command"];
+    dependencies = ["deb_version" "pastel" "thor" "tty-command"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08zb8rlr20f1985hyakd9z7f9hc9n34qx1g8cyk5377pb5vgd8b0";
+      sha256 = "1bj9r98ilpgg0w0h80wydfssr7kv65y0v2afsf1azhf9mymz3000";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.5.0";
   };
   sentry-rails = {
     dependencies = ["railties" "sentry-ruby"];
@@ -5599,10 +5757,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06vklzpziqryd25k71k8qia4sy7xh10zci9wg7dbzhp2kn82s6y1";
+      sha256 = "1gby2dx2h487y8ziisy57ba8mj6scpg6az49n4p989kc2fn2zalr";
       type = "gem";
     };
-    version = "5.8.0";
+    version = "5.10.0";
   };
   sentry-raven = {
     dependencies = ["faraday"];
@@ -5621,10 +5779,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "043isdlj6x9rymj74gh8m6li6yr8b8k4a6lr9swrydxy6ca15sya";
+      sha256 = "069n32qqhhv91slyvzh92vqw3gp232qqz652yc894c71mv028p0i";
       type = "gem";
     };
-    version = "5.8.0";
+    version = "5.10.0";
   };
   sentry-sidekiq = {
     dependencies = ["sentry-ruby" "sidekiq"];
@@ -5632,10 +5790,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yf7fwc4wczi87bdmb9bksprw66xcsvr1ldskpcmzz592qyi5lch";
+      sha256 = "06pagbphvmwp8yk3rcnhl7mbnc0hnvhcjhanzgiipyrk0y6h30fc";
       type = "gem";
     };
-    version = "5.8.0";
+    version = "5.10.0";
   };
   set = {
     groups = ["default"];
@@ -5647,6 +5805,16 @@ src:
     };
     version = "1.0.2";
   };
+  sexp_processor = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vzz9mhg4kkdqf179pm30i204h7iskanxrk53j0csf0qrrs4iajd";
+      type = "gem";
+    };
+    version = "4.17.0";
+  };
   shellany = {
     groups = ["default" "test"];
     platforms = [];
@@ -5674,21 +5842,21 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p2mj2jj5b9wqmpvkngx87lfr2qgwhqvwx38bmhl5aa29pc6z5kx";
+      sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl";
       type = "gem";
     };
-    version = "6.5.7";
+    version = "6.5.12";
   };
   sidekiq-cron = {
-    dependencies = ["fugit" "sidekiq"];
+    dependencies = ["fugit" "globalid" "sidekiq"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jmh5vc2gdy0a161hgq0vlbwaviqj51pqzmgda4p2nyffg575nj7";
+      sha256 = "0v09lg8kza19jmigqv5hx2ibhm75j6pa639sfy4bv2208l50hqv6";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.12.0";
   };
   sigdump = {
     groups = ["development" "test"];
@@ -5773,6 +5941,16 @@ src:
     };
     version = "0.1.4";
   };
+  singleton = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m0w97jmwp1ldg8x5jaidqyqf7n9lkdqsirdpkgppcfbgx0v045l";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
   sixarm_ruby_unaccent = {
     groups = ["default"];
     platforms = [];
@@ -5825,6 +6003,16 @@ src:
     };
     version = "0.47.2";
   };
+  sorbet-runtime = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18280l1wgdmr9xhr4mzxr4ycskwbgjzd91vmdzx0dlp6xp2dydnb";
+      type = "gem";
+    };
+    version = "0.5.11144";
+  };
   sorted_set = {
     dependencies = ["rbtree" "set"];
     groups = ["default"];
@@ -6051,10 +6239,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11z9m8jcys8q8h8prqdr1frppm0mjdh8if7c1rm2qyq8v19g83fi";
+      sha256 = "0mj0qyapppbvlr81a4pcivgsbwi5082iyzbxypasxdv17wl0p7q0";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.9.0";
   };
   telesign = {
     dependencies = ["net-http-persistent"];
@@ -6126,10 +6314,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mhzw33lv7h8d7pyh65lis5svnmm8m6fnszbsfg3j3xk9hcl0an5";
+      sha256 = "08vm33d51zdan4zj4cccw3lx06p6flc1h40kgdfm9rp4x83csdda";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "1.3.1";
   };
   test_file_finder = {
     dependencies = ["faraday"];
@@ -6137,10 +6325,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kgak2xqyp2wf7y1c1q1dpxw56iq9mgpqjji6vfbjkxckqrxhdmw";
+      sha256 = "1cyd1wpi280w4v6f6panbvrli8493phzbb09nvxswxhcv1lv7sd5";
       type = "gem";
     };
-    version = "0.1.4";
+    version = "0.2.1";
   };
   text = {
     groups = ["default" "development"];
@@ -6153,14 +6341,14 @@ src:
     version = "1.3.1";
   };
   thor = {
-    groups = ["default" "development" "omnibus" "test"];
+    groups = ["default" "development" "monorepo" "omnibus" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
+      sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   thread_safe = {
     groups = ["default" "test"];
@@ -6271,10 +6459,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pbfbmi9l5hxr1zly1bc72fk8a6by4d19wdap8q3mi3rlflqzbfp";
+      sha256 = "0fr2hydxs1rzmi7c1c1wcfi0m2piks3vl8hdhh8rpgjz041dm4w4";
       type = "gem";
     };
-    version = "3.4.9";
+    version = "3.10.8";
   };
   truncato = {
     dependencies = ["htmlentities" "nokogiri"];
@@ -6567,10 +6755,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18s2b8g23agnykjjdw74ha0hhzx8n73gn41vsqxmhlgxnh8mr93s";
+      sha256 = "1xn5q1mbhwalx16mj441pzbm8hkxdmwxwzdjcj86f3bfnpipzh9y";
       type = "gem";
     };
-    version = "3.6.0";
+    version = "3.8.0";
   };
   virtus = {
     dependencies = ["axiom-types" "coercible" "descendants_tracker"];
@@ -6585,25 +6773,25 @@ src:
   };
   vite_rails = {
     dependencies = ["railties" "vite_ruby"];
-    groups = ["default"];
+    groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q7qbi3npw47xza8spvd8ni0x0ahjb6lkd12y9a4pqppxn555v5q";
+      sha256 = "1k4bllg0zpmpkjfmk1gybc2ygca4v40l2fmlplf9h0jqwniqa3mr";
       type = "gem";
     };
-    version = "3.0.15";
+    version = "3.0.17";
   };
   vite_ruby = {
     dependencies = ["dry-cli" "rack-proxy" "zeitwerk"];
-    groups = ["default"];
+    groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "036qi8w4qzglhqrrrrkc0m7ivfzmagsdyj61r0h27p56hn1l6ph2";
+      sha256 = "0wza7pnwz8ym92gw0x4zr1icialhlw0l032kn4f86vw1vlzxmrd3";
       type = "gem";
     };
-    version = "3.3.4";
+    version = "3.5.0";
   };
   vmstat = {
     groups = ["default"];
@@ -6746,10 +6934,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "110dv4arvwyky6f2pq19f20f1xcjpiz3zfbals0y49ijpq8agvql";
+      sha256 = "1nnx4xz8g40dpi3ccqk5blj1ck06ydx09f9diksn1ghd8yxzavhi";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.0.7";
   };
   xml-simple = {
     dependencies = ["rexml"];
diff --git a/pkgs/by-name/kl/klog-time-tracker/package.nix b/pkgs/by-name/kl/klog-time-tracker/package.nix
new file mode 100644
index 000000000000..d4fbb4782b8e
--- /dev/null
+++ b/pkgs/by-name/kl/klog-time-tracker/package.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "klog-time-tracker";
+  version = "6.2";
+
+  src = fetchFromGitHub {
+    owner = "jotaen";
+    repo = "klog";
+    rev = "v${version}";
+    hash = "sha256-PFYPthrschw6XEf128L7yBygrVR3E3rtATCpxXGFRd4=";
+  };
+
+  vendorHash = "sha256-X5xL/4blWjddJsHwwfLpGjHrfia1sttmmqHjaAIVXVo=";
+
+  meta = with lib; {
+    description = "Command line tool for time tracking in a human-readable, plain-text file format";
+    homepage = "https://klog.jotaen.net";
+    license = licenses.mit;
+    maintainers = [ maintainers.blinry ];
+    mainProgram = "klog";
+  };
+}
diff --git a/pkgs/by-name/oe/oelint-adv/package.nix b/pkgs/by-name/oe/oelint-adv/package.nix
index 639bdb1235fd..8eaecb420b13 100644
--- a/pkgs/by-name/oe/oelint-adv/package.nix
+++ b/pkgs/by-name/oe/oelint-adv/package.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "oelint-adv";
-  version = "3.26.6";
+  version = "3.26.12";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_adv";
-    hash = "sha256-RRNuuGpK9c8Cj4FUEHZses3CMDZku/AzY7S9yl5DrSo=";
+    hash = "sha256-pemFy+MTBE9T/dY93rErlvWCru1TLR7X25/1+GNAFdw=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 0222cb448045..7965cf2aa1f2 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -90,10 +90,10 @@ stdenv.mkDerivation rec {
       computer screen showing a lot less of English, and far more of their
       own language.
 
-      GNU `gettext' is an important step for the GNU Translation Project, as
+      GNU `gettext` is an important step for the GNU Translation Project, as
       it is an asset on which we may build many other steps. This package
       offers to programmers, translators, and even users, a well integrated
-      set of tools and documentation. Specifically, the GNU `gettext'
+      set of tools and documentation. Specifically, the GNU `gettext`
       utilities are a set of tools that provides a framework to help other
       GNU packages produce multi-lingual messages.
     '';
diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix
index bdc173507c05..576d166f0ca7 100644
--- a/pkgs/development/libraries/lame/default.nix
+++ b/pkgs/development/libraries/lame/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license     = licenses.lgpl2;
     maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
+    mainProgram = "lame";
   };
 }
diff --git a/pkgs/development/ocaml-modules/macaque/default.nix b/pkgs/development/ocaml-modules/macaque/default.nix
deleted file mode 100644
index d47c0c4f11c5..000000000000
--- a/pkgs/development/ocaml-modules/macaque/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, pgocaml, camlp4 }:
-
-stdenv.mkDerivation rec {
-  pname = "ocaml-macaque";
-  version = "0.7.2";
-
-  src = fetchFromGitHub {
-    owner = "ocsigen";
-    repo = "macaque";
-    rev = version;
-    sha256 = "sha256-W9ZFaINYYtIikKy/ZqdlKeFQSA7DQT9plc3+ZhlSIJI=";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ];
-  propagatedBuildInputs = [ pgocaml camlp4 ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  meta = with lib; {
-    description = "Macros for Caml Queries";
-    homepage = "https://github.com/ocsigen/macaque";
-    license = licenses.lgpl2;
-    platforms = ocaml.meta.platforms or [ ];
-    maintainers = with maintainers; [ vbgl ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/pgocaml/default.nix b/pkgs/development/ocaml-modules/pgocaml/default.nix
index 76b97103d667..46b239a3d28a 100644
--- a/pkgs/development/ocaml-modules/pgocaml/default.nix
+++ b/pkgs/development/ocaml-modules/pgocaml/default.nix
@@ -1,34 +1,27 @@
-{ lib, fetchFromGitHub, fetchpatch, buildDunePackage, ocaml
+{ lib, fetchFromGitHub, buildDunePackage
 , calendar, camlp-streams, csv, hex, ppx_deriving, ppx_sexp_conv, re, rresult, sexplib
 }:
 
-let with-camlp-streams = lib.optional (lib.versionAtLeast ocaml.version "5.0"); in
-
 buildDunePackage rec {
   pname = "pgocaml";
-  version = "4.3.0";
+  version = "4.4.0";
   src = fetchFromGitHub {
     owner = "darioteixeira";
     repo = "pgocaml";
-    rev = version;
-    hash = "sha256-W1fbRnU1l61qqxfVY2qiBnVpGD81xrBO8k0tWr+RXMY=";
+    rev = "v${version}";
+    hash = "sha256-Mz3zVgXas1UivH/BVARx5kWClgr9v9YcGarwaD961tU=";
   };
 
-  # Compatibility with OCaml β‰₯ 5.0
-  patches = with-camlp-streams (fetchpatch {
-    url = "https://github.com/darioteixeira/pgocaml/commit/906a289dc57da4971e312c31eedd26d81e902ed5.patch";
-    hash = "sha256-/v9Jheg98GhrcD2gcsQpPvq7YiIrvJj22SKvrBRlR9Y=";
-  });
-
   minimalOCamlVersion = "4.08";
 
-  propagatedBuildInputs = [ calendar csv hex ppx_deriving ppx_sexp_conv re rresult sexplib ]
-  ++ with-camlp-streams camlp-streams;
+  propagatedBuildInputs = [ calendar csv hex ppx_deriving ppx_sexp_conv re
+    rresult sexplib camlp-streams
+  ];
 
   meta = with lib; {
     description = "An interface to PostgreSQL databases for OCaml applications";
-    inherit (src.meta) homepage;
-    license = licenses.lgpl2;
+    homepage = "https://github.com/darioteixeira/pgocaml";
+    license = licenses.lgpl2Only;
     maintainers = with maintainers; [ vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/pgocaml/ppx.nix b/pkgs/development/ocaml-modules/pgocaml/ppx.nix
index b649f70d198c..1b76f9a577e7 100644
--- a/pkgs/development/ocaml-modules/pgocaml/ppx.nix
+++ b/pkgs/development/ocaml-modules/pgocaml/ppx.nix
@@ -4,8 +4,6 @@ buildDunePackage {
   pname = "pgocaml_ppx";
   inherit (pgocaml) src version meta;
 
-  duneVersion = "3";
-
   buildInputs = [ ppx_optcomp ];
   propagatedBuildInputs = [ pgocaml ];
 }
diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix
index 252468061717..4785bbd04051 100644
--- a/pkgs/development/ocaml-modules/uunf/default.nix
+++ b/pkgs/development/ocaml-modules/uunf/default.nix
@@ -1,11 +1,15 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, cmdliner
+{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf, cmdliner
 , cmdlinerSupport ? lib.versionAtLeast cmdliner.version "1.1"
+, version ? if lib.versionAtLeast ocaml.version "4.14" then "15.1.0" else "15.0.0"
 }:
 
 let
   pname = "uunf";
   webpage = "https://erratique.ch/software/${pname}";
-  version = "15.0.0";
+  hash = {
+    "15.0.0" = "sha256-B/prPAwfqS8ZPS3fyDDIzXWRbKofwOCyCfwvh9veuug=";
+    "15.1.0" = "sha256-D8yvb7hVWaYxMqMZ5089/5tWDfvyGXKUOjhfU/4zSeQ=";
+  }."${version}";
 in
 
 if lib.versionOlder ocaml.version "4.03"
@@ -18,15 +22,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "sha256-B/prPAwfqS8ZPS3fyDDIzXWRbKofwOCyCfwvh9veuug=";
+    inherit hash;
   };
 
   nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
   buildInputs = [ topkg uutf ]
   ++ lib.optional cmdlinerSupport cmdliner;
 
-  propagatedBuildInputs = [ uchar ];
-
   strictDeps = true;
 
   prePatch = lib.optionalString stdenv.isAarch64 "ulimit -s 16384";
diff --git a/pkgs/development/python-modules/aio-geojson-client/default.nix b/pkgs/development/python-modules/aio-geojson-client/default.nix
index 22c59bd64d9d..06f74202743b 100644
--- a/pkgs/development/python-modules/aio-geojson-client/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-client/default.nix
@@ -1,6 +1,6 @@
 { lib
 , aiohttp
-, aresponses
+, aioresponses
 , buildPythonPackage
 , fetchFromGitHub
 , geojson
@@ -9,32 +9,37 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aio-geojson-client";
-  version = "0.18";
-  format = "setuptools";
+  version = "0.19";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-geojson-client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nvfy1XLiMjyCiQo/YuzRbDtxGmAUAiq8UJwS/SkN3oM=";
+    hash = "sha256-ia8nfU5/dcLq3ctJTvpDmvB24mCjO3JrkfQsuXPR+xs=";
   };
 
+  __darwinAllowLocalNetworking = true;
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     geojson
     haversine
   ];
 
-  __darwinAllowLocalNetworking = true;
-
   nativeCheckInputs = [
-    aresponses
+    aioresponses
     mock
     pytest-asyncio
     pytestCheckHook
diff --git a/pkgs/development/python-modules/emulated-roku/default.nix b/pkgs/development/python-modules/emulated-roku/default.nix
index e3d01c21e991..90807521cde8 100644
--- a/pkgs/development/python-modules/emulated-roku/default.nix
+++ b/pkgs/development/python-modules/emulated-roku/default.nix
@@ -1,21 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , aiohttp
 }:
 
 buildPythonPackage rec {
   pname = "emulated-roku";
-  version = "0.2.1";
-  format = "setuptools";
+  version = "0.3.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "mindigmarton";
     repo = "emulated_roku";
     rev = version;
-    sha256 = "02cbg5wrph19p6x44jlw6cn3jli0kwbgfh6klb3c4k5jfrkhgghw";
+    hash = "sha256-7DbJl1e1ESWPCNuQX7m/ggXNDyPYZ5eNGwSz+jnxZj0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
   ];
diff --git a/pkgs/development/python-modules/equinox/default.nix b/pkgs/development/python-modules/equinox/default.nix
index 2d64b71cc39c..92ce388c8765 100644
--- a/pkgs/development/python-modules/equinox/default.nix
+++ b/pkgs/development/python-modules/equinox/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
-, fetchpatch
 , hatchling
 , jax
 , jaxlib
@@ -9,29 +9,24 @@
 , typing-extensions
 , beartype
 , optax
+, pytest-xdist
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "equinox";
-  version = "0.11.2";
+  version = "0.11.3";
   pyproject = true;
 
+  disabled = pythonOlder "3.9";
+
   src = fetchFromGitHub {
     owner = "patrick-kidger";
     repo = "equinox";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qFTKiY/t2LCCWJBOSfaX0hYQInrpXgfhTc+J4iuyVbM=";
+    hash = "sha256-la3gPfwQ2pxfZoEikn9uG+Pc3PKafgEgxZ8oVQEm9YM=";
   };
 
-  patches = [
-    (fetchpatch {  # https://github.com/patrick-kidger/equinox/pull/601
-      name = "fix-wrong-PRNGKey-annotation";
-      url = "https://github.com/patrick-kidger/equinox/pull/601/commits/dce2fa1b7dcfd25d9573ce3186c5f6e8f79392bb.patch";
-      hash = "sha256-tlGV5xuNGLZTd1GlPwllybPz8tWHGHaCBdlsEuISm/0=";
-    })
-  ];
-
   nativeBuildInputs = [
     hatchling
   ];
@@ -46,6 +41,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     beartype
     optax
+    pytest-xdist
     pytestCheckHook
   ];
 
@@ -53,6 +49,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A JAX library based around a simple idea: represent parameterised functions (such as neural networks) as PyTrees";
+    changelog = "https://github.com/patrick-kidger/equinox/releases/tag/v${version}";
     homepage = "https://github.com/patrick-kidger/equinox";
     license = licenses.asl20;
     maintainers = with maintainers; [ GaetanLepage ];
diff --git a/pkgs/development/python-modules/lifelines/default.nix b/pkgs/development/python-modules/lifelines/default.nix
index d0dd1b757fae..b081bfae9d83 100644
--- a/pkgs/development/python-modules/lifelines/default.nix
+++ b/pkgs/development/python-modules/lifelines/default.nix
@@ -20,16 +20,16 @@
 
 buildPythonPackage rec {
   pname = "lifelines";
-  version = "0.27.8";
+  version = "0.28.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "CamDavidsonPilon";
     repo = "lifelines";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2AjqN4TtBY1KtgFlY0E2UcFUHniHe2Hge+JaUQd4gO8=";
+    hash = "sha256-6j+RgKeBCvpcREf7j8NE2x+IUI/LaoT6jsnHny4ccVo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 5a3ec1f68469..97715659be0d 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -27,6 +27,7 @@
 , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk
 , bundler, libsass, dart-sass, libexif, libselinux, libsepol, shared-mime-info, libthai, libdatrie
 , CoreServices, DarwinTools, cctools, libtool, discount, exiv2, libepoxy, libxkbcommon, libmaxminddb, libyaml
+, cargo, rustc, rustPlatform
 , autoSignDarwinBinariesHook, fetchpatch
 }@args:
 
@@ -296,6 +297,33 @@ in
     in ''
       substituteInPlace lib/prometheus/client/page_size.rb --replace "getconf" "${lib.getBin getconf}/bin/getconf"
     '';
+  } // lib.optionalAttrs (lib.versionAtLeast attrs.version "1.0") {
+    cargoRoot = "ext/fast_mmaped_file_rs";
+    cargoDeps = rustPlatform.fetchCargoTarball {
+      src = stdenv.mkDerivation {
+        inherit (buildRubyGem { inherit (attrs) gemName version source; })
+          name
+          src
+          unpackPhase
+          nativeBuildInputs
+        ;
+        dontBuilt = true;
+        installPhase = ''
+          cp -R ext/fast_mmaped_file_rs $out
+        '';
+      };
+      hash = "sha256-XuQZPbFWqPHlrJvllkvLl1FjKeoAUbi8oKDrS2rY1KM=";
+    };
+    nativeBuildInputs = [
+      cargo
+      rustc
+      rustPlatform.cargoSetupHook
+      rustPlatform.bindgenHook
+    ];
+    preBuild = ''
+      cat ../.cargo/config > ext/fast_mmaped_file_rs/.cargo/config.toml
+      sed -i "s|cargo-vendor-dir|$PWD/../cargo-vendor-dir|" ext/fast_mmaped_file_rs/.cargo/config.toml
+    '';
   };
 
   glib2 = attrs: {
diff --git a/pkgs/development/tools/build-managers/scala-cli/sources.json b/pkgs/development/tools/build-managers/scala-cli/sources.json
index cc342b1feb74..20718c2c909f 100644
--- a/pkgs/development/tools/build-managers/scala-cli/sources.json
+++ b/pkgs/development/tools/build-managers/scala-cli/sources.json
@@ -1,21 +1,21 @@
 {
-  "version": "1.1.0",
+  "version": "1.1.1",
   "assets": {
     "aarch64-darwin": {
       "asset": "scala-cli-aarch64-apple-darwin.gz",
-      "sha256": "1w8vxfyn1h5x5jxh4w133w0l566ly3chhkff06jy1gik4hszd97y"
+      "sha256": "1sxfwdgqzhxxhgj0kid10iay4sqq9ajndnncxl7jhh2ib59bavj2"
     },
     "aarch64-linux": {
       "asset": "scala-cli-aarch64-pc-linux.gz",
-      "sha256": "0k3nsn2zzfqbkibrd5hzrsbg35x08ss4l2f7nwwa59grj5jgpm0f"
+      "sha256": "1z3xvyjs69iy0y59q2bwpa6blslhc1wdgwrm8xsfd0x8y0dg8kq2"
     },
     "x86_64-darwin": {
       "asset": "scala-cli-x86_64-apple-darwin.gz",
-      "sha256": "016mdi5bp1x0r2hak4c3j26y8zrhvhsl1w7gvzsbybpbfd5p45hv"
+      "sha256": "05xincadr0y5kly8j058pn41wa6qmqcf6p62s45h881y3ydghxch"
     },
     "x86_64-linux": {
       "asset": "scala-cli-x86_64-pc-linux.gz",
-      "sha256": "0q2aqwjldsdbir8s8mix2wqkhiwb4q5d3ljf9gzxqqxgc9h4v78j"
+      "sha256": "0knjkkyw7libqdzw770whrbwdcyr5qabnjw7ayps0k4kql43cyns"
     }
   }
 }
diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix
index 927281d62c1a..cd258f003cb7 100644
--- a/pkgs/development/tools/misc/sccache/default.nix
+++ b/pkgs/development/tools/misc/sccache/default.nix
@@ -1,23 +1,37 @@
-{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, stdenv, Security }:
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, openssl
+, stdenv
+, darwin
+}:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.7.4";
+  version = "0.7.5";
   pname = "sccache";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "sccache";
     rev = "v${version}";
-    sha256 = "sha256-r5Gev6tnaq8KY26Zl5aDxTomAFw3SPK3szrS4Kc14cI=";
+    sha256 = "sha256-rql5Nj/w7cNaO6UKK96vYYE2E19RIiCHYHTnbW+U4n8=";
   };
 
-  cargoSha256 = "sha256-4YeD4UxqhLRg2d2INbMAHrJBTlvuafrKEcjohBDx6CQ=";
+  cargoHash = "sha256-VdI39DgQrUZhoawMqBC6ngTvldW+QbDjMjxjjbH9G1A=";
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+  nativeBuildInputs = [
+    pkg-config
+  ];
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.SystemConfiguration
+  ];
 
-  # Tests fail because of client server setup which is not possible inside the pure environment,
-  # see https://github.com/mozilla/sccache/issues/460
+  # Tests fail because of client server setup which is not possible inside the
+  # pure environment, see https://github.com/mozilla/sccache/issues/460
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index b846cc336bfc..11862b58e004 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nginx_exporter";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "nginxinc";
     repo = "nginx-prometheus-exporter";
     rev = "v${version}";
-    sha256 = "sha256-fnYZmJxXY1RaPJX8KiKxFmMauP5Jh5H72FWjIwgoIio=";
+    sha256 = "sha256-wLLHhbIA4jPgXtVIP6ycxgXfULODngPSpV3rZpJFSjI=";
   };
 
-  vendorHash = "sha256-VkatDZerLKnfbNFtnjklkE3TLY57uO1WUGa/p5tAXSQ=";
+  vendorHash = "sha256-pMof9Wr6GrH5N97C4VNG2ELtZ6C6ruq5ylMwByotrP0=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/servers/nextcloud/packages/26.json b/pkgs/servers/nextcloud/packages/26.json
index c6078b06e1d3..41aacef9e795 100644
--- a/pkgs/servers/nextcloud/packages/26.json
+++ b/pkgs/servers/nextcloud/packages/26.json
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "0sj3f2daz6l5mckparpnp5pywmy1mxv973l7nbqsp3s6qixkj8xc",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.1/calendar-v4.6.1.tar.gz",
-    "version": "4.6.1",
+    "sha256": "0lz1sly8p2lhr425ggj3dacz0i28xg32041zdg3nl916yayvqj2p",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.3/calendar-v4.6.3.tar.gz",
+    "version": "4.6.3",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* πŸ™‹ **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* πŸ” Search! Find your events at ease\n* β˜‘οΈ Tasks! See tasks with a due date directly in the calendar\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -20,9 +20,9 @@
     ]
   },
   "contacts": {
-    "sha256": "0pbl4fmpg1jxwjj141gqnmwzgm3ji1z686kr11rmldfkjvhjss2x",
-    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.5.0/contacts-v5.5.0.tar.gz",
-    "version": "5.5.0",
+    "sha256": "1wq6xj9r1f2raqhpj222269y8dkn5zx9mnw7zrbxwpz8c67s3h6n",
+    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.5.1/contacts-v5.5.1.tar.gz",
+    "version": "5.5.1",
     "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* πŸŽ‰ **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* πŸ‘₯ **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.",
     "homepage": "https://github.com/nextcloud/contacts#readme",
     "licenses": [
@@ -59,6 +59,16 @@
       "agpl"
     ]
   },
+  "end_to_end_encryption": {
+    "sha256": "19vp0ggllplm84hwaqwn95122hsgfglmlk2lbwlgsjv8d36fv1wr",
+    "url": "https://github.com/nextcloud-releases/end_to_end_encryption/releases/download/v1.12.5/end_to_end_encryption-v1.12.5.tar.gz",
+    "version": "1.12.5",
+    "description": "Provides the necessary endpoint to enable end-to-end encryption.\n\n**Notice:** E2EE is currently not compatible to be used together with server-side encryption",
+    "homepage": "https://github.com/nextcloud/end_to_end_encryption",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "files_markdown": {
     "sha256": "0p97ha6x3czzbflavmjn4jmz3z706h5f84spg4j7dwq3nc9bqrf7",
     "url": "https://github.com/icewind1991/files_markdown/releases/download/v2.4.1/files_markdown-v2.4.1.tar.gz",
@@ -80,9 +90,9 @@
     ]
   },
   "forms": {
-    "sha256": "1mipdri1flhkdwknsp72k87y7xfis72bzsnw1alzr1cbp8d6ardm",
-    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.3/forms-v3.4.3.tar.gz",
-    "version": "3.4.3",
+    "sha256": "0rx3kcbachs3pk56cmzrc2iy5wg5cwvs8n6myxbgz86qm0pbxmzk",
+    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.4/forms-v3.4.4.tar.gz",
+    "version": "3.4.4",
     "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **πŸ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **πŸ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **πŸ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **πŸ§‘β€πŸ’» Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **πŸ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
@@ -113,16 +123,16 @@
     "sha256": "11q15ajg1357y5y5a640dvsy6hhvvar7wp34zfsb07n7hqlmyci0",
     "url": "https://github.com/jhass/nextcloud-keeweb/releases/download/v0.6.13/keeweb-0.6.13.tar.gz",
     "version": "0.6.13",
-    "description": "Open Keepass stores inside Nextcloud with Keeweb just by clicking on an *.kdbx file in your Nextcloud.",
+    "description": "Open Keepass stores inside Nextcloud with Keeweb just by clicking on an *.kdbx file in your\n        Nextcloud.",
     "homepage": "https://github.com/jhass/nextcloud-keeweb",
     "licenses": [
       "agpl"
     ]
   },
   "mail": {
-    "sha256": "0ycyj5ydnvnf5cjnxkpxd489rymlag8df67n5lawp43cvgg2jn2d",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.0/mail-v3.5.0.tar.gz",
-    "version": "3.5.0",
+    "sha256": "1r4vqxmzfzv9g29smqj14a3k97hwxb9dswg7z501wgq901959bx2",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.2/mail-v3.5.2.tar.gz",
+    "version": "3.5.2",
     "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
@@ -140,9 +150,9 @@
     ]
   },
   "memories": {
-    "sha256": "1rz0pkis0vz6hjyj53jbz7dcmd9yxbh1h9p4nhg4a2p7yyd5092m",
-    "url": "https://github.com/pulsejet/memories/releases/download/v6.1.5/memories.tar.gz",
-    "version": "6.1.5",
+    "sha256": "1j3296d3arkr9344zzv6ynhg842ym36a1bp1r3y6m8wp552m5gay",
+    "url": "https://github.com/pulsejet/memories/releases/download/v6.2.2/memories.tar.gz",
+    "version": "6.2.2",
     "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **πŸ“Έ Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **βͺ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **πŸ€– AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **πŸ–ΌοΈ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **πŸ«±πŸ»β€πŸ«²πŸ» External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **πŸ“± Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **πŸ“¦ Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **πŸ“Ή Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **πŸ—ΊοΈ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **πŸ“¦ Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚑️ Performance**: Do all this very fast.\n\n## πŸš€ Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the πŸ“· Memories app in Nextcloud and set the directory containing your photos.",
     "homepage": "https://memories.gallery",
     "licenses": [
diff --git a/pkgs/servers/nextcloud/packages/27.json b/pkgs/servers/nextcloud/packages/27.json
index 5c676d6e69dd..41afb67cfaec 100644
--- a/pkgs/servers/nextcloud/packages/27.json
+++ b/pkgs/servers/nextcloud/packages/27.json
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "0sj3f2daz6l5mckparpnp5pywmy1mxv973l7nbqsp3s6qixkj8xc",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.1/calendar-v4.6.1.tar.gz",
-    "version": "4.6.1",
+    "sha256": "0lz1sly8p2lhr425ggj3dacz0i28xg32041zdg3nl916yayvqj2p",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.3/calendar-v4.6.3.tar.gz",
+    "version": "4.6.3",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* πŸ™‹ **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* πŸ” Search! Find your events at ease\n* β˜‘οΈ Tasks! See tasks with a due date directly in the calendar\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -20,9 +20,9 @@
     ]
   },
   "contacts": {
-    "sha256": "0pbl4fmpg1jxwjj141gqnmwzgm3ji1z686kr11rmldfkjvhjss2x",
-    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.5.0/contacts-v5.5.0.tar.gz",
-    "version": "5.5.0",
+    "sha256": "1wq6xj9r1f2raqhpj222269y8dkn5zx9mnw7zrbxwpz8c67s3h6n",
+    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.5.1/contacts-v5.5.1.tar.gz",
+    "version": "5.5.1",
     "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* πŸŽ‰ **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* πŸ‘₯ **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.",
     "homepage": "https://github.com/nextcloud/contacts#readme",
     "licenses": [
@@ -59,6 +59,16 @@
       "agpl"
     ]
   },
+  "end_to_end_encryption": {
+    "sha256": "1ha77k2mzr1q63fs1h8ff7vxkhry6vfj2ci1va7m8dkjn7s9pk5c",
+    "url": "https://github.com/nextcloud-releases/end_to_end_encryption/releases/download/v1.13.1/end_to_end_encryption-v1.13.1.tar.gz",
+    "version": "1.13.1",
+    "description": "Provides the necessary endpoint to enable end-to-end encryption.\n\n**Notice:** E2EE is currently not compatible to be used together with server-side encryption",
+    "homepage": "https://github.com/nextcloud/end_to_end_encryption",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "files_markdown": {
     "sha256": "0p97ha6x3czzbflavmjn4jmz3z706h5f84spg4j7dwq3nc9bqrf7",
     "url": "https://github.com/icewind1991/files_markdown/releases/download/v2.4.1/files_markdown-v2.4.1.tar.gz",
@@ -80,9 +90,9 @@
     ]
   },
   "forms": {
-    "sha256": "1mipdri1flhkdwknsp72k87y7xfis72bzsnw1alzr1cbp8d6ardm",
-    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.3/forms-v3.4.3.tar.gz",
-    "version": "3.4.3",
+    "sha256": "0rx3kcbachs3pk56cmzrc2iy5wg5cwvs8n6myxbgz86qm0pbxmzk",
+    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.4/forms-v3.4.4.tar.gz",
+    "version": "3.4.4",
     "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **πŸ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **πŸ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **πŸ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **πŸ§‘β€πŸ’» Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **πŸ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
@@ -113,16 +123,16 @@
     "sha256": "11q15ajg1357y5y5a640dvsy6hhvvar7wp34zfsb07n7hqlmyci0",
     "url": "https://github.com/jhass/nextcloud-keeweb/releases/download/v0.6.13/keeweb-0.6.13.tar.gz",
     "version": "0.6.13",
-    "description": "Open Keepass stores inside Nextcloud with Keeweb just by clicking on an *.kdbx file in your Nextcloud.",
+    "description": "Open Keepass stores inside Nextcloud with Keeweb just by clicking on an *.kdbx file in your\n        Nextcloud.",
     "homepage": "https://github.com/jhass/nextcloud-keeweb",
     "licenses": [
       "agpl"
     ]
   },
   "mail": {
-    "sha256": "0ycyj5ydnvnf5cjnxkpxd489rymlag8df67n5lawp43cvgg2jn2d",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.0/mail-v3.5.0.tar.gz",
-    "version": "3.5.0",
+    "sha256": "1r4vqxmzfzv9g29smqj14a3k97hwxb9dswg7z501wgq901959bx2",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.2/mail-v3.5.2.tar.gz",
+    "version": "3.5.2",
     "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
@@ -130,8 +140,8 @@
     ]
   },
   "maps": {
-    "sha256": "1gyxg5xp4mpdrw8630nqcf5yk8cs7a0kvfik2q01p05d533phc4d",
-    "url": "https://github.com/nextcloud/maps/releases/download/v1.2.0/maps-1.2.0.tar.gz",
+    "sha256": "049hrp79fj1bp9nk9isjrk427k238974x7gsj68jplxfrgq3sdkz",
+    "url": "https://github.com/nextcloud/maps/releases/download/v1.2.0-2-nightly/maps-1.2.0-2-nightly.tar.gz",
     "version": "1.2.0",
     "description": "**The whole world fits inside your cloud!**\n\n- **πŸ—Ί Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **πŸ–Ό Photos on the map:** No more boring slideshows, just show directly where you were!\n- **πŸ™‹ Contacts on the map:** See where your friends live and plan your next visit.\n- **πŸ“± Devices:** Lost your phone? Check the map!\n- **γ€° Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
     "homepage": "https://github.com/nextcloud/maps",
@@ -140,9 +150,9 @@
     ]
   },
   "memories": {
-    "sha256": "1rz0pkis0vz6hjyj53jbz7dcmd9yxbh1h9p4nhg4a2p7yyd5092m",
-    "url": "https://github.com/pulsejet/memories/releases/download/v6.1.5/memories.tar.gz",
-    "version": "6.1.5",
+    "sha256": "1j3296d3arkr9344zzv6ynhg842ym36a1bp1r3y6m8wp552m5gay",
+    "url": "https://github.com/pulsejet/memories/releases/download/v6.2.2/memories.tar.gz",
+    "version": "6.2.2",
     "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **πŸ“Έ Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **βͺ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **πŸ€– AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **πŸ–ΌοΈ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **πŸ«±πŸ»β€πŸ«²πŸ» External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **πŸ“± Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **πŸ“¦ Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **πŸ“Ή Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **πŸ—ΊοΈ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **πŸ“¦ Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚑️ Performance**: Do all this very fast.\n\n## πŸš€ Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the πŸ“· Memories app in Nextcloud and set the directory containing your photos.",
     "homepage": "https://memories.gallery",
     "licenses": [
diff --git a/pkgs/servers/nextcloud/packages/28.json b/pkgs/servers/nextcloud/packages/28.json
index 00d0e7d7b4e9..c3b589fca7f8 100644
--- a/pkgs/servers/nextcloud/packages/28.json
+++ b/pkgs/servers/nextcloud/packages/28.json
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "0sj3f2daz6l5mckparpnp5pywmy1mxv973l7nbqsp3s6qixkj8xc",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.1/calendar-v4.6.1.tar.gz",
-    "version": "4.6.1",
+    "sha256": "0lz1sly8p2lhr425ggj3dacz0i28xg32041zdg3nl916yayvqj2p",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.6.3/calendar-v4.6.3.tar.gz",
+    "version": "4.6.3",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* πŸ™‹ **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* πŸ” Search! Find your events at ease\n* β˜‘οΈ Tasks! See tasks with a due date directly in the calendar\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -20,9 +20,9 @@
     ]
   },
   "contacts": {
-    "sha256": "0pbl4fmpg1jxwjj141gqnmwzgm3ji1z686kr11rmldfkjvhjss2x",
-    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.5.0/contacts-v5.5.0.tar.gz",
-    "version": "5.5.0",
+    "sha256": "1wq6xj9r1f2raqhpj222269y8dkn5zx9mnw7zrbxwpz8c67s3h6n",
+    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.5.1/contacts-v5.5.1.tar.gz",
+    "version": "5.5.1",
     "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* πŸŽ‰ **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* πŸ‘₯ **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.",
     "homepage": "https://github.com/nextcloud/contacts#readme",
     "licenses": [
@@ -59,6 +59,16 @@
       "agpl"
     ]
   },
+  "end_to_end_encryption": {
+    "sha256": "1ih44vrgm3fsm4xk3sz9b5rxf54dva01cfy18gw4lpgn60c63isq",
+    "url": "https://github.com/nextcloud-releases/end_to_end_encryption/releases/download/v1.14.1/end_to_end_encryption-v1.14.1.tar.gz",
+    "version": "1.14.1",
+    "description": "Provides the necessary endpoint to enable end-to-end encryption.\n\n**Notice:** E2EE is currently not compatible to be used together with server-side encryption",
+    "homepage": "https://github.com/nextcloud/end_to_end_encryption",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "forms": {
     "sha256": "1ffga26v01d14rh4mjwyjqp7slh7h7d07vs3yldb8csi826ynji4",
     "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.0.0/forms-v4.0.0.tar.gz",
@@ -89,10 +99,20 @@
       "agpl"
     ]
   },
+  "keeweb": {
+    "sha256": "1mi0cghf8f3sjn77gppf0mn46b8a5jkg7fkm91dd2firygaj1g7b",
+    "url": "https://github.com/jhass/nextcloud-keeweb/releases/download/v0.6.15/keeweb-0.6.15.tar.gz",
+    "version": "0.6.15",
+    "description": "Open Keepass stores inside Nextcloud with Keeweb just by clicking on an *.kdbx file in your\n        Nextcloud.",
+    "homepage": "https://github.com/jhass/nextcloud-keeweb",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "mail": {
-    "sha256": "0ycyj5ydnvnf5cjnxkpxd489rymlag8df67n5lawp43cvgg2jn2d",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.0/mail-v3.5.0.tar.gz",
-    "version": "3.5.0",
+    "sha256": "1r4vqxmzfzv9g29smqj14a3k97hwxb9dswg7z501wgq901959bx2",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.2/mail-v3.5.2.tar.gz",
+    "version": "3.5.2",
     "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
@@ -109,6 +129,16 @@
       "agpl"
     ]
   },
+  "memories": {
+    "sha256": "1j3296d3arkr9344zzv6ynhg842ym36a1bp1r3y6m8wp552m5gay",
+    "url": "https://github.com/pulsejet/memories/releases/download/v6.2.2/memories.tar.gz",
+    "version": "6.2.2",
+    "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **πŸ“Έ Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **βͺ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **πŸ€– AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **πŸ–ΌοΈ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **πŸ«±πŸ»β€πŸ«²πŸ» External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **πŸ“± Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **πŸ“¦ Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **πŸ“Ή Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **πŸ—ΊοΈ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **πŸ“¦ Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚑️ Performance**: Do all this very fast.\n\n## πŸš€ Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the πŸ“· Memories app in Nextcloud and set the directory containing your photos.",
+    "homepage": "https://memories.gallery",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "notes": {
     "sha256": "02893azzq507frb3x7h13ypx09yn9rx740hgfw7q1a2il2ixww5f",
     "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.9.2/notes.tar.gz",
diff --git a/pkgs/servers/nextcloud/packages/generate.sh b/pkgs/servers/nextcloud/packages/generate.sh
index 48960ab24dec..b97673a54eee 100755
--- a/pkgs/servers/nextcloud/packages/generate.sh
+++ b/pkgs/servers/nextcloud/packages/generate.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -I nixpkgs=../../../.. -i bash -p nc4nix
+#! nix-shell -I nixpkgs=../../../.. -i bash -p nc4nix jq
 
 set -e
 set -u
diff --git a/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/pkgs/servers/nextcloud/packages/nextcloud-apps.json
index 5c9cdc854707..0ebbde66203d 100644
--- a/pkgs/servers/nextcloud/packages/nextcloud-apps.json
+++ b/pkgs/servers/nextcloud/packages/nextcloud-apps.json
@@ -5,6 +5,7 @@
 , "cookbook": "agpl3Plus"
 , "cospend": "agpl3Plus"
 , "deck": "agpl3Plus"
+, "end_to_end_encryption": "agpl3Plus"
 , "files_texteditor": "agpl3Plus"
 , "files_markdown": "agpl3Plus"
 , "forms": "agpl3Plus"
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index facde1667747..30fc6a1e35fd 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -3,6 +3,7 @@
 , fetchurl
 , fontutil
 , lib
+, libei
 , libGL
 , libGLU
 , libX11
@@ -64,6 +65,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     egl-wayland
     libepoxy
+    libei
     fontutil
     libGL
     libGLU
diff --git a/pkgs/tools/graphics/graph-cli/default.nix b/pkgs/tools/graphics/graph-cli/default.nix
index be6769d85e9a..ebddd548bed0 100644
--- a/pkgs/tools/graphics/graph-cli/default.nix
+++ b/pkgs/tools/graphics/graph-cli/default.nix
@@ -1,22 +1,31 @@
 { lib
 , python3Packages
 , fetchPypi
+, qt5
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "graph-cli";
-  version = "0.1.18";
+  version = "0.1.19";
 
   src = fetchPypi {
     inherit version;
     pname = "graph_cli";
-    sha256 = "sha256-0mxOc8RJ3GNgSbppLylIViqfYf6zwJ49pltnsyQUpSA=";
+    hash = "sha256-AOfUgeVgcTtuf5IuLYy1zFTBCjWZxu0OiZzUVXDIaSc=";
   };
 
+  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
+
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
   propagatedBuildInputs = with python3Packages; [
     numpy
     pandas
-    matplotlib
+    (matplotlib.override { enableQt = true; })
   ];
 
   # does not contain tests despite reference in Makefile
diff --git a/pkgs/tools/misc/tailspin/default.nix b/pkgs/tools/misc/tailspin/default.nix
index 913e9cfd36da..15af583ce0c4 100644
--- a/pkgs/tools/misc/tailspin/default.nix
+++ b/pkgs/tools/misc/tailspin/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tailspin";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "bensadeh";
     repo = "tailspin";
     rev = version;
-    hash = "sha256-xbnJ2QoTrJwzWIm/GfYW9QCn0DsfA9jLC6rwik4Pxs8=";
+    hash = "sha256-xr9dxq6hUlF3kcXCfmnX2C71NYuGducD0BwbQDnyYJU=";
   };
 
-  cargoHash = "sha256-ios/qRp2crV3g7g/jATuUp/zBdDOCEMhAWfeKFM8NdM=";
+  cargoHash = "sha256-1jPVCYq8W+LjJCdEimImUcSmd2OvIKMs5n9yl3g7sBM=";
 
   meta = with lib; {
     description = "A log file highlighter";
diff --git a/pkgs/tools/security/bitwarden/cli.nix b/pkgs/tools/security/bitwarden/cli.nix
index b51dd1e9e8c2..b5adb6f5d9ae 100644
--- a/pkgs/tools/security/bitwarden/cli.nix
+++ b/pkgs/tools/security/bitwarden/cli.nix
@@ -10,18 +10,18 @@
 
 buildNpmPackage rec {
   pname = "bitwarden-cli";
-  version = "2023.12.1";
+  version = "2024.1.0";
 
   src = fetchFromGitHub {
     owner = "bitwarden";
     repo = "clients";
     rev = "cli-v${version}";
-    hash = "sha256-WHI1AfliJa1wAbN1Heto28WlM7uX51SSV4YndAZii1Y=";
+    hash = "sha256-lDDy1b1yfw3nZrwEEkpvh6xYucgn20XHsGACc45eb2w=";
   };
 
   nodejs = nodejs_18;
 
-  npmDepsHash = "sha256-18OaRCys+HaCZ5/ZLeugqW0jWKSQkfvnBGx8aVAdezQ=";
+  npmDepsHash = "sha256-RR8Ua41D9SXymiPuabOnIab3byu8DR63rOfdeTaQpy4=";
 
   nativeBuildInputs = [
     python3
@@ -37,6 +37,8 @@ buildNpmPackage rec {
 
   npmWorkspace = "apps/cli";
 
+  npmFlags = [ "--legacy-peer-deps" ];
+
   passthru.tests = {
     vaultwarden = nixosTests.vaultwarden.sqlite;
   };
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index adb98f5b671b..e072234355bd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -41570,9 +41570,7 @@ with pkgs;
 
   tomb = callPackage ../os-specific/linux/tomb { };
 
-  sccache = callPackage ../development/tools/misc/sccache {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  sccache = callPackage ../development/tools/misc/sccache { };
 
   scip = callPackage ../development/tools/misc/scip { };
 
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 35535adc54f8..317ecf9f3eeb 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1010,8 +1010,6 @@ let
 
     macaddr-sexp = callPackage ../development/ocaml-modules/macaddr/sexp.nix { };
 
-    macaque = callPackage ../development/ocaml-modules/macaque { };
-
     mad = callPackage ../development/ocaml-modules/mad { };
 
     magic = callPackage ../development/ocaml-modules/magic { };