diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2bbde7ffbc..a74b4b2df86 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,10 +5,83 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## [Unreleased](https://github.com/99designs/gqlgen/compare/v0.17.21...HEAD)
+## [Unreleased](https://github.com/99designs/gqlgen/compare/v0.17.22...HEAD)
+
+## [v0.17.22](https://github.com/99designs/gqlgen/compare/v0.17.21...v0.17.22) - 2022-12-08
+- d6579466 release v0.17.22
+
+- 9a292299 graphql.Error is not deprecated anymore (#2455)
+
+
a44685b2 Ability to return multiple errors from resolvers raise than add it to stack. (#2454)
+
+* Remove DO NOT EDIT
+
+Sometimes vscode warn about this while editing resolvers code.
+Finally the resolver's code is editable and generated at the same time.
+
+* Ability to return multiple errors from resolver.
+
+* Multiple errors return example
+
+* Fix missing import
+
+* reformat
+
+* gofmt
+
+* go generate ./...
+
+* go generate ./...
+
+* Regenerate
+
+
+* remove trailing period
+
+
+
+db1e3b81 Implicit external check (#2449)
+
+* Prevent entity resolver generation for stub types.
+In Federation 2 key fields are implicitly external
+
+* Add more comments to "isResolvable"
+
+* Check that no resolvers are set for stub "Hello"
+
+* Run generate with go 1.16
+
+* Simplify implicit external check
+
+* Add stricter federation version check.
+Update comment on expected behavior of the resolvable argument.
+Add comment to documentation about external directive.
+
+* Preallocate keyFields slice
+
+* Add non stub type to federation v2 test
+
+* Do not append to preallocated slice
+
+* Add test coverage for multiple fields in key
+
+* Fix typo in comment
+
+
+
+- 5065163c Re-generate and update release checklist to regenerate for new version
+
+- 5cfc22de Add v0.17.21 Release notes
+
+- 5d39046d v0.17.21 postrelease bump
+
+
+
+
+
## [v0.17.21](https://github.com/99designs/gqlgen/compare/v0.17.20...v0.17.21) - 2022-12-03
- 9deb8381 release v0.17.21
diff --git a/_examples/config/schema.resolvers.go b/_examples/config/schema.resolvers.go
index 32602444953..8ad927b6416 100644
--- a/_examples/config/schema.resolvers.go
+++ b/_examples/config/schema.resolvers.go
@@ -2,7 +2,7 @@ package config
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/_examples/config/todo.resolvers.go b/_examples/config/todo.resolvers.go
index 1d28c30bb31..048310819d6 100644
--- a/_examples/config/todo.resolvers.go
+++ b/_examples/config/todo.resolvers.go
@@ -2,7 +2,7 @@ package config
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/_examples/config/user.resolvers.go b/_examples/config/user.resolvers.go
index 9e5dcbfdbb4..9756621c5af 100644
--- a/_examples/config/user.resolvers.go
+++ b/_examples/config/user.resolvers.go
@@ -2,7 +2,7 @@ package config
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/_examples/federation/accounts/graph/entity.resolvers.go b/_examples/federation/accounts/graph/entity.resolvers.go
index 3c5ecc05a5d..cec73239e33 100644
--- a/_examples/federation/accounts/graph/entity.resolvers.go
+++ b/_examples/federation/accounts/graph/entity.resolvers.go
@@ -2,7 +2,7 @@ package graph
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/_examples/federation/accounts/graph/schema.resolvers.go b/_examples/federation/accounts/graph/schema.resolvers.go
index e5888fce609..cd0bb20c182 100644
--- a/_examples/federation/accounts/graph/schema.resolvers.go
+++ b/_examples/federation/accounts/graph/schema.resolvers.go
@@ -2,7 +2,7 @@ package graph
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/_examples/federation/products/graph/entity.resolvers.go b/_examples/federation/products/graph/entity.resolvers.go
index 67b10ee57db..9668d5aead2 100644
--- a/_examples/federation/products/graph/entity.resolvers.go
+++ b/_examples/federation/products/graph/entity.resolvers.go
@@ -2,7 +2,7 @@ package graph
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/_examples/federation/products/graph/schema.resolvers.go b/_examples/federation/products/graph/schema.resolvers.go
index 331834596bd..be016ea520f 100644
--- a/_examples/federation/products/graph/schema.resolvers.go
+++ b/_examples/federation/products/graph/schema.resolvers.go
@@ -2,7 +2,7 @@ package graph
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/_examples/federation/reviews/graph/entity.resolvers.go b/_examples/federation/reviews/graph/entity.resolvers.go
index 39bcf788df5..635fb7361cb 100644
--- a/_examples/federation/reviews/graph/entity.resolvers.go
+++ b/_examples/federation/reviews/graph/entity.resolvers.go
@@ -2,7 +2,7 @@ package graph
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/_examples/federation/reviews/graph/schema.resolvers.go b/_examples/federation/reviews/graph/schema.resolvers.go
index 6be9e5fa65a..e54f08ca170 100644
--- a/_examples/federation/reviews/graph/schema.resolvers.go
+++ b/_examples/federation/reviews/graph/schema.resolvers.go
@@ -2,7 +2,7 @@ package graph
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"
diff --git a/plugin/federation/testdata/entityresolver/entity.resolvers.go b/plugin/federation/testdata/entityresolver/entity.resolvers.go
index 212f6d088b4..99d61877474 100644
--- a/plugin/federation/testdata/entityresolver/entity.resolvers.go
+++ b/plugin/federation/testdata/entityresolver/entity.resolvers.go
@@ -2,7 +2,7 @@ package entityresolver
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
-// Code generated by github.com/99designs/gqlgen version v0.17.21-dev
+// Code generated by github.com/99designs/gqlgen version v0.17.22-dev
import (
"context"