diff --git a/README.md b/README.md
index 2f40eaa3a65e9e64c751ba77b981bdade081c321..d0080b33b6a09a375b8085dc905f8e84bca1261f 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,8 @@ Apache License, Version 2.0
 
 ## Release note ##
 
+[v1.5.0 - July 24, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.5.0)
+
 [v1.4.0 - Mar 17, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.4.0)
 
 [v1.3.0 - Mar 1, 2020](https://github.com/apache/dubbo-go/releases/tag/v1.3.0)
@@ -49,6 +51,7 @@ Finished List:
 - Codec
     * JsonRPC V2
     * Hessian V2
+    * [json for grpc](https://github.com/apache/dubbo-go/pull/582)
 
 - Protocol
     * Dubbo
@@ -110,6 +113,16 @@ Finished List:
     * [For dubbo](https://github.com/apache/dubbo-go/pull/344)
     * [For grpc](https://github.com/apache/dubbo-go/pull/397)
 
+- Metadata Center
+    * [Nacos](https://github.com/apache/dubbo-go/pull/522)
+    * [Zookeeper](https://github.com/apache/dubbo-go/pull/633)
+    * [Etcd](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/metadata/report/etcd/report.go)
+
+- Service discovery
+    * [Nacos](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/registry/nacos/service_discovery.go)
+    * [Zookeeper](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/registry/zookeeper/service_discovery.go)
+    * [Etcd](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/registry/etcdv3/service_discovery.go)
+
 - Others:
     * start check
     * connecting certain provider
@@ -118,11 +131,6 @@ Finished List:
     * multi-versions
     * service group
 
-Working List:
-
-- Metadata Center (dubbo v2.7.x)
-- Service Discovery (dubbo v2.7.x)
-
 You can know more about dubbo-go by its [roadmap](https://github.com/apache/dubbo-go/wiki/Roadmap).
 
 ![feature](./doc/pic/arch/dubbo-go-arch.png)
diff --git a/README_CN.md b/README_CN.md
index 94630da6c3b2f5e4c0c7e0fe39da4a3b4e780ba4..9dd10d6272cc85ae055ed2f145af6f2b40c975a3 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -15,6 +15,8 @@ Apache License, Version 2.0
 
 ## 鍙戝竷鏃ュ織 ##
 
+[v1.5.0 - 2020骞�7鏈�24鏃(https://github.com/apache/dubbo-go/releases/tag/v1.5.0)
+
 [v1.4.0 - 2020骞�3鏈�17鏃(https://github.com/apache/dubbo-go/releases/tag/v1.4.0)
 
 [v1.3.0 - 2020骞�3鏈�1鏃(https://github.com/apache/dubbo-go/releases/tag/v1.3.0)
@@ -48,6 +50,7 @@ Apache License, Version 2.0
 - 搴忓垪鍖栧崗璁�
     * JsonRPC V2
     * Hessian V2
+    * [json for grpc](https://github.com/apache/dubbo-go/pull/582)
 
 - 鍗忚
     * Dubbo
@@ -108,6 +111,15 @@ Apache License, Version 2.0
     * [For dubbo](https://github.com/apache/dubbo-go/pull/344)
     * [For grpc](https://github.com/apache/dubbo-go/pull/397)
 
+- 鍏冩暟鎹腑蹇�
+    * [Nacos](https://github.com/apache/dubbo-go/pull/522)
+    * [Zookeeper](https://github.com/apache/dubbo-go/pull/633)
+    * [Etcd](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/metadata/report/etcd/report.go)
+
+- 鏈嶅姟鍙戠幇
+    * [Nacos](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/registry/nacos/service_discovery.go)
+    * [Zookeeper](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/registry/zookeeper/service_discovery.go)
+    * [Etcd](https://github.com/apache/dubbo-go/blob/9a5990d9a9c3d5e6633c0d7d926c156416bcb931/registry/etcdv3/service_discovery.go)
 
 - 鍏朵粬鍔熻兘鏀寔:
     * 鍚姩鏃舵鏌�
@@ -117,11 +129,6 @@ Apache License, Version 2.0
     * 澶氭湇鍔$増鏈�
     * 鏈嶅姟鍒嗙粍
 
-寮€鍙戜腑鍒楄〃:
-
-- 鍏冩暟鎹腑蹇� (dubbo v2.7.x)
-- 鏈嶅姟鍙戠幇 (dubbo v2.7.x)
-
 浣犲彲浠ラ€氳繃璁块棶 [roadmap](https://github.com/apache/dubbo-go/wiki/Roadmap) 鐭ラ亾鏇村鍏充簬 dubbo-go 鐨勪俊鎭€�
 
 ![feature](./doc/pic/arch/dubbo-go-arch.png)
diff --git a/config/consumer_config.go b/config/consumer_config.go
index f8b671bf3cf8304d57211f2f8b7c7c35f2aa6b9e..48f29f0e70028a7c057ee3831b45afa72446f3d0 100644
--- a/config/consumer_config.go
+++ b/config/consumer_config.go
@@ -47,7 +47,7 @@ type ConsumerConfig struct {
 	ConnectTimeout  time.Duration
 
 	Registry   *RegistryConfig            `yaml:"registry" json:"registry,omitempty" property:"registry"`
-	Registries map[string]*RegistryConfig `yaml:"registries" json:"registries,omitempty" property:"registries"`
+	Registries map[string]*RegistryConfig `default:"{}" yaml:"registries" json:"registries" property:"registries"`
 
 	Request_Timeout string `yaml:"request_timeout" default:"5s" json:"request_timeout,omitempty" property:"request_timeout"`
 	RequestTimeout  time.Duration
diff --git a/config/graceful_shutdown_signal_darwin.go b/config/graceful_shutdown_signal_darwin.go
index 6f1fa982a30125096c553e65c13bae1a413ea141..1a557dd3ed32cfe571216f61a5a6f8fe064bb254 100644
--- a/config/graceful_shutdown_signal_darwin.go
+++ b/config/graceful_shutdown_signal_darwin.go
@@ -26,7 +26,7 @@ var (
 	// ShutdownSignals receives shutdown signals to process
 	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT, syscall.SIGSYS}
+		syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
 	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL,
diff --git a/config/graceful_shutdown_signal_linux.go b/config/graceful_shutdown_signal_linux.go
index 6f1fa982a30125096c553e65c13bae1a413ea141..1a557dd3ed32cfe571216f61a5a6f8fe064bb254 100644
--- a/config/graceful_shutdown_signal_linux.go
+++ b/config/graceful_shutdown_signal_linux.go
@@ -26,7 +26,7 @@ var (
 	// ShutdownSignals receives shutdown signals to process
 	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT, syscall.SIGSYS}
+		syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
 	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL,
diff --git a/config/graceful_shutdown_signal_windows.go b/config/graceful_shutdown_signal_windows.go
index 3136e5ae15081f026e8a6e602a5174e1d396abf7..89edd27b184e3fddda5e794f686b86397c7019bb 100644
--- a/config/graceful_shutdown_signal_windows.go
+++ b/config/graceful_shutdown_signal_windows.go
@@ -26,7 +26,7 @@ var (
 	// ShutdownSignals receives shutdown signals to process
 	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT}
+		syscall.SIGABRT, syscall.SIGTERM}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
 	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP, syscall.SIGABRT}
diff --git a/config/provider_config.go b/config/provider_config.go
index 9d8a2429d2fc1d88b01c436ae96d55bcd1c729aa..7cd3c1e98bfb8c35abb2b414b782ec709d0a8d0d 100644
--- a/config/provider_config.go
+++ b/config/provider_config.go
@@ -48,7 +48,7 @@ type ProviderConfig struct {
 	ConfigType     map[string]string          `yaml:"config_type" json:"config_type,omitempty" property:"config_type"`
 
 	Registry   *RegistryConfig            `yaml:"registry" json:"registry,omitempty" property:"registry"`
-	Registries map[string]*RegistryConfig `yaml:"registries" json:"registries,omitempty" property:"registries"`
+	Registries map[string]*RegistryConfig `default:"{}" yaml:"registries" json:"registries" property:"registries"`
 }
 
 // UnmarshalYAML unmarshals the ProviderConfig by @unmarshal function