Bump version to 1.45.0 (on v1.45.x branch) (#29154)

* bump version to 1.45.0

* regenerate projects
diff --git a/BUILD b/BUILD
index 7a66676..8e4fee2 100644
--- a/BUILD
+++ b/BUILD
@@ -155,7 +155,7 @@
 
 core_version = "23.0.0"  # @unused
 
-version = "1.45.0-pre1"  # @unused
+version = "1.45.0"  # @unused
 
 GPR_PUBLIC_HDRS = [
     "include/grpc/support/alloc.h",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ea5068..a76b343 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,12 +25,12 @@
 cmake_minimum_required(VERSION 3.5.1)
 
 set(PACKAGE_NAME          "grpc")
-set(PACKAGE_VERSION       "1.45.0-pre1")
+set(PACKAGE_VERSION       "1.45.0")
 set(gRPC_CORE_VERSION     "23.0.0")
 set(gRPC_CORE_SOVERSION   "23")
-set(gRPC_CPP_VERSION      "1.45.0-pre1")
+set(gRPC_CPP_VERSION      "1.45.0")
 set(gRPC_CPP_SOVERSION    "1.45")
-set(gRPC_CSHARP_VERSION   "2.45.0-pre1")
+set(gRPC_CSHARP_VERSION   "2.45.0")
 set(gRPC_CSHARP_SOVERSION "2.45")
 set(PACKAGE_STRING        "${PACKAGE_NAME} ${PACKAGE_VERSION}")
 set(PACKAGE_TARNAME       "${PACKAGE_NAME}-${PACKAGE_VERSION}")
@@ -292,7 +292,7 @@
 if (gRPC_XDS_USER_AGENT_IS_CSHARP)
   # The value of the defines needs to contain quotes.
   # See https://github.com/grpc/grpc/blob/fbf32836a418cc84f58786700273b65cb9174e1d/src/core/ext/xds/xds_api.cc#L854
-  add_definitions("-DGRPC_XDS_USER_AGENT_NAME_SUFFIX=\"csharp\"" "-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX=\"2.45.0-pre1\"")
+  add_definitions("-DGRPC_XDS_USER_AGENT_NAME_SUFFIX=\"csharp\"" "-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX=\"2.45.0\"")
 endif()
 
 if(UNIX)
diff --git a/Makefile b/Makefile
index 8d6e896..f05c479 100644
--- a/Makefile
+++ b/Makefile
@@ -447,8 +447,8 @@
 endif
 
 CORE_VERSION = 23.0.0
-CPP_VERSION = 1.45.0-pre1
-CSHARP_VERSION = 2.45.0-pre1
+CPP_VERSION = 1.45.0
+CSHARP_VERSION = 2.45.0
 
 CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
 CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
diff --git a/_metadata.py b/_metadata.py
index a5908d4..4bbe6d8 100644
--- a/_metadata.py
+++ b/_metadata.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/_metadata.py.template`!!!
 
-__version__ = """1.45.0rc1"""
+__version__ = """1.45.0"""
diff --git a/build_handwritten.yaml b/build_handwritten.yaml
index 3fedd37..4d2c4f1 100644
--- a/build_handwritten.yaml
+++ b/build_handwritten.yaml
@@ -16,7 +16,7 @@
   csharp_major_version: 2
   g_stands_for: gravity
   protobuf_version: 3.19.4
-  version: 1.45.0-pre1
+  version: 1.45.0
 targets:
 - name: check_epollexclusive
   build: tool
diff --git a/config.m4 b/config.m4
index 4c43196..117603d 100644
--- a/config.m4
+++ b/config.m4
@@ -1159,7 +1159,7 @@
     -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0 \
     -DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 \
     -DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \
-    -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.45.0RC1\""')
+    -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.45.0\""')
 
   PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/census)
   PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel)
diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec
index b1a2b0b..5714ffd 100644
--- a/gRPC-C++.podspec
+++ b/gRPC-C++.podspec
@@ -22,7 +22,7 @@
 Pod::Spec.new do |s|
   s.name     = 'gRPC-C++'
   # TODO (mxyan): use version that match gRPC version when pod is stabilized
-  version = '1.45.0-pre1'
+  version = '1.45.0'
   s.version  = version
   s.summary  = 'gRPC C++ library'
   s.homepage = 'https://grpc.io'
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index 0686cb9..ac30f9b 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -21,7 +21,7 @@
 
 Pod::Spec.new do |s|
   s.name     = 'gRPC-Core'
-  version = '1.45.0-pre1'
+  version = '1.45.0'
   s.version  = version
   s.summary  = 'Core cross-platform gRPC library, written in C'
   s.homepage = 'https://grpc.io'
diff --git a/gRPC-ProtoRPC.podspec b/gRPC-ProtoRPC.podspec
index 344e8ca..196bcaf 100644
--- a/gRPC-ProtoRPC.podspec
+++ b/gRPC-ProtoRPC.podspec
@@ -21,7 +21,7 @@
 
 Pod::Spec.new do |s|
   s.name     = 'gRPC-ProtoRPC'
-  version = '1.45.0-pre1'
+  version = '1.45.0'
   s.version  = version
   s.summary  = 'RPC library for Protocol Buffers, based on gRPC'
   s.homepage = 'https://grpc.io'
diff --git a/gRPC-RxLibrary.podspec b/gRPC-RxLibrary.podspec
index 3af9c86..d4d0e36 100644
--- a/gRPC-RxLibrary.podspec
+++ b/gRPC-RxLibrary.podspec
@@ -21,7 +21,7 @@
 
 Pod::Spec.new do |s|
   s.name     = 'gRPC-RxLibrary'
-  version = '1.45.0-pre1'
+  version = '1.45.0'
   s.version  = version
   s.summary  = 'Reactive Extensions library for iOS/OSX.'
   s.homepage = 'https://grpc.io'
diff --git a/gRPC.podspec b/gRPC.podspec
index 3e63515..6098604 100644
--- a/gRPC.podspec
+++ b/gRPC.podspec
@@ -20,7 +20,7 @@
 
 Pod::Spec.new do |s|
   s.name     = 'gRPC'
-  version = '1.45.0-pre1'
+  version = '1.45.0'
   s.version  = version
   s.summary  = 'gRPC client library for iOS/OSX'
   s.homepage = 'https://grpc.io'
diff --git a/package.xml b/package.xml
index b5ca328..0463807 100644
--- a/package.xml
+++ b/package.xml
@@ -13,12 +13,12 @@
  <date>2019-09-24</date>
  <time>16:06:07</time>
  <version>
-  <release>1.45.0RC1</release>
-  <api>1.45.0RC1</api>
+  <release>1.45.0</release>
+  <api>1.45.0</api>
  </version>
  <stability>
-  <release>beta</release>
-  <api>beta</api>
+  <release>stable</release>
+  <api>stable</api>
  </stability>
  <license>Apache 2.0</license>
  <notes>
diff --git a/src/cpp/common/version_cc.cc b/src/cpp/common/version_cc.cc
index a4b3a25..fc3be8a 100644
--- a/src/cpp/common/version_cc.cc
+++ b/src/cpp/common/version_cc.cc
@@ -22,5 +22,5 @@
 #include <grpcpp/grpcpp.h>
 
 namespace grpc {
-std::string Version() { return "1.45.0-pre1"; }
+std::string Version() { return "1.45.0"; }
 }  // namespace grpc
diff --git a/src/csharp/Grpc.Core.Api/VersionInfo.cs b/src/csharp/Grpc.Core.Api/VersionInfo.cs
index cc4828c0..3cfdfe8 100644
--- a/src/csharp/Grpc.Core.Api/VersionInfo.cs
+++ b/src/csharp/Grpc.Core.Api/VersionInfo.cs
@@ -38,6 +38,6 @@
         /// <summary>
         /// Current version of gRPC C#
         /// </summary>
-        public const string CurrentVersion = "2.45.0-pre1";
+        public const string CurrentVersion = "2.45.0";
     }
 }
diff --git a/src/csharp/build/dependencies.props b/src/csharp/build/dependencies.props
index a3a7a28..dfa08f3 100644
--- a/src/csharp/build/dependencies.props
+++ b/src/csharp/build/dependencies.props
@@ -1,7 +1,7 @@
 <!-- This file is generated -->
 <Project>
   <PropertyGroup>
-    <GrpcCsharpVersion>2.45.0-pre1</GrpcCsharpVersion>
+    <GrpcCsharpVersion>2.45.0</GrpcCsharpVersion>
     <GoogleProtobufVersion>3.19.4</GoogleProtobufVersion>
   </PropertyGroup>
 </Project>
diff --git "a/src/objective-c/\041ProtoCompiler-gRPCCppPlugin.podspec" "b/src/objective-c/\041ProtoCompiler-gRPCCppPlugin.podspec"
index b75021f..a7c61b8 100644
--- "a/src/objective-c/\041ProtoCompiler-gRPCCppPlugin.podspec"
+++ "b/src/objective-c/\041ProtoCompiler-gRPCCppPlugin.podspec"
@@ -42,7 +42,7 @@
   # exclamation mark ensures that other "regular" pods will be able to find it as it'll be installed
   # before them.
   s.name     = '!ProtoCompiler-gRPCCppPlugin'
-  v = '1.45.0-pre1'
+  v = '1.45.0'
   s.version  = v
   s.summary  = 'The gRPC ProtoC plugin generates C++ files from .proto services.'
   s.description = <<-DESC
diff --git "a/src/objective-c/\041ProtoCompiler-gRPCPlugin.podspec" "b/src/objective-c/\041ProtoCompiler-gRPCPlugin.podspec"
index 0d09336..f99fa98 100644
--- "a/src/objective-c/\041ProtoCompiler-gRPCPlugin.podspec"
+++ "b/src/objective-c/\041ProtoCompiler-gRPCPlugin.podspec"
@@ -42,7 +42,7 @@
   # exclamation mark ensures that other "regular" pods will be able to find it as it'll be installed
   # before them.
   s.name     = '!ProtoCompiler-gRPCPlugin'
-  v = '1.45.0-pre1'
+  v = '1.45.0'
   s.version  = v
   s.summary  = 'The gRPC ProtoC plugin generates Objective-C files from .proto services.'
   s.description = <<-DESC
diff --git a/src/objective-c/GRPCClient/version.h b/src/objective-c/GRPCClient/version.h
index fc0c2d9..10d2e86 100644
--- a/src/objective-c/GRPCClient/version.h
+++ b/src/objective-c/GRPCClient/version.h
@@ -22,4 +22,4 @@
 // instead. This file can be regenerated from the template by running
 // `tools/buildgen/generate_projects.sh`.
 
-#define GRPC_OBJC_VERSION_STRING @"1.45.0-pre1"
+#define GRPC_OBJC_VERSION_STRING @"1.45.0"
diff --git a/src/objective-c/tests/version.h b/src/objective-c/tests/version.h
index d7f302f..b3f2f31 100644
--- a/src/objective-c/tests/version.h
+++ b/src/objective-c/tests/version.h
@@ -22,5 +22,5 @@
 // instead. This file can be regenerated from the template by running
 // `tools/buildgen/generate_projects.sh`.
 
-#define GRPC_OBJC_VERSION_STRING @"1.45.0-pre1"
+#define GRPC_OBJC_VERSION_STRING @"1.45.0"
 #define GRPC_C_VERSION_STRING @"23.0.0"
diff --git a/src/php/ext/grpc/version.h b/src/php/ext/grpc/version.h
index ef81bd5..5df39ed 100644
--- a/src/php/ext/grpc/version.h
+++ b/src/php/ext/grpc/version.h
@@ -20,6 +20,6 @@
 #ifndef VERSION_H
 #define VERSION_H
 
-#define PHP_GRPC_VERSION "1.45.0RC1"
+#define PHP_GRPC_VERSION "1.45.0"
 
 #endif /* VERSION_H */
diff --git a/src/python/grpcio/grpc/_grpcio_metadata.py b/src/python/grpcio/grpc/_grpcio_metadata.py
index 3c1bc57..51b3e27 100644
--- a/src/python/grpcio/grpc/_grpcio_metadata.py
+++ b/src/python/grpcio/grpc/_grpcio_metadata.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc/_grpcio_metadata.py.template`!!!
 
-__version__ = """1.45.0rc1"""
+__version__ = """1.45.0"""
diff --git a/src/python/grpcio/grpc_version.py b/src/python/grpcio/grpc_version.py
index cd60092..1f870d1 100644
--- a/src/python/grpcio/grpc_version.py
+++ b/src/python/grpcio/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/python/grpcio_admin/grpc_version.py b/src/python/grpcio_admin/grpc_version.py
index 83ea520..9313c56 100644
--- a/src/python/grpcio_admin/grpc_version.py
+++ b/src/python/grpcio_admin/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_admin/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/python/grpcio_channelz/grpc_version.py b/src/python/grpcio_channelz/grpc_version.py
index ba49b6b..3d893e5 100644
--- a/src/python/grpcio_channelz/grpc_version.py
+++ b/src/python/grpcio_channelz/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_channelz/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/python/grpcio_csds/grpc_version.py b/src/python/grpcio_csds/grpc_version.py
index e2286cd..4f1ddbd 100644
--- a/src/python/grpcio_csds/grpc_version.py
+++ b/src/python/grpcio_csds/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_csds/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/python/grpcio_health_checking/grpc_version.py b/src/python/grpcio_health_checking/grpc_version.py
index a10fa9b..ba9010e 100644
--- a/src/python/grpcio_health_checking/grpc_version.py
+++ b/src/python/grpcio_health_checking/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_health_checking/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/python/grpcio_reflection/grpc_version.py b/src/python/grpcio_reflection/grpc_version.py
index 64227dd..14e4c0a 100644
--- a/src/python/grpcio_reflection/grpc_version.py
+++ b/src/python/grpcio_reflection/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_reflection/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/python/grpcio_status/grpc_version.py b/src/python/grpcio_status/grpc_version.py
index d0c5f2b..2f153b4 100644
--- a/src/python/grpcio_status/grpc_version.py
+++ b/src/python/grpcio_status/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_status/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/python/grpcio_testing/grpc_version.py b/src/python/grpcio_testing/grpc_version.py
index 421f2ac..6486edc 100644
--- a/src/python/grpcio_testing/grpc_version.py
+++ b/src/python/grpcio_testing/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_testing/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/python/grpcio_tests/grpc_version.py b/src/python/grpcio_tests/grpc_version.py
index f20f56b..07bdc2c 100644
--- a/src/python/grpcio_tests/grpc_version.py
+++ b/src/python/grpcio_tests/grpc_version.py
@@ -14,4 +14,4 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio_tests/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb
index 7e7e15b..b3e7a64 100644
--- a/src/ruby/ext/grpc/extconf.rb
+++ b/src/ruby/ext/grpc/extconf.rb
@@ -60,7 +60,7 @@
 
 ENV['CPPFLAGS'] = '-DGPR_BACKWARDS_COMPATIBILITY_MODE'
 ENV['CPPFLAGS'] += ' -DGRPC_XDS_USER_AGENT_NAME_SUFFIX="\"RUBY\"" '
-ENV['CPPFLAGS'] += ' -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX="\"1.45.0.pre1\"" '
+ENV['CPPFLAGS'] += ' -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX="\"1.45.0\"" '
 
 output_dir = File.expand_path(RbConfig::CONFIG['topdir'])
 grpc_lib_dir = File.join(output_dir, 'libs', grpc_config)
diff --git a/src/ruby/lib/grpc/version.rb b/src/ruby/lib/grpc/version.rb
index 4740446..1eaf586 100644
--- a/src/ruby/lib/grpc/version.rb
+++ b/src/ruby/lib/grpc/version.rb
@@ -14,5 +14,5 @@
 
 # GRPC contains the General RPC module.
 module GRPC
-  VERSION = '1.45.0.pre1'
+  VERSION = '1.45.0'
 end
diff --git a/src/ruby/tools/version.rb b/src/ruby/tools/version.rb
index 74e896e..59a776b 100644
--- a/src/ruby/tools/version.rb
+++ b/src/ruby/tools/version.rb
@@ -14,6 +14,6 @@
 
 module GRPC
   module Tools
-    VERSION = '1.45.0.pre1'
+    VERSION = '1.45.0'
   end
 end
diff --git a/tools/distrib/python/grpc_version.py b/tools/distrib/python/grpc_version.py
index a22b753..86c6bcf 100644
--- a/tools/distrib/python/grpc_version.py
+++ b/tools/distrib/python/grpc_version.py
@@ -14,5 +14,5 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
 PROTOBUF_VERSION = '3.19.4'
diff --git a/tools/distrib/python/grpcio_tools/grpc_version.py b/tools/distrib/python/grpcio_tools/grpc_version.py
index 24eadbd..91dfadb 100644
--- a/tools/distrib/python/grpcio_tools/grpc_version.py
+++ b/tools/distrib/python/grpcio_tools/grpc_version.py
@@ -14,5 +14,5 @@
 
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/distrib/python/grpcio_tools/grpc_version.py.template`!!!
 
-VERSION = '1.45.0rc1'
+VERSION = '1.45.0'
 PROTOBUF_VERSION = '3.19.4'
diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++
index bde45ae..2f67049b 100644
--- a/tools/doxygen/Doxyfile.c++
+++ b/tools/doxygen/Doxyfile.c++
@@ -40,7 +40,7 @@
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 1.45.0-pre1
+PROJECT_NUMBER         = 1.45.0
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index f84d51c..cb3f683 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -40,7 +40,7 @@
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 1.45.0-pre1
+PROJECT_NUMBER         = 1.45.0
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/tools/doxygen/Doxyfile.objc b/tools/doxygen/Doxyfile.objc
index faa8a18..32c8598 100644
--- a/tools/doxygen/Doxyfile.objc
+++ b/tools/doxygen/Doxyfile.objc
@@ -40,7 +40,7 @@
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 1.45.0-pre1
+PROJECT_NUMBER         = 1.45.0
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/tools/doxygen/Doxyfile.objc.internal b/tools/doxygen/Doxyfile.objc.internal
index 4f85b54..b21c716 100644
--- a/tools/doxygen/Doxyfile.objc.internal
+++ b/tools/doxygen/Doxyfile.objc.internal
@@ -40,7 +40,7 @@
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 1.45.0-pre1
+PROJECT_NUMBER         = 1.45.0
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/tools/doxygen/Doxyfile.php b/tools/doxygen/Doxyfile.php
index 5a1546f..e3c8f8b 100644
--- a/tools/doxygen/Doxyfile.php
+++ b/tools/doxygen/Doxyfile.php
@@ -40,7 +40,7 @@
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 1.45.0-pre1
+PROJECT_NUMBER         = 1.45.0
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a