### v2.1.4 release
[https://github.com/go-kratos/kratos/releases/tag/v2.1.4](https://github.com/go-kratos/kratos/releases/tag/v2.1.4)
### New Features
- feat(registry/consul): add WithHeartbeat option ([#1738](https://github.com/go-kratos/kratos/pull/1738))
- feat(examples/):add etcd registry cmux example ([#1734](https://github.com/go-kratos/kratos/pull/1734))
- feat(transport):add grpc and http with listen ([#1729](https://github.com/go-kratos/kratos/pull/1729))
- feat(cmd/kratos): generating API documentation using Gnostic ([#1716](https://github.com/go-kratos/kratos/pull/1716))
### Bug Fixes
- fix: k8s client logr incompatible update ([#1744](https://github.com/go-kratos/kratos/pull/1744))
- fix(registry/consul):fix can't get service instance in async mode ([#1731](https://github.com/go-kratos/kratos/pull/1731))
- fix(registry/consul): fix can not find service in 20s ([#1728](https://github.com/go-kratos/kratos/pull/1728))
- fix: remove the use of client timeout as discovery time ([#1715](https://github.com/go-kratos/kratos/pull/1715))
- fix(cmd/kratos): add look protoc-gen-openapi when use kratos proto client ([#1726](https://github.com/go-kratos/kratos/pull/1726))
- fix FieldMask are converted to/from lower-camel naming conventions. ([#1724](https://github.com/go-kratos/kratos/pull/1724))
- fix(cmd/protoc-gen-go-http): Fix when replacement rule is not ending ([#1721](https://github.com/go-kratos/kratos/pull/1721))
- fix: fix typo in cmd/protoc-gen-go-http/http.go(is does not -> does not) ([#1718](https://github.com/go-kratos/kratos/pull/1718))
- fix(protoc-gen-go-http): Update http rule when path mappings ([#1704](https://github.com/go-kratos/kratos/pull/1704))
- fix(cmd): fixed a camel word enum error
- fix(cmd/proto-gen-http-go): remove go.mod replace ([#1707](https://github.com/go-kratos/kratos/pull/1707))
### Others
- sync to gitee ([#1746](https://github.com/go-kratos/kratos/pull/1746))
- upgrade(examples):upgrade go mod version ([#1745](https://github.com/go-kratos/kratos/pull/1745))
- test(errors): add errors test ([#1739](https://github.com/go-kratos/kratos/pull/1739))
- optimization: optimize error ([#1740](https://github.com/go-kratos/kratos/pull/1740))
- test(transport): add transport Listener test ([#1735](https://github.com/go-kratos/kratos/pull/1735))