3.1.31 (#1176)

diff --git a/bazel/emscripten_deps.bzl b/bazel/emscripten_deps.bzl
index b1dae17..2109ada 100644
--- a/bazel/emscripten_deps.bzl
+++ b/bazel/emscripten_deps.bzl
@@ -14,7 +14,7 @@
         "emscripten/cache/sysroot/include/c++/v1/**",
         "emscripten/cache/sysroot/include/compat/**",
         "emscripten/cache/sysroot/include/**",
-        "lib/clang/16/include/**",
+        "lib/clang/17/include/**",
     ]),
 )
 
diff --git a/bazel/emscripten_toolchain/toolchain.bzl b/bazel/emscripten_toolchain/toolchain.bzl
index 2bddd56..f1ea1c8 100644
--- a/bazel/emscripten_toolchain/toolchain.bzl
+++ b/bazel/emscripten_toolchain/toolchain.bzl
@@ -914,7 +914,7 @@
                 "-iwithsysroot" + "/include/compat",
                 "-iwithsysroot" + "/include",
                 "-isystem",
-                emscripten_dir + "/lib/clang/16/include",
+                emscripten_dir + "/lib/clang/17/include",
             ],
         ),
         # Inputs and outputs
@@ -1081,7 +1081,7 @@
         emscripten_dir + "/emscripten/cache/sysroot/include/c++/v1",
         emscripten_dir + "/emscripten/cache/sysroot/include/compat",
         emscripten_dir + "/emscripten/cache/sysroot/include",
-        emscripten_dir + "/lib/clang/16/include",
+        emscripten_dir + "/lib/clang/17/include",
     ]
 
     artifact_name_patterns = []
diff --git a/bazel/revisions.bzl b/bazel/revisions.bzl
index e55a495..99468e2 100644
--- a/bazel/revisions.bzl
+++ b/bazel/revisions.bzl
@@ -2,6 +2,13 @@
 # DO NOT MODIFY
 
 EMSCRIPTEN_TAGS = {
+    "3.1.31": struct(
+        hash = "1eec24930cb2f56f6d9cd10ffcb031e27ea4157a",
+        sha_linux = "5952523c0c58cfc7c8839c1d3fe42ff34af5d8721231306ee432063dfacf96ca",
+        sha_mac = "13482cf3cb29f423f2037b9dc2b9e4ff72d0a49fcd471bbaa9b76d9f86f31d82",
+        sha_mac_arm64 = "654a35af16be5eeb2082e68fb36190fe76de28fa2da75ac0d2197482a203f39a",
+        sha_win = "493c29f5a505ccd9687036ee4c580d190b1c32b286be0e751a78e68997cec8b2",
+    ),
     "3.1.30": struct(
         hash = "dc1fdcfd3f5b9d29cb1ebdf15e6e845bef9b0cc1",
         sha_linux = "151d7afdfb728e1e55ed1d100e4d3fbd20925fd65f3c3b9e093061a2c89dcac7",
diff --git a/emscripten-releases-tags.json b/emscripten-releases-tags.json
index be06c02..aa5b5c9 100644
--- a/emscripten-releases-tags.json
+++ b/emscripten-releases-tags.json
@@ -1,6 +1,6 @@
 {
   "aliases": {
-    "latest": "3.1.30",
+    "latest": "3.1.31",
     "latest-sdk": "latest",
     "latest-arm64-linux": "3.1.21",
     "latest-64bit": "latest",
@@ -10,6 +10,8 @@
     "latest-releases-upstream": "latest"
   },
   "releases": {
+    "3.1.31": "1eec24930cb2f56f6d9cd10ffcb031e27ea4157a",
+    "3.1.31-asserts": "48488847a38bb9cfb36e7397bea21ab2bb062680",
     "3.1.30": "dc1fdcfd3f5b9d29cb1ebdf15e6e845bef9b0cc1",
     "3.1.30-asserts": "21cca44e843267533c3d0b258b46c37bd142a2d7",
     "3.1.29": "d949f1b99a477d4b0b54d95413df3688afa69d0a",