diff --git a/cmdline/testdata/gendoc.go b/cmdline/testdata/gendoc.go
index 8c1ef51..5a9f59c 100644
--- a/cmdline/testdata/gendoc.go
+++ b/cmdline/testdata/gendoc.go
@@ -16,8 +16,8 @@
 // NOTE: The gendoc command itself is not based on the cmdline library to avoid
 // non-trivial bootstrapping.  In particular, if the compilation of gendoc
 // requires GOPATH to contain the vanadium Go workspaces, then running the
-// gendoc command requires the v23 tool, which in turn may depend on the gendoc
-// command.
+// gendoc command requires the jiri tool, which in turn may depend on the
+// gendoc command.
 package main
 
 import (
@@ -68,7 +68,7 @@
 	env := environ()
 	env = append(env, "GOBIN="+tmpDir)
 	installArgs := []string{"go", "install", "-tags=" + flagTags, pkg}
-	installCmd := exec.Command("v23", installArgs...)
+	installCmd := exec.Command("jiri", installArgs...)
 	installCmd.Env = env
 	if err := installCmd.Run(); err != nil {
 		return fmt.Errorf("%q failed: %v\n", strings.Join(installCmd.Args, " "), err)
diff --git a/vlog/.api b/vlog/.api
index c34ae9a..50bf3b6 100644
--- a/vlog/.api
+++ b/vlog/.api
@@ -42,7 +42,9 @@
 pkg vlog, method (*Logger) Stats() (struct{ Lines, Bytes int64 }, struct{ Lines, Bytes int64 })
 pkg vlog, method (*Logger) String() string
 pkg vlog, method (*Logger) V(int) bool
+pkg vlog, method (*Logger) VDepth(int, int) bool
 pkg vlog, method (*Logger) VI(int) interface {  Info(args ...interface{});; Infof(format string, args ...interface{});; InfoDepth(depth int, args ...interface{});; InfoStack(all bool);}
+pkg vlog, method (*Logger) VIDepth(int, int) interface {  Info(args ...interface{});; Infof(format string, args ...interface{});; InfoDepth(depth int, args ...interface{});; InfoStack(all bool);}
 pkg vlog, method (*StderrThreshold) Get(string) interface{}
 pkg vlog, method (*StderrThreshold) Set(string) error
 pkg vlog, method (*StderrThreshold) String() string
diff --git a/vlog/flags_test.go b/vlog/flags_test.go
index ad23e83..fc7d7bb 100644
--- a/vlog/flags_test.go
+++ b/vlog/flags_test.go
@@ -16,7 +16,7 @@
 	"v.io/x/ref/test/modules"
 )
 
-//go:generate v23 test generate
+//go:generate jiri test generate
 
 var child = modules.Register(func(env *modules.Env, args ...string) error {
 	tmp := filepath.Join(os.TempDir(), "foo")
