all: merge master (9c97539) into gopls-release-branch.0.12

Also put back the x/tools replace directive in gopls/go.mod.

For golang/go#59818

Merge List:

+ 2023-05-24 9c97539a2 gopls/internal/lsp/cache: remove nested module warning
+ 2023-05-24 d44a094d8 gopls/internal/lsp/cmd: add a stats -anon flag to show anonymous data
+ 2023-05-24 e106694df gopls/internal/lsp: bundle certain quick-fixes with their diagnostic
+ 2023-05-24 5dc3f7433 gopls/internal/lsp/filecache: reenable memory cache layer
+ 2023-05-24 7e146a6c6 gopls/internal/lsp/cmd: simplify connection type
+ 2023-05-24 1e6066861 gopls/internal/regtest/workspace: unskip duplicate modules test
+ 2023-05-23 5ce721db5 gopls/doc: Fix broken links
+ 2023-05-23 7a03febee gopls/internal/lsp/cmd: remove vestiges of debugging golang/go#59475
+ 2023-05-22 a70f2bc21 gopls/internal/regtest/misc: update and unskip TestHoverIntLiteral
+ 2023-05-22 6997d196f gopls/internal/regtest/misc: unskip TestMajorOptionsChange
+ 2023-05-22 ec543c5a2 gopls/internal/lsp/cache: fix crash in Session.updateViewLocked
+ 2023-05-22 a12ee94f7 gopls/internal/regtest/misc: update some unilaterally skipped tests
+ 2023-05-22 5ff5cbb00 gopls: deprecate support for Go 1.16 and 1.17, update warnings
+ 2023-05-22 e6fd7f4c0 gopls/internal/lsp/cache: limit module scan to 100K files
+ 2023-05-22 9ca66ba88 gopls/internal/lsp/regtest: delete TestWatchReplaceTargets
+ 2023-05-22 edbfdbebf gopls/internal/lsp/source/completion: (unimported) add placeholders
+ 2023-05-22 3a5dbf351 gopls: add a new "subdirWatchPatterns" setting
+ 2023-05-22 3c0255176 internal/typesinternal: remove NewObjectpathFunc
+ 2023-05-20 07293620c present: reformat doc comment for lack of inline code
+ 2023-05-20 d4e66bd9a go/ssa: TestStdlib: disable check that function names are distinct
+ 2023-05-20 738ea2bdc go/ssa: use core type for field accesses
+ 2023-05-19 2ec4299f3 gopls/internal/lsp: split file-watching glob patterns
+ 2023-05-19 43b02eab0 gopls/internal/lsp/cache: only delete the most relevant mod tidy handle
+ 2023-05-19 5919673c9 internal/lsp/filecache: eliminate 'kind' directories
+ 2023-05-19 a5ef6c3eb gopls/internal/lsp: keep track of overlays on the files map
+ 2023-05-19 d7f4359f8 gopls/internal/lsp/mod: optimizations for mod tidy diagnostics
+ 2023-05-19 2eb726b88 gopls/internal/lsp/filecache: touch only files older than 1h
+ 2023-05-19 b742cb9a5 gopls/internal/regtest/bench: add a benchmark for diagnosing saves
+ 2023-05-19 4d66324ee gopls/internal/lsp/cache: tweak error message
+ 2023-05-19 e46df400e gopls/internal/lsp/filecache: delayed tweaks from code review
+ 2023-05-19 3df69b827 gopls/internal/lsp/debug: remove memory monitoring
+ 2023-05-19 a069704d0 gopls/internal/lsp/filecache: avoid flock
+ 2023-05-18 3d53c2d20 gopls/internal/lsp/cache: fix race in adhoc reloading
+ 2023-05-17 8b4b27bce go/analysis/passes/slog: fix Group kv offset
+ 2023-05-17 242e5ed73 cover: eliminate an unnecessary fsync in TestParseProfiles
+ 2023-05-17 651d951bb go/ssa: fix typo in package docs

Change-Id: Ie57d55ba8f3ae9bcf868db08088f68955b5e4856
diff --git a/codereview.cfg b/codereview.cfg
index 3f8b14b..db37e78 100644
--- a/codereview.cfg
+++ b/codereview.cfg
@@ -1 +1,3 @@
 issuerepo: golang/go
+branch: gopls-release-branch.0.12
+parent-branch: master
diff --git a/gopls/go.mod b/gopls/go.mod
index 9869e25..ca3f9bf2 100644
--- a/gopls/go.mod
+++ b/gopls/go.mod
@@ -11,7 +11,7 @@
 	golang.org/x/sync v0.2.0
 	golang.org/x/sys v0.8.0
 	golang.org/x/text v0.9.0
-	golang.org/x/tools v0.6.0
+	golang.org/x/tools v0.9.2-0.20230516204147-76f78597112f
 	golang.org/x/vuln v0.0.0-20230110180137-6ad3e3d07815
 	gopkg.in/yaml.v3 v3.0.1
 	honnef.co/go/tools v0.4.2
diff --git a/gopls/internal/lsp/debug/info.go b/gopls/internal/lsp/debug/info.go
index 5ce23fc..fec4562 100644
--- a/gopls/internal/lsp/debug/info.go
+++ b/gopls/internal/lsp/debug/info.go
@@ -30,7 +30,7 @@
 )
 
 // Version is a manually-updated mechanism for tracking versions.
-const Version = "master"
+const Version = "v0.12.0"
 
 // ServerVersion is the format used by gopls to report its version to the
 // client. This format is structured so that the client can parse it easily.