diff --git a/.gitignore b/.gitignore
index 91afea1..52db664 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,24 +6,27 @@
 .vscode/*
 !.vscode/tasks.json
 .idea
-buildtools
-cmake-build-*/
 coverage.summary
 default.profraw
 lcov.info
-out
-testing
-third_party/cpplint
-third_party/binutils
-third_party/glslang
-third_party/googletest
-third_party/gpuweb-cts
-third_party/llvm-build
-third_party/protobuf
-third_party/spirv-headers
-third_party/spirv-tools
-tools/clang
-tools/bin
+
+/buildtools
+/cmake-build-*/
+/out
+/testing
+/third_party/clang-format
+/third_party/catapult
+/third_party/cpplint
+/third_party/binutils
+/third_party/glslang
+/third_party/googletest
+/third_party/gpuweb-cts
+/third_party/llvm-build
+/third_party/protobuf
+/third_party/spirv-headers
+/third_party/spirv-tools
+/tools/clang
+/tools/bin
 
 /build*/
 /test.wgsl
diff --git a/.gn b/.gn
index c685bfe..2bc6b1c 100644
--- a/.gn
+++ b/.gn
@@ -14,4 +14,7 @@
 
 buildconfig = "//build/config/BUILDCONFIG.gn"
 
+# Use Python3 to run scripts. On Windows this will use python.exe or python.bat
+script_executable = "python3"
+
 check_targets = [ "//*" ]
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9d19d48..36a743f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,7 +18,7 @@
 enable_testing()
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_DEBUG_POSTFIX "")
 
 if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
@@ -301,7 +301,7 @@
 
   if (${COMPILER_IS_LIKE_GNU})
     target_compile_options(${TARGET} PRIVATE
-      -std=c++14
+      -std=c++17
       -fno-exceptions
       -fno-rtti
       -pedantic-errors
diff --git a/DEPS b/DEPS
index c7b1cb1..6bb6635 100644
--- a/DEPS
+++ b/DEPS
@@ -2,20 +2,32 @@
 
 gclient_gn_args_file = 'build/config/gclient_args.gni'
 
+gclient_gn_args = [
+  'generate_location_tags',
+]
+
 vars = {
   'chromium_git':  'https://chromium.googlesource.com',
   'github': '/external/github.com',
 
-  'build_revision': 'c6c4a4c3ae890f2c020a087c90fb8c0b8be2816a',
-  'buildtools_revision': 'e3db55b4639f2a331af6f3708ca1fbd22322aac3',
-  'clang_revision': 'eb5ab41f3801e2085208204fd71a490573d72dfd',
+  'build_revision': '555c8b467c21e2c4b22d00e87e3faa0431df9ac2',
+  'buildtools_revision': 'f78b4b9f33bd8ef9944d5ce643daff1c31880189',
+  'catapult_revision': 'fa35beefb3429605035f98211ddb8750dee6a13d',
+  'clang_format_revision': '2271e89c145a5e27d6c110b6a1113c057a8301a3',
+  'clang_revision': '8b7330592cb85ba09505a6be7bacabd0ad6160a3',
   'glslang_revision': '4b7b86d568b40f4b076259dc2fc4cdd006340f34',
-  'googletest_revision': '1a3e2a265f35e604378156cd675b11ef0a184627',
+  'googletest_revision': '6b74da4757a549563d7c37c8fae3e704662a043b',
   'gpuweb_cts_revision': 'b0291fd966b55a5efc496772555b94842bde1085',
+  'libcxx_revision': '79a2e924d96e2fc1e4b937c42efd08898fa472d7',
+  'libcxxabi_revision': '2715a6c0de8dac4c7674934a6b3d30ba0c685271',
   'protobuf_revision': 'fde7cf7358ec7cd69e8db9be4f1fa6a5c431386a',
   'spirv_headers_revision': 'eddd4dfc930f1374a70797460240a501c7d333f7',
   'spirv_tools_revision': 'df2aad68b98279412494a6d449bd71b6756e699b',
-  'testing_revision': '2691851e49de541c3fe42fa8692ddcdee938162f',
+  'testing_revision': 'd485ae97b7900c1fb7edfbe2901ae5adcb120865',
+  'tint_gn_revision': 'git_revision:281ba2c91861b10fec7407c4b6172ec3d4661243',
+
+  # We don't use location metadata in our test isolates.
+  'generate_location_tags': False,
 }
 
 deps = {
@@ -41,10 +53,54 @@
   'tools/clang': Var('chromium_git') + '/chromium/src/tools/clang@' +
       Var('clang_revision'),
 
+  'buildtools/clang_format/script': {
+    'url': Var('chromium_git') +
+      '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' +
+        Var('clang_format_revision'),
+  },
+
+  'buildtools/linux64': {
+    'packages': [{
+      'package': 'gn/gn/linux-amd64',
+      'version': Var('tint_gn_revision'),
+    }],
+    'dep_type': 'cipd',
+    'condition': 'host_os == "linux"',
+  },
+  'buildtools/mac': {
+    'packages': [{
+      'package': 'gn/gn/mac-${{arch}}',
+      'version': Var('tint_gn_revision'),
+    }],
+    'dep_type': 'cipd',
+    'condition': 'host_os == "mac"',
+  },
+  'buildtools/win': {
+    'packages': [{
+      'package': 'gn/gn/windows-amd64',
+      'version': Var('tint_gn_revision'),
+    }],
+    'dep_type': 'cipd',
+    'condition': 'host_os == "win"',
+  },
+
+  'buildtools/third_party/libc++/trunk':
+    Var('chromium_git') +
+      '/external/github.com/llvm/llvm-project/libcxx.git@' +
+        Var('libcxx_revision'),
+
+  'buildtools/third_party/libc++abi/trunk':
+    Var('chromium_git') +
+      '/external/github.com/llvm/llvm-project/libcxxabi.git@' +
+        Var('libcxxabi_revision'),
+
   # Dependencies required for testing
   'testing': Var('chromium_git') + '/chromium/src/testing@' +
       Var('testing_revision'),
 
+  'third_party/catapult': Var('chromium_git') + '/catapult.git@' +
+      Var('catapult_revision'),
+
   'third_party/googletest': Var('chromium_git') + Var('github') +
       '/google/googletest.git@' + Var('googletest_revision'),
 
@@ -96,14 +152,14 @@
     'name': 'sysroot_x86',
     'pattern': '.',
     'condition': 'checkout_linux and ((checkout_x86 or checkout_x64))',
-    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
+    'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
                '--arch=x86'],
   },
   {
     'name': 'sysroot_x64',
     'pattern': '.',
     'condition': 'checkout_linux and (checkout_x64)',
-    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
+    'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
                '--arch=x64'],
   },
   {
@@ -111,20 +167,20 @@
     'name': 'mac_toolchain',
     'pattern': '.',
     'condition': 'checkout_mac',
-    'action': ['python', 'build/mac_toolchain.py'],
+    'action': ['python3', 'build/mac_toolchain.py'],
   },
   {
     # Update the Windows toolchain if necessary. Must run before 'clang' below.
     'name': 'win_toolchain',
     'pattern': '.',
     'condition': 'checkout_win',
-    'action': ['python', 'build/vs_toolchain.py', 'update', '--force'],
+    'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
   },
   {
     # Note: On Win, this should run after win_toolchain, as it may use it.
     'name': 'clang',
     'pattern': '.',
-    'action': ['python', 'tools/clang/scripts/update.py'],
+    'action': ['python3', 'tools/clang/scripts/update.py'],
   },
   {
     # Pull rc binaries using checked-in hashes.
@@ -142,7 +198,7 @@
   {
     'name': 'lastchange',
     'pattern': '.',
-    'action': ['python', 'build/util/lastchange.py',
+    'action': ['python3', 'build/util/lastchange.py',
                '-o', 'build/util/LASTCHANGE'],
   },
 ]
