diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 0ba5d1c2..0fee1b90 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -55,7 +55,7 @@ repos:
         # Enforce that all noqa annotations always occur with specific codes.
 
   - repo: https://github.com/astral-sh/ruff-pre-commit
-    rev: "v0.7.2"
+    rev: "v0.8.1"
     hooks:
       - id: ruff
         args: ["--fix", "--show-fixes"]
diff --git a/regions/core/metadata.py b/regions/core/metadata.py
index 09553151..a861555a 100644
--- a/regions/core/metadata.py
+++ b/regions/core/metadata.py
@@ -54,10 +54,10 @@ def update(self, *args, **kwargs):
             if len(args) > 1:
                 raise ValueError('Only one argument can be input')
             other = dict(args[0])
-            for key in other:
-                self[key] = other[key]
-        for key in kwargs:
-            self[key] = kwargs[key]
+            for key, value in other.items():
+                self[key] = value
+        for key, value in kwargs.items():
+            self[key] = value
 
     def setdefault(self, key, value=None):
         if key not in self: