diff --git a/accessapproval/CHANGES.md b/accessapproval/CHANGES.md
index 3c174a2..b55316b 100644
--- a/accessapproval/CHANGES.md
+++ b/accessapproval/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out accessapproval as its own module. See
diff --git a/accessapproval/go.mod b/accessapproval/go.mod
index 434b0f7..332e5e4 100644
--- a/accessapproval/go.mod
+++ b/accessapproval/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/accessapproval/go_mod_tidy_hack.go b/accessapproval/go_mod_tidy_hack.go
deleted file mode 100644
index 58dcfc2..0000000
--- a/accessapproval/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package accessapproval
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/aiplatform/CHANGES.md b/aiplatform/CHANGES.md
index 8d06741..7bae17f 100644
--- a/aiplatform/CHANGES.md
+++ b/aiplatform/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/aiplatform/v0.1.0...aiplatform/v0.2.0) (2021-09-09)
 
 
diff --git a/aiplatform/go_mod_tidy_hack.go b/aiplatform/go_mod_tidy_hack.go
deleted file mode 100644
index 62c708c..0000000
--- a/aiplatform/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package aiplatform
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/apigateway/CHANGES.md b/apigateway/CHANGES.md
index ed34e3c..c552bf2 100644
--- a/apigateway/CHANGES.md
+++ b/apigateway/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out apigateway as its own module. See
diff --git a/apigateway/go_mod_tidy_hack.go b/apigateway/go_mod_tidy_hack.go
deleted file mode 100644
index 7712a36..0000000
--- a/apigateway/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package apigateway
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/apigeeconnect/CHANGES.md b/apigeeconnect/CHANGES.md
index f7bf04f..84c02db 100644
--- a/apigeeconnect/CHANGES.md
+++ b/apigeeconnect/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out apigeeconnect as its own module. See
diff --git a/apigeeconnect/go.mod b/apigeeconnect/go.mod
index 53409f7..6fc08ab 100644
--- a/apigeeconnect/go.mod
+++ b/apigeeconnect/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/apigeeconnect/go_mod_tidy_hack.go b/apigeeconnect/go_mod_tidy_hack.go
deleted file mode 100644
index c09dd81..0000000
--- a/apigeeconnect/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package apigeeconnect
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/appengine/CHANGES.md b/appengine/CHANGES.md
index 199964f..01f976c1 100644
--- a/appengine/CHANGES.md
+++ b/appengine/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out appengine as its own module. See
diff --git a/appengine/go_mod_tidy_hack.go b/appengine/go_mod_tidy_hack.go
deleted file mode 100644
index 1b1b405..0000000
--- a/appengine/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package appengine
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/artifactregistry/CHANGES.md b/artifactregistry/CHANGES.md
index 2d72d72..9f7e6ea 100644
--- a/artifactregistry/CHANGES.md
+++ b/artifactregistry/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out artifactregistry as its own module. See
diff --git a/artifactregistry/go_mod_tidy_hack.go b/artifactregistry/go_mod_tidy_hack.go
deleted file mode 100644
index 68394e5..0000000
--- a/artifactregistry/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package artifactregistry
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/asset/CHANGES.md b/asset/CHANGES.md
index 3085cdf..81ed204 100644
--- a/asset/CHANGES.md
+++ b/asset/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/asset/v0.1.0...asset/v0.2.0) (2021-09-09)
 
 
diff --git a/asset/go_mod_tidy_hack.go b/asset/go_mod_tidy_hack.go
deleted file mode 100644
index 92c2d32..0000000
--- a/asset/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package asset
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/automl/CHANGES.md b/automl/CHANGES.md
index 96b360d..aa9a68b 100644
--- a/automl/CHANGES.md
+++ b/automl/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out automl as its own module. See
diff --git a/automl/go_mod_tidy_hack.go b/automl/go_mod_tidy_hack.go
deleted file mode 100644
index 217d139..0000000
--- a/automl/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package automl
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/billing/CHANGES.md b/billing/CHANGES.md
index 0908f63..f8e3739 100644
--- a/billing/CHANGES.md
+++ b/billing/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out billing as its own module. See
diff --git a/billing/go.mod b/billing/go.mod
index 853cb67..44a7765 100644
--- a/billing/go.mod
+++ b/billing/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/billing/go_mod_tidy_hack.go b/billing/go_mod_tidy_hack.go
deleted file mode 100644
index d176f26..0000000
--- a/billing/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package billing
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/channel/CHANGES.md b/channel/CHANGES.md
index 128f0cd..aff2658 100644
--- a/channel/CHANGES.md
+++ b/channel/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/channel/v0.1.0...channel/v0.2.0) (2021-09-09)
 
 
diff --git a/channel/go_mod_tidy_hack.go b/channel/go_mod_tidy_hack.go
deleted file mode 100644
index 5fd8c17..0000000
--- a/channel/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package channel
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/cloudbuild/CHANGES.md b/cloudbuild/CHANGES.md
index beed76f..ce20e89 100644
--- a/cloudbuild/CHANGES.md
+++ b/cloudbuild/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/cloudbuild/v0.1.0...cloudbuild/v0.2.0) (2021-08-30)
 
 
diff --git a/cloudbuild/go_mod_tidy_hack.go b/cloudbuild/go_mod_tidy_hack.go
deleted file mode 100644
index 5de97e5..0000000
--- a/cloudbuild/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package cloudbuild
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/clouddms/CHANGES.md b/clouddms/CHANGES.md
index 097e212..13ffca1 100644
--- a/clouddms/CHANGES.md
+++ b/clouddms/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out clouddms as its own module. See
diff --git a/clouddms/go_mod_tidy_hack.go b/clouddms/go_mod_tidy_hack.go
deleted file mode 100644
index 2f208c6..0000000
--- a/clouddms/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package clouddms
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/cloudtasks/CHANGES.md b/cloudtasks/CHANGES.md
index ea2a328..9cfdef2 100644
--- a/cloudtasks/CHANGES.md
+++ b/cloudtasks/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out cloudtasks as its own module. See
diff --git a/cloudtasks/go.mod b/cloudtasks/go.mod
index 7f5c477..c6a73e6 100644
--- a/cloudtasks/go.mod
+++ b/cloudtasks/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/golang/protobuf v1.5.2
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
diff --git a/cloudtasks/go_mod_tidy_hack.go b/cloudtasks/go_mod_tidy_hack.go
deleted file mode 100644
index fcd3081..0000000
--- a/cloudtasks/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package cloudtasks
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/container/CHANGES.md b/container/CHANGES.md
index ad8a26c..4f60981 100644
--- a/container/CHANGES.md
+++ b/container/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out container as its own module. See
diff --git a/container/go_mod_tidy_hack.go b/container/go_mod_tidy_hack.go
deleted file mode 100644
index 9abdd85..0000000
--- a/container/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package container
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/datacatalog/CHANGES.md b/datacatalog/CHANGES.md
index 909abbe..8445bda 100644
--- a/datacatalog/CHANGES.md
+++ b/datacatalog/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out datacatalog as its own module. See
diff --git a/datacatalog/go.mod b/datacatalog/go.mod
index 27d29b8..5ab8c1f 100644
--- a/datacatalog/go.mod
+++ b/datacatalog/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/datacatalog/go_mod_tidy_hack.go b/datacatalog/go_mod_tidy_hack.go
deleted file mode 100644
index acecacb..0000000
--- a/datacatalog/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package datacatalog
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/datafusion/CHANGES.md b/datafusion/CHANGES.md
index 51b489b..5475441 100644
--- a/datafusion/CHANGES.md
+++ b/datafusion/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out datafusion as its own module. See
diff --git a/datafusion/go_mod_tidy_hack.go b/datafusion/go_mod_tidy_hack.go
deleted file mode 100644
index 6fd6f16..0000000
--- a/datafusion/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package datafusion
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/dataproc/CHANGES.md b/dataproc/CHANGES.md
index aca208c..7be1e40 100644
--- a/dataproc/CHANGES.md
+++ b/dataproc/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/dataproc/v0.1.0...dataproc/v0.2.0) (2021-08-30)
 
 
diff --git a/dataproc/go_mod_tidy_hack.go b/dataproc/go_mod_tidy_hack.go
deleted file mode 100644
index bdbc99c..0000000
--- a/dataproc/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package dataproc
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/dialogflow/CHANGES.md b/dialogflow/CHANGES.md
index 001db84..29de4508 100644
--- a/dialogflow/CHANGES.md
+++ b/dialogflow/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out dialogflow as its own module. See
diff --git a/dialogflow/go_mod_tidy_hack.go b/dialogflow/go_mod_tidy_hack.go
deleted file mode 100644
index 9e8fb8a..0000000
--- a/dialogflow/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package dialogflow
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/dlp/CHANGES.md b/dlp/CHANGES.md
index cf2bde0..ca7451c 100644
--- a/dlp/CHANGES.md
+++ b/dlp/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out dlp as its own module. See
diff --git a/dlp/go.mod b/dlp/go.mod
index 50092ac..72d6119 100644
--- a/dlp/go.mod
+++ b/dlp/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/golang/protobuf v1.5.2
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
diff --git a/dlp/go_mod_tidy_hack.go b/dlp/go_mod_tidy_hack.go
deleted file mode 100644
index fbde73d..0000000
--- a/dlp/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package dlp
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/documentai/CHANGES.md b/documentai/CHANGES.md
index 991a8ac..ba3a394 100644
--- a/documentai/CHANGES.md
+++ b/documentai/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out documentai as its own module. See
diff --git a/documentai/go_mod_tidy_hack.go b/documentai/go_mod_tidy_hack.go
deleted file mode 100644
index 2bf982f..0000000
--- a/documentai/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package documentai
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/essentialcontacts/CHANGES.md b/essentialcontacts/CHANGES.md
index 407b1a7..fb55081 100644
--- a/essentialcontacts/CHANGES.md
+++ b/essentialcontacts/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out essentialcontacts as its own module. See
diff --git a/essentialcontacts/go.mod b/essentialcontacts/go.mod
index 8eef331..c87f74a 100644
--- a/essentialcontacts/go.mod
+++ b/essentialcontacts/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/essentialcontacts/go_mod_tidy_hack.go b/essentialcontacts/go_mod_tidy_hack.go
deleted file mode 100644
index f9d70ac..0000000
--- a/essentialcontacts/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package essentialcontacts
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/eventarc/CHANGES.md b/eventarc/CHANGES.md
index 25d6059..f30b573 100644
--- a/eventarc/CHANGES.md
+++ b/eventarc/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out eventarc as its own module. See
diff --git a/eventarc/go_mod_tidy_hack.go b/eventarc/go_mod_tidy_hack.go
deleted file mode 100644
index c4b0e2c..0000000
--- a/eventarc/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package eventarc
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/functions/CHANGES.md b/functions/CHANGES.md
index c3d7f9e..93e7da8 100644
--- a/functions/CHANGES.md
+++ b/functions/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/functions/v0.1.0...functions/v0.2.0) (2021-09-16)
 
 
diff --git a/functions/go_mod_tidy_hack.go b/functions/go_mod_tidy_hack.go
deleted file mode 100644
index 016ae09..0000000
--- a/functions/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package functions
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/gaming/CHANGES.md b/gaming/CHANGES.md
index 91f0e03..cd16fd2 100644
--- a/gaming/CHANGES.md
+++ b/gaming/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/gaming/v0.1.0...gaming/v0.2.0) (2021-08-30)
 
 
diff --git a/gaming/go_mod_tidy_hack.go b/gaming/go_mod_tidy_hack.go
deleted file mode 100644
index a7f55f1..0000000
--- a/gaming/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package gaming
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/gsuiteaddons/CHANGES.md b/gsuiteaddons/CHANGES.md
index 5a66691..753e0ae 100644
--- a/gsuiteaddons/CHANGES.md
+++ b/gsuiteaddons/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out gsuiteaddons as its own module. See
diff --git a/gsuiteaddons/go.mod b/gsuiteaddons/go.mod
index be16c4f..74f6c74 100644
--- a/gsuiteaddons/go.mod
+++ b/gsuiteaddons/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/gsuiteaddons/go_mod_tidy_hack.go b/gsuiteaddons/go_mod_tidy_hack.go
deleted file mode 100644
index a0e6135..0000000
--- a/gsuiteaddons/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package gsuiteaddons
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/iap/CHANGES.md b/iap/CHANGES.md
index 42436c6..58d5001 100644
--- a/iap/CHANGES.md
+++ b/iap/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out iap as its own module. See
diff --git a/iap/go.mod b/iap/go.mod
index 0c4b13b..907b263 100644
--- a/iap/go.mod
+++ b/iap/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/iap/go_mod_tidy_hack.go b/iap/go_mod_tidy_hack.go
deleted file mode 100644
index 562cd04..0000000
--- a/iap/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package iap
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/internal/carver/README.md b/internal/carver/README.md
index 4cd2759..59174c8 100644
--- a/internal/carver/README.md
+++ b/internal/carver/README.md
@@ -2,11 +2,19 @@
 
 This is a tool used to carve out new modules in cloud.google.com/go.
 
-## Usage
+## carver Usage
 
 ```bash
-go run cmd/main.go \
+go run cmd/carver/main.go \
   -parent=/path/to/google-cloud-go \
   -repo-metadata=/path/to/google-cloud-go/internal/.repo-metadata-full.json \
   -child=asset
 ```
+
+## stabilizer Usage
+
+```bash
+go run cmd/stabilizer/main.go \
+  -base=/path/to/google-cloud-go \
+  -child=asset
+```
diff --git a/internal/carver/cmd/_CHANGES.md.txt b/internal/carver/cmd/carver/_CHANGES.md.txt
similarity index 100%
rename from internal/carver/cmd/_CHANGES.md.txt
rename to internal/carver/cmd/carver/_CHANGES.md.txt
diff --git a/internal/carver/cmd/_README.md.txt b/internal/carver/cmd/carver/_README.md.txt
similarity index 100%
rename from internal/carver/cmd/_README.md.txt
rename to internal/carver/cmd/carver/_README.md.txt
diff --git a/internal/carver/cmd/_tidyhack_tmpl.txt b/internal/carver/cmd/carver/_tidyhack_tmpl.txt
similarity index 100%
rename from internal/carver/cmd/_tidyhack_tmpl.txt
rename to internal/carver/cmd/carver/_tidyhack_tmpl.txt
diff --git a/internal/carver/cmd/main.go b/internal/carver/cmd/carver/main.go
similarity index 100%
rename from internal/carver/cmd/main.go
rename to internal/carver/cmd/carver/main.go
diff --git a/internal/carver/cmd/main_test.go b/internal/carver/cmd/carver/main_test.go
similarity index 100%
rename from internal/carver/cmd/main_test.go
rename to internal/carver/cmd/carver/main_test.go
diff --git a/internal/carver/cmd/stabilizer/main.go b/internal/carver/cmd/stabilizer/main.go
new file mode 100644
index 0000000..b889ae5
--- /dev/null
+++ b/internal/carver/cmd/stabilizer/main.go
@@ -0,0 +1,96 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+
+package main
+
+import (
+	"flag"
+	"fmt"
+	"io"
+	"log"
+	"os"
+	"os/exec"
+	"path/filepath"
+	"strings"
+)
+
+func main() {
+	parent := flag.String("parent", "", "The path to the parent module. Required.")
+	child := flag.String("child", "", "The comma seperated relative paths to the child modules from the parent. Required.")
+	flag.Parse()
+	if *parent == "" || *child == "" {
+		log.Fatalf("parent and child are required")
+	}
+	children := strings.Split(strings.TrimSpace(*child), ",")
+	for _, child := range children {
+		if err := stabilize(*parent, child); err != nil {
+			log.Fatalf("unable to stabilize %v: %v", child, err)
+		}
+		tidy(filepath.Join(*parent, child))
+	}
+	tidy(*parent)
+	printCommands(children)
+}
+
+func stabilize(parentPath, child string) error {
+	// Remove file that is no longer needed
+	tidyHackPath := filepath.Join(parentPath, child, "go_mod_tidy_hack.go")
+	if err := os.Remove(tidyHackPath); err != nil {
+		return fmt.Errorf("unable to remove file in %v: %v", child, err)
+	}
+
+	// Update CHANGES.md
+	changesPath := filepath.Join(parentPath, child, "CHANGES.md")
+	f, err := os.OpenFile(changesPath, os.O_RDWR, 0644)
+	if err != nil {
+		return fmt.Errorf("unable to open CHANGES.md in %v: %v", child, err)
+	}
+	defer f.Close()
+	content, err := io.ReadAll(f)
+	if err != nil {
+		return err
+	}
+	ss := strings.Split(strings.TrimSpace(string(content)), "\n")
+	if _, err := f.Seek(0, io.SeekStart); err != nil {
+		return err
+	}
+	for i, line := range ss {
+		// Insert content after header
+		if i == 2 {
+			fmt.Fprint(f, "## 1.0.0\n\n")
+			fmt.Fprint(f, "Stabilize GA surface.\n\n")
+		}
+		fmt.Fprintf(f, "%s\n", line)
+	}
+	return nil
+}
+
+func tidy(dir string) error {
+	c := exec.Command("go", "mod", "tidy")
+	c.Dir = dir
+	return c.Run()
+}
+
+func printCommands(children []string) {
+	fmt.Print("Tags for commit message:\n")
+	for _, v := range children {
+		fmt.Printf("- %s/v1.0.0\n", v)
+	}
+	fmt.Print("\nCommands to run:\n")
+	for _, v := range children {
+		fmt.Printf("git tag %s/v1.0.0 $COMMIT_SHA\n", v)
+	}
+	for _, v := range children {
+		fmt.Printf("git push $REMOTE refs/tags/%s/v1.0.0\n", v)
+	}
+}
diff --git a/iot/CHANGES.md b/iot/CHANGES.md
index 1c68b46..88d9d6f 100644
--- a/iot/CHANGES.md
+++ b/iot/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out iot as its own module. See
diff --git a/iot/go_mod_tidy_hack.go b/iot/go_mod_tidy_hack.go
deleted file mode 100644
index e9e7b77..0000000
--- a/iot/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package iot
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/kms/CHANGES.md b/kms/CHANGES.md
index 5ac165d..de180eb 100644
--- a/kms/CHANGES.md
+++ b/kms/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/kms/v0.1.0...kms/v0.2.0) (2021-08-30)
 
 
diff --git a/kms/go_mod_tidy_hack.go b/kms/go_mod_tidy_hack.go
deleted file mode 100644
index 07186e6..0000000
--- a/kms/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package kms
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/language/CHANGES.md b/language/CHANGES.md
index c347bf0..9532809 100644
--- a/language/CHANGES.md
+++ b/language/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out language as its own module. See
diff --git a/language/go_mod_tidy_hack.go b/language/go_mod_tidy_hack.go
deleted file mode 100644
index 03b0cb8..0000000
--- a/language/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package language
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/managedidentities/CHANGES.md b/managedidentities/CHANGES.md
index 04b518c..0588b02 100644
--- a/managedidentities/CHANGES.md
+++ b/managedidentities/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out managedidentities as its own module. See
diff --git a/managedidentities/go_mod_tidy_hack.go b/managedidentities/go_mod_tidy_hack.go
deleted file mode 100644
index adffe5c..0000000
--- a/managedidentities/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package managedidentities
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/memcache/CHANGES.md b/memcache/CHANGES.md
index 19a05f3..e3825cd 100644
--- a/memcache/CHANGES.md
+++ b/memcache/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out memcache as its own module. See
diff --git a/memcache/go_mod_tidy_hack.go b/memcache/go_mod_tidy_hack.go
deleted file mode 100644
index b9a92d2..0000000
--- a/memcache/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package memcache
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/metastore/CHANGES.md b/metastore/CHANGES.md
index 439ecd9..3fb724e 100644
--- a/metastore/CHANGES.md
+++ b/metastore/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/metastore/v0.1.0...metastore/v0.2.0) (2021-08-30)
 
 
diff --git a/metastore/go_mod_tidy_hack.go b/metastore/go_mod_tidy_hack.go
deleted file mode 100644
index 1bd6b31..0000000
--- a/metastore/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package metastore
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/monitoring/CHANGES.md b/monitoring/CHANGES.md
index 4bede74..714dffa 100644
--- a/monitoring/CHANGES.md
+++ b/monitoring/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.3.0](https://www.github.com/googleapis/google-cloud-go/compare/monitoring/v0.2.0...monitoring/v0.3.0) (2021-09-21)
 
 
diff --git a/monitoring/go_mod_tidy_hack.go b/monitoring/go_mod_tidy_hack.go
deleted file mode 100644
index cdde16d..0000000
--- a/monitoring/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package monitoring
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/networkmanagement/CHANGES.md b/networkmanagement/CHANGES.md
index ea11a63..4ff621a 100644
--- a/networkmanagement/CHANGES.md
+++ b/networkmanagement/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out networkmanagement as its own module. See
diff --git a/networkmanagement/go_mod_tidy_hack.go b/networkmanagement/go_mod_tidy_hack.go
deleted file mode 100644
index 31fd9fb..0000000
--- a/networkmanagement/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package networkmanagement
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/orgpolicy/CHANGES.md b/orgpolicy/CHANGES.md
index e405147..6b04fdb 100644
--- a/orgpolicy/CHANGES.md
+++ b/orgpolicy/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out orgpolicy as its own module. See
diff --git a/orgpolicy/go.mod b/orgpolicy/go.mod
index 88fbd09..cf3e96a 100644
--- a/orgpolicy/go.mod
+++ b/orgpolicy/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/orgpolicy/go_mod_tidy_hack.go b/orgpolicy/go_mod_tidy_hack.go
deleted file mode 100644
index 319896b..0000000
--- a/orgpolicy/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package orgpolicy
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/osconfig/CHANGES.md b/osconfig/CHANGES.md
index 1afc99c..3f9aa8d 100644
--- a/osconfig/CHANGES.md
+++ b/osconfig/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/osconfig/v0.1.0...osconfig/v0.2.0) (2021-09-11)
 
 
diff --git a/osconfig/go_mod_tidy_hack.go b/osconfig/go_mod_tidy_hack.go
deleted file mode 100644
index 5a6d9d3..0000000
--- a/osconfig/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package osconfig
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/oslogin/CHANGES.md b/oslogin/CHANGES.md
index 7e84da9..aaf3fcf 100644
--- a/oslogin/CHANGES.md
+++ b/oslogin/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out oslogin as its own module. See
diff --git a/oslogin/go.mod b/oslogin/go.mod
index f1f65df..f066317 100644
--- a/oslogin/go.mod
+++ b/oslogin/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/golang/protobuf v1.5.2
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
diff --git a/oslogin/go_mod_tidy_hack.go b/oslogin/go_mod_tidy_hack.go
deleted file mode 100644
index f23b720..0000000
--- a/oslogin/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package oslogin
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/policytroubleshooter/CHANGES.md b/policytroubleshooter/CHANGES.md
index cbcdcde..693a1bc 100644
--- a/policytroubleshooter/CHANGES.md
+++ b/policytroubleshooter/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out policytroubleshooter as its own module. See
diff --git a/policytroubleshooter/go.mod b/policytroubleshooter/go.mod
index 93e6e66..e6d94a1 100644
--- a/policytroubleshooter/go.mod
+++ b/policytroubleshooter/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/policytroubleshooter/go_mod_tidy_hack.go b/policytroubleshooter/go_mod_tidy_hack.go
deleted file mode 100644
index 6369db6..0000000
--- a/policytroubleshooter/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package policytroubleshooter
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/recaptchaenterprise/CHANGES.md b/recaptchaenterprise/CHANGES.md
index ae705f1..bb5a5b5 100644
--- a/recaptchaenterprise/CHANGES.md
+++ b/recaptchaenterprise/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/recaptchaenterprise/v0.1.0...recaptchaenterprise/v0.2.0) (2021-09-18)
 
 
diff --git a/recaptchaenterprise/go.mod b/recaptchaenterprise/go.mod
index cc5ec0e..56d395d 100644
--- a/recaptchaenterprise/go.mod
+++ b/recaptchaenterprise/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/golang/protobuf v1.5.2
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
diff --git a/recaptchaenterprise/go_mod_tidy_hack.go b/recaptchaenterprise/go_mod_tidy_hack.go
deleted file mode 100644
index 279de37..0000000
--- a/recaptchaenterprise/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package recaptchaenterprise
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/recommender/CHANGES.md b/recommender/CHANGES.md
index 280ec96..f4383b3 100644
--- a/recommender/CHANGES.md
+++ b/recommender/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out recommender as its own module. See
diff --git a/recommender/go.mod b/recommender/go.mod
index 5f31b4c..1dde9bd 100644
--- a/recommender/go.mod
+++ b/recommender/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/golang/protobuf v1.5.2
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
diff --git a/recommender/go_mod_tidy_hack.go b/recommender/go_mod_tidy_hack.go
deleted file mode 100644
index 2b20235..0000000
--- a/recommender/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package recommender
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/redis/CHANGES.md b/redis/CHANGES.md
index 28fbe1b..3107ad3 100644
--- a/redis/CHANGES.md
+++ b/redis/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out redis as its own module. See
diff --git a/redis/go_mod_tidy_hack.go b/redis/go_mod_tidy_hack.go
deleted file mode 100644
index 5264550..0000000
--- a/redis/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package redis
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/resourcemanager/CHANGES.md b/resourcemanager/CHANGES.md
index ce3af0c..1b1c098 100644
--- a/resourcemanager/CHANGES.md
+++ b/resourcemanager/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/resourcemanager/v0.1.0...resourcemanager/v0.2.0) (2021-09-16)
 
 
diff --git a/resourcemanager/go_mod_tidy_hack.go b/resourcemanager/go_mod_tidy_hack.go
deleted file mode 100644
index 0686d9d..0000000
--- a/resourcemanager/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package resourcemanager
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/resourcesettings/CHANGES.md b/resourcesettings/CHANGES.md
index 94d5121..ec6455a 100644
--- a/resourcesettings/CHANGES.md
+++ b/resourcesettings/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out resourcesettings as its own module. See
diff --git a/resourcesettings/go.mod b/resourcesettings/go.mod
index 3398983..6303080 100644
--- a/resourcesettings/go.mod
+++ b/resourcesettings/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/resourcesettings/go_mod_tidy_hack.go b/resourcesettings/go_mod_tidy_hack.go
deleted file mode 100644
index 160d288..0000000
--- a/resourcesettings/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package resourcesettings
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/retail/CHANGES.md b/retail/CHANGES.md
index 5b170495..13c4644 100644
--- a/retail/CHANGES.md
+++ b/retail/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out retail as its own module. See
diff --git a/retail/go_mod_tidy_hack.go b/retail/go_mod_tidy_hack.go
deleted file mode 100644
index 034529b..0000000
--- a/retail/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package retail
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/scheduler/CHANGES.md b/scheduler/CHANGES.md
index 99986a6..f6d5a51 100644
--- a/scheduler/CHANGES.md
+++ b/scheduler/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out scheduler as its own module. See
diff --git a/scheduler/go.mod b/scheduler/go.mod
index 5f14639..c226836 100644
--- a/scheduler/go.mod
+++ b/scheduler/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/golang/protobuf v1.5.2
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
diff --git a/scheduler/go_mod_tidy_hack.go b/scheduler/go_mod_tidy_hack.go
deleted file mode 100644
index 0fa2d97..0000000
--- a/scheduler/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package scheduler
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/secretmanager/CHANGES.md b/secretmanager/CHANGES.md
index 92ef865..a13ed5a 100644
--- a/secretmanager/CHANGES.md
+++ b/secretmanager/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out secretmanager as its own module. See
diff --git a/secretmanager/go_mod_tidy_hack.go b/secretmanager/go_mod_tidy_hack.go
deleted file mode 100644
index 16427af..0000000
--- a/secretmanager/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package secretmanager
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/security/CHANGES.md b/security/CHANGES.md
index 781881f..b833910 100644
--- a/security/CHANGES.md
+++ b/security/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out security as its own module. See
diff --git a/security/go_mod_tidy_hack.go b/security/go_mod_tidy_hack.go
deleted file mode 100644
index 61a7566..0000000
--- a/security/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package security
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/securitycenter/CHANGES.md b/securitycenter/CHANGES.md
index bb3476b..ba71f0f 100644
--- a/securitycenter/CHANGES.md
+++ b/securitycenter/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out securitycenter as its own module. See
diff --git a/securitycenter/go_mod_tidy_hack.go b/securitycenter/go_mod_tidy_hack.go
deleted file mode 100644
index 2fe7949..0000000
--- a/securitycenter/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package securitycenter
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/servicecontrol/CHANGES.md b/servicecontrol/CHANGES.md
index 7965019..31aacdc 100644
--- a/servicecontrol/CHANGES.md
+++ b/servicecontrol/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out servicecontrol as its own module. See
diff --git a/servicecontrol/go.mod b/servicecontrol/go.mod
index 5653c41..d65591b 100644
--- a/servicecontrol/go.mod
+++ b/servicecontrol/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/servicecontrol/go_mod_tidy_hack.go b/servicecontrol/go_mod_tidy_hack.go
deleted file mode 100644
index 1ffc9f6..0000000
--- a/servicecontrol/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package servicecontrol
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/servicedirectory/CHANGES.md b/servicedirectory/CHANGES.md
index 39a933e..6f5e207 100644
--- a/servicedirectory/CHANGES.md
+++ b/servicedirectory/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out servicedirectory as its own module. See
diff --git a/servicedirectory/go.mod b/servicedirectory/go.mod
index 5158486..6be7ed5 100644
--- a/servicedirectory/go.mod
+++ b/servicedirectory/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/servicedirectory/go_mod_tidy_hack.go b/servicedirectory/go_mod_tidy_hack.go
deleted file mode 100644
index 0b04e75..0000000
--- a/servicedirectory/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package servicedirectory
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/servicemanagement/CHANGES.md b/servicemanagement/CHANGES.md
index 23bc81f..d28a7ac 100644
--- a/servicemanagement/CHANGES.md
+++ b/servicemanagement/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out servicemanagement as its own module. See
diff --git a/servicemanagement/go_mod_tidy_hack.go b/servicemanagement/go_mod_tidy_hack.go
deleted file mode 100644
index a56c902..0000000
--- a/servicemanagement/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package servicemanagement
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/serviceusage/CHANGES.md b/serviceusage/CHANGES.md
index 5e0994e..ba6a6ac 100644
--- a/serviceusage/CHANGES.md
+++ b/serviceusage/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out serviceusage as its own module. See
diff --git a/serviceusage/go_mod_tidy_hack.go b/serviceusage/go_mod_tidy_hack.go
deleted file mode 100644
index b3d3303..0000000
--- a/serviceusage/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package serviceusage
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/shell/CHANGES.md b/shell/CHANGES.md
index 3f5aad6..d54a8ab 100644
--- a/shell/CHANGES.md
+++ b/shell/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out shell as its own module. See
diff --git a/shell/go_mod_tidy_hack.go b/shell/go_mod_tidy_hack.go
deleted file mode 100644
index 050799c..0000000
--- a/shell/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package shell
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/speech/CHANGES.md b/speech/CHANGES.md
index 9121441..da9cf49 100644
--- a/speech/CHANGES.md
+++ b/speech/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/speech/v0.1.0...speech/v0.2.0) (2021-08-30)
 
 
diff --git a/speech/go_mod_tidy_hack.go b/speech/go_mod_tidy_hack.go
deleted file mode 100644
index 5c2cdfc..0000000
--- a/speech/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package speech
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/storagetransfer/CHANGES.md b/storagetransfer/CHANGES.md
index aa62342..d16f200 100644
--- a/storagetransfer/CHANGES.md
+++ b/storagetransfer/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out storagetransfer as its own module. See
diff --git a/storagetransfer/go_mod_tidy_hack.go b/storagetransfer/go_mod_tidy_hack.go
deleted file mode 100644
index 9599523..0000000
--- a/storagetransfer/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package storagetransfer
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/texttospeech/CHANGES.md b/texttospeech/CHANGES.md
index 8e55092..4d819e5 100644
--- a/texttospeech/CHANGES.md
+++ b/texttospeech/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out texttospeech as its own module. See
diff --git a/texttospeech/go_mod_tidy_hack.go b/texttospeech/go_mod_tidy_hack.go
deleted file mode 100644
index 4b07b9d..0000000
--- a/texttospeech/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package texttospeech
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/tpu/CHANGES.md b/tpu/CHANGES.md
index 85e86d3..161df07 100644
--- a/tpu/CHANGES.md
+++ b/tpu/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out tpu as its own module. See
diff --git a/tpu/go_mod_tidy_hack.go b/tpu/go_mod_tidy_hack.go
deleted file mode 100644
index bfbcdcd..0000000
--- a/tpu/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package tpu
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/trace/CHANGES.md b/trace/CHANGES.md
index e95734a..70b462e 100644
--- a/trace/CHANGES.md
+++ b/trace/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out trace as its own module. See
diff --git a/trace/go_mod_tidy_hack.go b/trace/go_mod_tidy_hack.go
deleted file mode 100644
index a165a59..0000000
--- a/trace/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package trace
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/translate/CHANGES.md b/translate/CHANGES.md
index 7538c8e..a1875c5 100644
--- a/translate/CHANGES.md
+++ b/translate/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## [0.2.0](https://www.github.com/googleapis/google-cloud-go/compare/translate/v0.1.0...translate/v0.2.0) (2021-08-30)
 
 
diff --git a/translate/go_mod_tidy_hack.go b/translate/go_mod_tidy_hack.go
deleted file mode 100644
index 3f7aad0..0000000
--- a/translate/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package translate
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/video/CHANGES.md b/video/CHANGES.md
index 6f3d316..e757213 100644
--- a/video/CHANGES.md
+++ b/video/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out video as its own module. See
diff --git a/video/go.mod b/video/go.mod
index 6ec4528..59a2848 100644
--- a/video/go.mod
+++ b/video/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/video/go_mod_tidy_hack.go b/video/go_mod_tidy_hack.go
deleted file mode 100644
index 9a8d8d5..0000000
--- a/video/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package video
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/videointelligence/CHANGES.md b/videointelligence/CHANGES.md
index 7c1db1a..2ca842a 100644
--- a/videointelligence/CHANGES.md
+++ b/videointelligence/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out videointelligence as its own module. See
diff --git a/videointelligence/go_mod_tidy_hack.go b/videointelligence/go_mod_tidy_hack.go
deleted file mode 100644
index 3db11b1..0000000
--- a/videointelligence/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package videointelligence
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/vision/CHANGES.md b/vision/CHANGES.md
index 4513834..f4a3fb1 100644
--- a/vision/CHANGES.md
+++ b/vision/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out vision as its own module. See
diff --git a/vision/go_mod_tidy_hack.go b/vision/go_mod_tidy_hack.go
deleted file mode 100644
index 85487aa..0000000
--- a/vision/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package vision
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/vpcaccess/CHANGES.md b/vpcaccess/CHANGES.md
index 7f54f86..666b397 100644
--- a/vpcaccess/CHANGES.md
+++ b/vpcaccess/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out vpcaccess as its own module. See
diff --git a/vpcaccess/go_mod_tidy_hack.go b/vpcaccess/go_mod_tidy_hack.go
deleted file mode 100644
index 1d4ae27..0000000
--- a/vpcaccess/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package vpcaccess
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/webrisk/CHANGES.md b/webrisk/CHANGES.md
index 3d2aa54..a9c3345 100644
--- a/webrisk/CHANGES.md
+++ b/webrisk/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out webrisk as its own module. See
diff --git a/webrisk/go.mod b/webrisk/go.mod
index b801935..2fe9c14 100644
--- a/webrisk/go.mod
+++ b/webrisk/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/golang/protobuf v1.5.2
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
diff --git a/webrisk/go_mod_tidy_hack.go b/webrisk/go_mod_tidy_hack.go
deleted file mode 100644
index fb2f8dd..0000000
--- a/webrisk/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package webrisk
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/websecurityscanner/CHANGES.md b/websecurityscanner/CHANGES.md
index 4bf5577..b612f4d 100644
--- a/websecurityscanner/CHANGES.md
+++ b/websecurityscanner/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out websecurityscanner as its own module. See
diff --git a/websecurityscanner/go.mod b/websecurityscanner/go.mod
index b66e7f0..acb6fa8 100644
--- a/websecurityscanner/go.mod
+++ b/websecurityscanner/go.mod
@@ -3,7 +3,6 @@
 go 1.16
 
 require (
-	cloud.google.com/go v0.94.1
 	github.com/googleapis/gax-go/v2 v2.1.0
 	google.golang.org/api v0.57.0
 	google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
diff --git a/websecurityscanner/go_mod_tidy_hack.go b/websecurityscanner/go_mod_tidy_hack.go
deleted file mode 100644
index 58e8a67..0000000
--- a/websecurityscanner/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package websecurityscanner
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
diff --git a/workflows/CHANGES.md b/workflows/CHANGES.md
index e865441..15d1468 100644
--- a/workflows/CHANGES.md
+++ b/workflows/CHANGES.md
@@ -1,5 +1,9 @@
 # Changes
 
+## 1.0.0
+
+Stabilize GA surface.
+
 ## v0.1.0
 
 This is the first tag to carve out workflows as its own module. See
diff --git a/workflows/go_mod_tidy_hack.go b/workflows/go_mod_tidy_hack.go
deleted file mode 100644
index ce2d274..0000000
--- a/workflows/go_mod_tidy_hack.go
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// This file, and the cloud.google.com/go import, won't actually become part of
-// the resultant binary.
-//go:build modhack
-// +build modhack
-
-package workflows
-
-// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
-import _ "cloud.google.com/go"
