diff --git a/AssignmentChecker/.idea/.gitignore b/AssignmentChecker/.idea/.gitignore
index 13566b81b018ad684f3a35fee301741b2734c8f4..a9d7db9c0a81b2db47ca92e4e180b30090b27632 100644
--- a/AssignmentChecker/.idea/.gitignore
+++ b/AssignmentChecker/.idea/.gitignore
@@ -6,3 +6,5 @@
 # Datasource local storage ignored files
 /dataSources/
 /dataSources.local.xml
+# GitHub Copilot persisted chat sessions
+/copilot/chatSessions
diff --git a/AssignmentChecker/.idea/jetbrainsConfiguration b/AssignmentChecker/.idea/jetbrainsConfiguration
index ffc5d65f9f0f0e825688177425e526131aa84631..f572bf3afa0a98675247df85c599b5d1e5a62d0d 160000
--- a/AssignmentChecker/.idea/jetbrainsConfiguration
+++ b/AssignmentChecker/.idea/jetbrainsConfiguration
@@ -1 +1 @@
-Subproject commit ffc5d65f9f0f0e825688177425e526131aa84631
+Subproject commit f572bf3afa0a98675247df85c599b5d1e5a62d0d
diff --git a/AssignmentChecker/package-lock.json b/AssignmentChecker/package-lock.json
index d1cd178302694ba59e248d2e754565cb24704c5f..cac9f3a8868ec21c3de51f4fc98e6c24b46c3ff9 100644
--- a/AssignmentChecker/package-lock.json
+++ b/AssignmentChecker/package-lock.json
@@ -9,7 +9,7 @@
             "version": "3.6.0",
             "license": "AGPLv3",
             "dependencies": {
-                "@gitbeaker/rest": "^39.34.3",
+                "@gitbeaker/rest": "^40.0.1",
                 "axios": "^1.6.5",
                 "boxen": "^5.1.2",
                 "chalk": "^4.1.2",
@@ -256,11 +256,11 @@
             }
         },
         "node_modules/@gitbeaker/core": {
-            "version": "39.34.3",
-            "resolved": "https://registry.npmjs.org/@gitbeaker/core/-/core-39.34.3.tgz",
-            "integrity": "sha512-/3qBXme2MjO38QU2F/MYGon9a4wHKrgtwNzdHHdjpbYJ2/wOGNgbEWSZcibcFkiWVgAjbPXdYqC5sY8hcwGO1w==",
+            "version": "40.0.1",
+            "resolved": "https://registry.npmjs.org/@gitbeaker/core/-/core-40.0.1.tgz",
+            "integrity": "sha512-Zh2eVUgy2kYVnp7Db4gWoFqFbjgsnm2FvBEERbH3UM3cOA/iMqM+tw/of+Qk4yO+gv6tGZ9f4nF7+vK0tQFmDA==",
             "dependencies": {
-                "@gitbeaker/requester-utils": "^39.34.3",
+                "@gitbeaker/requester-utils": "^40.0.1",
                 "qs": "^6.11.2",
                 "xcase": "^2.0.1"
             },
@@ -269,9 +269,9 @@
             }
         },
         "node_modules/@gitbeaker/requester-utils": {
-            "version": "39.34.3",
-            "resolved": "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-39.34.3.tgz",
-            "integrity": "sha512-nMnTkTo4UixHPwPYsYIjp8UdKrmSw3TjvRESexliAeNNq4/LVeyVUyRqBUa1ZI8MXt1nPPnPX3wh8s7rqlm7uA==",
+            "version": "40.0.1",
+            "resolved": "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-40.0.1.tgz",
+            "integrity": "sha512-cn6fltKuQ3TbthoMTg+JsKQfozqGcRcz1jT9Nqzr4gpHWgjdQ/nr5JpjwzKABQNVL2JH3UJWr6Eji60CFZDZ6Q==",
             "dependencies": {
                 "picomatch-browser": "^2.2.6",
                 "qs": "^6.11.2",
@@ -283,12 +283,12 @@
             }
         },
         "node_modules/@gitbeaker/rest": {
-            "version": "39.34.3",
-            "resolved": "https://registry.npmjs.org/@gitbeaker/rest/-/rest-39.34.3.tgz",
-            "integrity": "sha512-SuceThS6WhJtqNNcKmW8j0yUU7aXA4k5a29OWcd6bn7peQ3MXlIpbfvLLRnmuUaYUuxHLnUzZhAfuxaNf4DVtQ==",
+            "version": "40.0.1",
+            "resolved": "https://registry.npmjs.org/@gitbeaker/rest/-/rest-40.0.1.tgz",
+            "integrity": "sha512-JEd9WNuzgur7gLiJPMWPYKaWe5uX1ic8CGKR1fMtBityFZ2xyZkTZ+LG0nqWTV1MyiowYnJ1swTh8Yff+kLsKA==",
             "dependencies": {
-                "@gitbeaker/core": "^39.34.3",
-                "@gitbeaker/requester-utils": "^39.34.3"
+                "@gitbeaker/core": "^40.0.1",
+                "@gitbeaker/requester-utils": "^40.0.1"
             },
             "engines": {
                 "node": ">=18.0.0"
@@ -3940,11 +3940,11 @@
             }
         },
         "node_modules/qs": {
-            "version": "6.11.2",
-            "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
-            "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
+            "version": "6.12.0",
+            "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz",
+            "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==",
             "dependencies": {
-                "side-channel": "^1.0.4"
+                "side-channel": "^1.0.6"
             },
             "engines": {
                 "node": ">=0.6"
@@ -4205,16 +4205,16 @@
             }
         },
         "node_modules/set-function-length": {
-            "version": "1.2.1",
-            "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
-            "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==",
+            "version": "1.2.2",
+            "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+            "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
             "dependencies": {
-                "define-data-property": "^1.1.2",
+                "define-data-property": "^1.1.4",
                 "es-errors": "^1.3.0",
                 "function-bind": "^1.1.2",
-                "get-intrinsic": "^1.2.3",
+                "get-intrinsic": "^1.2.4",
                 "gopd": "^1.0.1",
-                "has-property-descriptors": "^1.0.1"
+                "has-property-descriptors": "^1.0.2"
             },
             "engines": {
                 "node": ">= 0.4"
diff --git a/AssignmentChecker/package.json b/AssignmentChecker/package.json
index 1a10ba95bcb95cd747b37fcd738f950ccb0b5e78..298f1cc1d8b5a9649518706a890888d14f48146d 100644
--- a/AssignmentChecker/package.json
+++ b/AssignmentChecker/package.json
@@ -29,7 +29,7 @@
         "test"        : "echo \"Error: no test specified\" && exit 1"
     },
     "dependencies"   : {
-        "@gitbeaker/rest"     : "^39.34.3",
+        "@gitbeaker/rest"     : "^40.0.1",
         "axios"               : "^1.6.5",
         "boxen"               : "^5.1.2",
         "chalk"               : "^4.1.2",
diff --git a/AssignmentChecker/src/managers/GitlabManager.ts b/AssignmentChecker/src/managers/GitlabManager.ts
new file mode 100644
index 0000000000000000000000000000000000000000..3d1c0503d69366e46ceda7d60f383748c7229c2f
--- /dev/null
+++ b/AssignmentChecker/src/managers/GitlabManager.ts
@@ -0,0 +1,13 @@
+import SharedGitlabManager from '../shared/managers/SharedGitlabManager';
+
+// NOT USED
+// File present only for prevent errors from shared submodules
+
+class GitlabManager extends SharedGitlabManager {
+    constructor() {
+        super('');
+    }
+}
+
+
+export default new GitlabManager();
\ No newline at end of file
diff --git a/AssignmentChecker/src/shared b/AssignmentChecker/src/shared
index 75fedb26c47bb6f707725307a79a45a13e62496d..6e78095b3fe73f2c2987de1a3d3b55511335a2bf 160000
--- a/AssignmentChecker/src/shared
+++ b/AssignmentChecker/src/shared
@@ -1 +1 @@
-Subproject commit 75fedb26c47bb6f707725307a79a45a13e62496d
+Subproject commit 6e78095b3fe73f2c2987de1a3d3b55511335a2bf
diff --git a/AssignmentChecker/src/sharedByClients b/AssignmentChecker/src/sharedByClients
index c4efbcfb2a50e7108e101fb673e84f87fad8e246..8ae82abcc7f11e595060b1a48f340290e7b2ebac 160000
--- a/AssignmentChecker/src/sharedByClients
+++ b/AssignmentChecker/src/sharedByClients
@@ -1 +1 @@
-Subproject commit c4efbcfb2a50e7108e101fb673e84f87fad8e246
+Subproject commit 8ae82abcc7f11e595060b1a48f340290e7b2ebac