diff --git a/CHANGELOG.md b/CHANGELOG.md
index 80fd5a5d..c67f15ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,35 @@
+
+## 0.22.1 (2026-04-01)
+
+
+#### Chore
+
+* capture sentry backtraces (#2166) ([f0497396](https://github.com/mozilla-services/syncstorage-rs/commit/f049739658ab5ce46411800672042f0e448effcd))
+* remove HTTP status metric from syncstorage-rs (#2163) ([19847721](https://github.com/mozilla-services/syncstorage-rs/commit/19847721577b49ec911433194a8b74a4a35473cb))
+* build and push "directly" instead of using mozilla-it/deploy-actions (#2149) ([36e5683a](https://github.com/mozilla-services/syncstorage-rs/commit/36e5683a62c9355348fc3ef10877f1c91664c79e))
+* upgrade Python for all utils and refactor (#2127) ([6b09e994](https://github.com/mozilla-services/syncstorage-rs/commit/6b09e9947a57b1d6dc816f2905b45d2184326ac8))
+* bump rustls-webpki per RUSTSEC-2026-0049 (#2150) ([db5834db](https://github.com/mozilla-services/syncstorage-rs/commit/db5834db64729bba5431ae2c83bb78351a8b63fe))
+* resolve aws-lc-rs vuln (#2148) ([cd18eae5](https://github.com/mozilla-services/syncstorage-rs/commit/cd18eae541357f91532fb385f291c28d64fa83f7))
+
+#### Features
+
+* also push a latest tag to ent GAR (#2182) ([5513da89](https://github.com/mozilla-services/syncstorage-rs/commit/5513da89cdcd4fda0bc82d6ad917e2e65587396a))
+* single workflow and actions optimizations (#2140) ([cf1d30ff](https://github.com/mozilla-services/syncstorage-rs/commit/cf1d30ffb723c41e128a44dd57e9c586faef7cf7))
+* (re-)enable timestamp+offset based pagination optimization (#2145) ([c1d53b60](https://github.com/mozilla-services/syncstorage-rs/commit/c1d53b604f099e5fd43fde81143031c4d8cc4705))
+* add logging for acct webhook handler (#2147) ([ecb6bd05](https://github.com/mozilla-services/syncstorage-rs/commit/ecb6bd05dd9379748e4c65dd6f9b6640e9c710d9))
+* **mozcloud-publish:** updated mozcloud-publish workflow to trigger on tokenserver-preview labels and consolidated checks into a job that is required by all build jobs (#2135) ([685075e7](https://github.com/mozilla-services/syncstorage-rs/commit/685075e760d856bed84ed44be10d8cb8d4b202ca))
+
+#### Refactor
+
+* stop passing collection id to get_quota_usage (#2170) ([857739dd](https://github.com/mozilla-services/syncstorage-rs/commit/857739dd4ce3e8344d5cfa9b0628712e264c2290))
+
+#### Doc
+
+* fixes syncserver PostgreSQL GHCR image name (#2153) ([5dbe6bc4](https://github.com/mozilla-services/syncstorage-rs/commit/5dbe6bc4ea20733690def17aa4acbed0ff560738))
+* fix broken link to config page (#2144) ([ed6e27fb](https://github.com/mozilla-services/syncstorage-rs/commit/ed6e27fbb7a2d616aa7b682315a835ed1fbc4d1d))
+
+
+
## 0.22.0 (2026-03-17)
diff --git a/Cargo.lock b/Cargo.lock
index edb1c09e..4cea5877 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1486,7 +1486,7 @@ checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
[[package]]
name = "glean"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"chrono",
"serde",
@@ -4137,7 +4137,7 @@ dependencies = [
[[package]]
name = "syncserver"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"actix-cors",
"actix-http",
@@ -4194,7 +4194,7 @@ dependencies = [
[[package]]
name = "syncserver-common"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"actix-web",
"backtrace",
@@ -4213,7 +4213,7 @@ dependencies = [
[[package]]
name = "syncserver-db-common"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"backtrace",
"deadpool",
@@ -4229,7 +4229,7 @@ dependencies = [
[[package]]
name = "syncserver-settings"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"config",
"num_cpus",
@@ -4244,7 +4244,7 @@ dependencies = [
[[package]]
name = "syncstorage-db"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"deadpool",
@@ -4266,7 +4266,7 @@ dependencies = [
[[package]]
name = "syncstorage-db-common"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"backtrace",
@@ -4285,7 +4285,7 @@ dependencies = [
[[package]]
name = "syncstorage-mysql"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"base64",
@@ -4306,7 +4306,7 @@ dependencies = [
[[package]]
name = "syncstorage-postgres"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"chrono",
@@ -4325,7 +4325,7 @@ dependencies = [
[[package]]
name = "syncstorage-settings"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"rand 0.10.0",
"serde",
@@ -4334,7 +4334,7 @@ dependencies = [
[[package]]
name = "syncstorage-spanner"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"actix-web",
"async-trait",
@@ -4546,7 +4546,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokenserver-auth"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"base64",
@@ -4572,7 +4572,7 @@ dependencies = [
[[package]]
name = "tokenserver-common"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"actix-web",
"backtrace",
@@ -4585,7 +4585,7 @@ dependencies = [
[[package]]
name = "tokenserver-db"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"chrono",
@@ -4605,7 +4605,7 @@ dependencies = [
[[package]]
name = "tokenserver-db-common"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"backtrace",
@@ -4625,7 +4625,7 @@ dependencies = [
[[package]]
name = "tokenserver-mysql"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"chrono",
@@ -4644,7 +4644,7 @@ dependencies = [
[[package]]
name = "tokenserver-postgres"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"async-trait",
"chrono",
@@ -4663,7 +4663,7 @@ dependencies = [
[[package]]
name = "tokenserver-settings"
-version = "0.22.0"
+version = "0.22.1"
dependencies = [
"jsonwebtoken",
"serde",
diff --git a/Cargo.toml b/Cargo.toml
index 6957fd76..fb202962 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -20,7 +20,7 @@ members = [
default-members = ["syncserver"]
[workspace.package]
-version = "0.22.0"
+version = "0.22.1"
authors = [
"Mozilla Sync Backend Engineering