diff --git a/egi-devel/deployments/hub.yaml b/egi-devel/deployments/hub.yaml
index 5d7ec867c3ce9421539cfa34037c1d9e67745011..6b389eac0dc16bf8d00dbc93b882e19365c64c4b 100644
--- a/egi-devel/deployments/hub.yaml
+++ b/egi-devel/deployments/hub.yaml
@@ -72,7 +72,7 @@ singleuser:
               app.kubernetes.io/instance: cluster-ingress
   image:
     name: eginotebooks/single-user
-    tag: "sha-0e47d79"
+    tag: "sha-14443de"
   profileList:
     - display_name: Default EGI environment - 6 GB RAM / 2 core
       description: >
@@ -87,7 +87,7 @@ singleuser:
       kubespawner_override:
         args:
           - "--CondaKernelSpecManager.env_filter='/opt/conda$'"
-        image: "eginotebooks/single-user-ai:sha-0e47d79"
+        image: "eginotebooks/single-user-ai:sha-14443de"
     - display_name: RELIANCE project environment - 12 GB RAM / 2 core
       description: >
         Notebook environment for RELIANCE project includes Python, R, Julia and Octave kernels
@@ -141,12 +141,15 @@ hub:
     status:
       url: "http://status-web/"
       admin: true
+    jwt:
+      url: "http://jwt/"
+      display: false
   # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml
   # keep k8s-hub version in sync with ../playbooks/notebooks.yaml
   image:
     name: eginotebooks/hub
-    # k8s-hub 4.0.0
-    tag: "sha-aef23d2"
+    # k8s-hub 4.2.0
+    tag: "sha-bd95b14"
   config:
     Authenticator:
       enable_auth_state: true
@@ -198,13 +201,15 @@ hub:
       authorize_url: "https://{{ secrets['checkin_host'] }}/auth/realms/egi/protocol/openid-connect/auth"
       token_url: "https://{{ secrets['checkin_host'] }}/auth/realms/egi/protocol/openid-connect/token"
       userdata_url: "https://{{ secrets['checkin_host'] }}/auth/realms/egi/protocol/openid-connect/userinfo"
+      introspect_url: "https://{{ secrets['checkin_host'] }}/auth/realms/egi/protocol/openid-connect/introspect"
       client_id: "{{ secrets['client_id'] }}"
       client_secret: "{{ secrets['client_secret'] }}"
       oauth_callback_url: "https://{{ notebooks_hostname }}/hub/oauth_callback"
+      openid_configuration_url: "https://{{ secrets['checkin_host'] }}/auth/realms/egi/.well-known/openid-configuration"
       scope: ["openid", "profile", "email", "offline_access", "eduperson_scoped_affiliation", "eduperson_entitlement"]
-      username_key: "sub"
+      username_claim: "sub"
     OnedataSpawner:
-      sidecar_image: "eginotebooks/oneclient-sidecar:sha-9789b9a"
+      sidecar_image: "eginotebooks/oneclient-sidecar:sha-dd3068b"
       force_direct_io: true
       http_timeout: 60
       args:
@@ -267,7 +272,7 @@ hub:
                   spawner.extra_containers.append(
                     {
                         "name": "b2drop",
-                        "image": "eginotebooks/webdav-sidecar:sha-e5e8df2",
+                        "image": "eginotebooks/webdav-sidecar:sha-0a62679",
                         "env": [
                             {"name": "WEBDAV_URL", "value": "https://b2drop.eudat.eu/remote.php/webdav"},
                             {"name": "WEBDAV_PWD", "value": b2drop_pwd},
@@ -303,7 +308,7 @@ hub:
               return data
 
       c.JupyterHub.spawner_class = B2DropSpawner
-      c.B2DropSpawner.http_timeout = 60
+      c.B2DropSpawner.http_timeout = 90
       c.B2DropSpawner.args = ["--FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints'"]
       c.B2DropSpawner.profile_form_template = """
         <style>