diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3e51a7135..79185104c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,41 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **endpoint-media:** add debug dependency ([3d702e2](https://github.com/getindiekit/indiekit/commit/3d702e2f7c6763271f544808206a90ef926028dd))
+* **endpoint-media:** resize image while keeping original orientation ([0d51c95](https://github.com/getindiekit/indiekit/commit/0d51c95db8dd07c78630d04fa612ffa62a9b922a))
+* **endpoint-micropub:** add debug dependency ([ca92293](https://github.com/getindiekit/indiekit/commit/ca92293c7533707b6a89989bd152caad4223e13b))
+* **endpoint-micropub:** remove deprecated checkKeys option ([330e023](https://github.com/getindiekit/indiekit/commit/330e023783c45fe6e3d944e8f8e994bb7859ab41))
+* **post-type-event:** add missing conditional for end property ([3e1a8a0](https://github.com/getindiekit/indiekit/commit/3e1a8a08aacbd9ddfbe7bd5dcc6cdee0ff9619b7))
+* **store-ftp:** check if file exists before creating ([e50e32c](https://github.com/getindiekit/indiekit/commit/e50e32c8a643b5ad5a3b5022bff1207ea20ffaf1))
+* **store-gitea:** check if file exists before creating ([2512507](https://github.com/getindiekit/indiekit/commit/2512507ec47c92af31794546bdd0bb2c5d289465))
+* **store-gitea:** join file and instance paths to normalise client url ([3a83733](https://github.com/getindiekit/indiekit/commit/3a83733ae166652f0ca171265b6e4aec192fb453))
+* **store-github:** add debug dependency. fixes [#763](https://github.com/getindiekit/indiekit/issues/763) ([bd2a3f7](https://github.com/getindiekit/indiekit/commit/bd2a3f70e4dc7a2a39cb34fa9781c1703788352b))
+* **store-github:** join file and instance paths to normalise client url ([a9ff68e](https://github.com/getindiekit/indiekit/commit/a9ff68ecb8beb1a0f1f213f8ca85ba404b6d365c))
+* **store-gitlab:** check if file exists before creating ([101637b](https://github.com/getindiekit/indiekit/commit/101637b72b0dfb754dfc7b2b68220d0e62947900))
+* **store-gitlab:** update integration ([b4c88ce](https://github.com/getindiekit/indiekit/commit/b4c88ced4b70b85552a8499fca7bd6bb526a0fce))
+* **store-s3:** check if file exists before creating ([e1468c4](https://github.com/getindiekit/indiekit/commit/e1468c42955c033aca00213fe8b600f3c58e110c))
+* **store-s3:** copy file before deleting when moving ([c6dcb25](https://github.com/getindiekit/indiekit/commit/c6dcb25cc8fcbff495df12418e80a3d6dd6d91a6))
+
+
+### Features
+
+* **endpoint-media:** replace existing if uploading media with the same url ([fc24e1c](https://github.com/getindiekit/indiekit/commit/fc24e1cebd416268b478a72a98abc97d56dc4aef))
+* **endpoint-micropub:** replace existing if creating a post with the same url ([b3b0baa](https://github.com/getindiekit/indiekit/commit/b3b0baa7b3ea5cddabb264c10fec625e85c394b6))
+* **endpoint-micropub:** use md5 hash of published date as final option for a slug ([2ea5a8c](https://github.com/getindiekit/indiekit/commit/2ea5a8c7af9f0706da6fc043b921470119fdd711))
+* **store-bitbucket:** check if file exists before creating ([e394e4a](https://github.com/getindiekit/indiekit/commit/e394e4a17aa9fa644af5b9ad7d10b5e7358c79e5))
+* **store-file-system:** check if file exists before creating ([1aa437e](https://github.com/getindiekit/indiekit/commit/1aa437ee2dcecb946bec3f4b599b72b3bac4284b))
+* **store-github:** check if file exists before creating ([f89b8f1](https://github.com/getindiekit/indiekit/commit/f89b8f1142dacb070e2c34c4941b1142600acf4c))
+* **util:** md5 ([b09a8c4](https://github.com/getindiekit/indiekit/commit/b09a8c444b92d974cde3a9b3b98e2d80b3f8465b))
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 
diff --git a/lerna.json b/lerna.json
index 69a5ad95d..e209c6ade 100644
--- a/lerna.json
+++ b/lerna.json
@@ -6,5 +6,5 @@
     }
   },
   "ignoreChanges": ["**/tests/**", "**/*.md"],
-  "version": "1.0.0-beta.18"
+  "version": "1.0.0-beta.19"
 }
diff --git a/package-lock.json b/package-lock.json
index a50047112..4c9adabc7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -22770,18 +22770,18 @@
       }
     },
     "packages/create-indiekit": {
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/preset-eleventy": "^1.0.0-beta.10",
         "@indiekit/preset-hugo": "^1.0.0-beta.10",
         "@indiekit/preset-jekyll": "^1.0.0-beta.15",
-        "@indiekit/store-bitbucket": "^1.0.0-beta.15",
-        "@indiekit/store-ftp": "^1.0.0-beta.18",
-        "@indiekit/store-gitea": "^1.0.0-beta.15",
-        "@indiekit/store-github": "^1.0.0-beta.18",
-        "@indiekit/store-gitlab": "^1.0.0-beta.15",
-        "@indiekit/syndicator-mastodon": "^1.0.0-beta.18",
+        "@indiekit/store-bitbucket": "^1.0.0-beta.19",
+        "@indiekit/store-ftp": "^1.0.0-beta.19",
+        "@indiekit/store-gitea": "^1.0.0-beta.19",
+        "@indiekit/store-github": "^1.0.0-beta.19",
+        "@indiekit/store-gitlab": "^1.0.0-beta.19",
+        "@indiekit/syndicator-mastodon": "^1.0.0-beta.19",
         "base-create": "^3.0.7",
         "chalk": "^5.0.0",
         "prompts": "^2.4.2",
@@ -22796,11 +22796,11 @@
     },
     "packages/endpoint-auth": {
       "name": "@indiekit/endpoint-auth",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15",
-        "@indiekit/util": "^1.0.0-beta.18",
+        "@indiekit/util": "^1.0.0-beta.19",
         "bcrypt": "^5.1.0",
         "express": "^4.17.1",
         "express-validator": "^7.0.0",
@@ -22850,11 +22850,11 @@
     },
     "packages/endpoint-media": {
       "name": "@indiekit/endpoint-media",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15",
-        "@indiekit/util": "^1.0.0-beta.18",
+        "@indiekit/util": "^1.0.0-beta.19",
         "debug": "^4.3.2",
         "deepmerge": "^4.3.1",
         "express": "^4.17.1",
@@ -22885,11 +22885,11 @@
     },
     "packages/endpoint-micropub": {
       "name": "@indiekit/endpoint-micropub",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15",
-        "@indiekit/util": "^1.0.0-beta.18",
+        "@indiekit/util": "^1.0.0-beta.19",
         "@paulrobertlloyd/mf2tojf2": "^2.1.0",
         "debug": "^4.3.2",
         "express": "^4.17.1",
@@ -22921,13 +22921,13 @@
     },
     "packages/endpoint-posts": {
       "name": "@indiekit/endpoint-posts",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/endpoint-micropub": "^1.0.0-beta.18",
+        "@indiekit/endpoint-micropub": "^1.0.0-beta.19",
         "@indiekit/error": "^1.0.0-beta.15",
-        "@indiekit/frontend": "^1.0.0-beta.18",
-        "@indiekit/util": "^1.0.0-beta.18",
+        "@indiekit/frontend": "^1.0.0-beta.19",
+        "@indiekit/util": "^1.0.0-beta.19",
         "@paulrobertlloyd/mf2tojf2": "^2.1.0",
         "express": "^4.17.1",
         "express-validator": "^7.0.0",
@@ -22973,12 +22973,12 @@
     },
     "packages/frontend": {
       "name": "@indiekit/frontend",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@accessible-components/tag-input": "^0.2.0",
         "@indiekit/error": "^1.0.0-beta.15",
-        "@indiekit/util": "^1.0.0-beta.18",
+        "@indiekit/util": "^1.0.0-beta.19",
         "@rollup/plugin-commonjs": "^28.0.0",
         "@rollup/plugin-node-resolve": "^15.0.0",
         "color": "^4.0.1",
@@ -23003,26 +23003,26 @@
     },
     "packages/indiekit": {
       "name": "@indiekit/indiekit",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/endpoint-auth": "^1.0.0-beta.18",
+        "@indiekit/endpoint-auth": "^1.0.0-beta.19",
         "@indiekit/endpoint-files": "^1.0.0-beta.15",
         "@indiekit/endpoint-image": "^1.0.0-beta.10",
-        "@indiekit/endpoint-media": "^1.0.0-beta.18",
-        "@indiekit/endpoint-micropub": "^1.0.0-beta.18",
-        "@indiekit/endpoint-posts": "^1.0.0-beta.18",
+        "@indiekit/endpoint-media": "^1.0.0-beta.19",
+        "@indiekit/endpoint-micropub": "^1.0.0-beta.19",
+        "@indiekit/endpoint-posts": "^1.0.0-beta.19",
         "@indiekit/endpoint-share": "^1.0.0-beta.15",
         "@indiekit/endpoint-syndicate": "^1.0.0-beta.15",
-        "@indiekit/frontend": "^1.0.0-beta.18",
+        "@indiekit/frontend": "^1.0.0-beta.19",
         "@indiekit/post-type-article": "^1.0.0-beta.10",
-        "@indiekit/post-type-bookmark": "^1.0.0-beta.18",
-        "@indiekit/post-type-like": "^1.0.0-beta.18",
+        "@indiekit/post-type-bookmark": "^1.0.0-beta.19",
+        "@indiekit/post-type-like": "^1.0.0-beta.19",
         "@indiekit/post-type-note": "^1.0.0-beta.8",
         "@indiekit/post-type-photo": "^1.0.0-beta.15",
-        "@indiekit/post-type-reply": "^1.0.0-beta.18",
+        "@indiekit/post-type-reply": "^1.0.0-beta.19",
         "@indiekit/preset-jekyll": "^1.0.0-beta.15",
-        "@indiekit/util": "^1.0.0-beta.18",
+        "@indiekit/util": "^1.0.0-beta.19",
         "@keyv/mongo": "^3.0.0",
         "clean-stack": "^5.0.0",
         "commander": "^12.0.0",
@@ -23074,10 +23074,10 @@
     },
     "packages/post-type-audio": {
       "name": "@indiekit/post-type-audio",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23085,10 +23085,10 @@
     },
     "packages/post-type-bookmark": {
       "name": "@indiekit/post-type-bookmark",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23096,10 +23096,10 @@
     },
     "packages/post-type-event": {
       "name": "@indiekit/post-type-event",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23107,10 +23107,10 @@
     },
     "packages/post-type-jam": {
       "name": "@indiekit/post-type-jam",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23118,10 +23118,10 @@
     },
     "packages/post-type-like": {
       "name": "@indiekit/post-type-like",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23145,10 +23145,10 @@
     },
     "packages/post-type-reply": {
       "name": "@indiekit/post-type-reply",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23156,10 +23156,10 @@
     },
     "packages/post-type-repost": {
       "name": "@indiekit/post-type-repost",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23167,10 +23167,10 @@
     },
     "packages/post-type-rsvp": {
       "name": "@indiekit/post-type-rsvp",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23178,10 +23178,10 @@
     },
     "packages/post-type-video": {
       "name": "@indiekit/post-type-video",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
-        "@indiekit/util": "^1.0.0-beta.18"
+        "@indiekit/util": "^1.0.0-beta.19"
       },
       "engines": {
         "node": ">=20"
@@ -23337,7 +23337,7 @@
     },
     "packages/store-bitbucket": {
       "name": "@indiekit/store-bitbucket",
-      "version": "1.0.0-beta.15",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15",
@@ -23349,7 +23349,7 @@
     },
     "packages/store-file-system": {
       "name": "@indiekit/store-file-system",
-      "version": "1.0.0-beta.15",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15"
@@ -23360,7 +23360,7 @@
     },
     "packages/store-ftp": {
       "name": "@indiekit/store-ftp",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15",
@@ -23372,7 +23372,7 @@
     },
     "packages/store-gitea": {
       "name": "@indiekit/store-gitea",
-      "version": "1.0.0-beta.15",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15"
@@ -23383,7 +23383,7 @@
     },
     "packages/store-github": {
       "name": "@indiekit/store-github",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15",
@@ -23412,7 +23412,7 @@
     },
     "packages/store-gitlab": {
       "name": "@indiekit/store-gitlab",
-      "version": "1.0.0-beta.15",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@gitbeaker/rest": "^40.0.0",
@@ -23424,7 +23424,7 @@
     },
     "packages/store-s3": {
       "name": "@indiekit/store-s3",
-      "version": "1.0.0-beta.15",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@aws-sdk/client-s3": "^3.540.0",
@@ -23447,11 +23447,11 @@
     },
     "packages/syndicator-mastodon": {
       "name": "@indiekit/syndicator-mastodon",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@indiekit/error": "^1.0.0-beta.15",
-        "@indiekit/util": "^1.0.0-beta.18",
+        "@indiekit/util": "^1.0.0-beta.19",
         "brevity": "^0.2.9",
         "html-to-text": "^9.0.0",
         "masto": "^6.0.0"
@@ -23462,7 +23462,7 @@
     },
     "packages/util": {
       "name": "@indiekit/util",
-      "version": "1.0.0-beta.18",
+      "version": "1.0.0-beta.19",
       "license": "MIT",
       "dependencies": {
         "@date-fns/tz": "^1.0.2",
diff --git a/packages/create-indiekit/CHANGELOG.md b/packages/create-indiekit/CHANGELOG.md
index c19f3b5fd..6c6691e0f 100644
--- a/packages/create-indiekit/CHANGELOG.md
+++ b/packages/create-indiekit/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package create-indiekit
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package create-indiekit
diff --git a/packages/create-indiekit/package.json b/packages/create-indiekit/package.json
index 1940a16ce..12f6cffec 100644
--- a/packages/create-indiekit/package.json
+++ b/packages/create-indiekit/package.json
@@ -1,6 +1,6 @@
 {
   "name": "create-indiekit",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Get started with Indiekit",
   "keywords": [
     "express",
@@ -39,12 +39,12 @@
     "@indiekit/preset-eleventy": "^1.0.0-beta.10",
     "@indiekit/preset-hugo": "^1.0.0-beta.10",
     "@indiekit/preset-jekyll": "^1.0.0-beta.15",
-    "@indiekit/store-bitbucket": "^1.0.0-beta.15",
-    "@indiekit/store-ftp": "^1.0.0-beta.18",
-    "@indiekit/store-gitea": "^1.0.0-beta.15",
-    "@indiekit/store-github": "^1.0.0-beta.18",
-    "@indiekit/store-gitlab": "^1.0.0-beta.15",
-    "@indiekit/syndicator-mastodon": "^1.0.0-beta.18",
+    "@indiekit/store-bitbucket": "^1.0.0-beta.19",
+    "@indiekit/store-ftp": "^1.0.0-beta.19",
+    "@indiekit/store-gitea": "^1.0.0-beta.19",
+    "@indiekit/store-github": "^1.0.0-beta.19",
+    "@indiekit/store-gitlab": "^1.0.0-beta.19",
+    "@indiekit/syndicator-mastodon": "^1.0.0-beta.19",
     "base-create": "^3.0.7",
     "chalk": "^5.0.0",
     "prompts": "^2.4.2",
diff --git a/packages/endpoint-auth/CHANGELOG.md b/packages/endpoint-auth/CHANGELOG.md
index f6c7a8b9e..f608509f5 100644
--- a/packages/endpoint-auth/CHANGELOG.md
+++ b/packages/endpoint-auth/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/endpoint-auth
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 
diff --git a/packages/endpoint-auth/package.json b/packages/endpoint-auth/package.json
index 6ccef0e11..37d2611a5 100644
--- a/packages/endpoint-auth/package.json
+++ b/packages/endpoint-auth/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/endpoint-auth",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "IndieAuth authentication and authorization endpoint for Indiekit. Grants and verifies access tokens and authenticates users.",
   "keywords": [
     "indiekit",
@@ -36,7 +36,7 @@
   },
   "dependencies": {
     "@indiekit/error": "^1.0.0-beta.15",
-    "@indiekit/util": "^1.0.0-beta.18",
+    "@indiekit/util": "^1.0.0-beta.19",
     "bcrypt": "^5.1.0",
     "express": "^4.17.1",
     "express-validator": "^7.0.0",
diff --git a/packages/endpoint-media/CHANGELOG.md b/packages/endpoint-media/CHANGELOG.md
index 86cfe4c0c..c7d3bc9f0 100644
--- a/packages/endpoint-media/CHANGELOG.md
+++ b/packages/endpoint-media/CHANGELOG.md
@@ -3,6 +3,23 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **endpoint-media:** add debug dependency ([3d702e2](https://github.com/getindiekit/indiekit/commit/3d702e2f7c6763271f544808206a90ef926028dd))
+* **endpoint-media:** resize image while keeping original orientation ([0d51c95](https://github.com/getindiekit/indiekit/commit/0d51c95db8dd07c78630d04fa612ffa62a9b922a))
+
+
+### Features
+
+* **endpoint-media:** replace existing if uploading media with the same url ([fc24e1c](https://github.com/getindiekit/indiekit/commit/fc24e1cebd416268b478a72a98abc97d56dc4aef))
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/endpoint-media
diff --git a/packages/endpoint-media/package.json b/packages/endpoint-media/package.json
index 9392649c6..7e0306996 100644
--- a/packages/endpoint-media/package.json
+++ b/packages/endpoint-media/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/endpoint-media",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Micropub media endpoint for Indiekit. Enables publishing media files (audio, photos, videos) to your website using the Micropub protocol.",
   "keywords": [
     "indiekit",
@@ -34,7 +34,7 @@
   },
   "dependencies": {
     "@indiekit/error": "^1.0.0-beta.15",
-    "@indiekit/util": "^1.0.0-beta.18",
+    "@indiekit/util": "^1.0.0-beta.19",
     "debug": "^4.3.2",
     "deepmerge": "^4.3.1",
     "express": "^4.17.1",
diff --git a/packages/endpoint-micropub/CHANGELOG.md b/packages/endpoint-micropub/CHANGELOG.md
index f2b0c1a3c..0dbf0a9f6 100644
--- a/packages/endpoint-micropub/CHANGELOG.md
+++ b/packages/endpoint-micropub/CHANGELOG.md
@@ -3,6 +3,24 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **endpoint-micropub:** add debug dependency ([ca92293](https://github.com/getindiekit/indiekit/commit/ca92293c7533707b6a89989bd152caad4223e13b))
+* **endpoint-micropub:** remove deprecated checkKeys option ([330e023](https://github.com/getindiekit/indiekit/commit/330e023783c45fe6e3d944e8f8e994bb7859ab41))
+
+
+### Features
+
+* **endpoint-micropub:** replace existing if creating a post with the same url ([b3b0baa](https://github.com/getindiekit/indiekit/commit/b3b0baa7b3ea5cddabb264c10fec625e85c394b6))
+* **endpoint-micropub:** use md5 hash of published date as final option for a slug ([2ea5a8c](https://github.com/getindiekit/indiekit/commit/2ea5a8c7af9f0706da6fc043b921470119fdd711))
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 
diff --git a/packages/endpoint-micropub/package.json b/packages/endpoint-micropub/package.json
index e1045e1ab..81799f0e9 100644
--- a/packages/endpoint-micropub/package.json
+++ b/packages/endpoint-micropub/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/endpoint-micropub",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Micropub endpoint for Indiekit. Enables publishing content to your website using the Micropub protocol.",
   "keywords": [
     "indiekit",
@@ -34,7 +34,7 @@
   },
   "dependencies": {
     "@indiekit/error": "^1.0.0-beta.15",
-    "@indiekit/util": "^1.0.0-beta.18",
+    "@indiekit/util": "^1.0.0-beta.19",
     "@paulrobertlloyd/mf2tojf2": "^2.1.0",
     "debug": "^4.3.2",
     "express": "^4.17.1",
diff --git a/packages/endpoint-posts/CHANGELOG.md b/packages/endpoint-posts/CHANGELOG.md
index 4cbcc25bc..4014b4de0 100644
--- a/packages/endpoint-posts/CHANGELOG.md
+++ b/packages/endpoint-posts/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/endpoint-posts
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/endpoint-posts
diff --git a/packages/endpoint-posts/package.json b/packages/endpoint-posts/package.json
index d049e5ef2..19a7300f8 100644
--- a/packages/endpoint-posts/package.json
+++ b/packages/endpoint-posts/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/endpoint-posts",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Post management endpoint for Indiekit. View posts published by your Micropub endpoint and publish new posts to it.",
   "keywords": [
     "indiekit",
@@ -35,10 +35,10 @@
     "directory": "packages/endpoint-posts"
   },
   "dependencies": {
-    "@indiekit/endpoint-micropub": "^1.0.0-beta.18",
+    "@indiekit/endpoint-micropub": "^1.0.0-beta.19",
     "@indiekit/error": "^1.0.0-beta.15",
-    "@indiekit/frontend": "^1.0.0-beta.18",
-    "@indiekit/util": "^1.0.0-beta.18",
+    "@indiekit/frontend": "^1.0.0-beta.19",
+    "@indiekit/util": "^1.0.0-beta.19",
     "@paulrobertlloyd/mf2tojf2": "^2.1.0",
     "express": "^4.17.1",
     "express-validator": "^7.0.0",
diff --git a/packages/frontend/CHANGELOG.md b/packages/frontend/CHANGELOG.md
index d23c8f205..b1a086759 100644
--- a/packages/frontend/CHANGELOG.md
+++ b/packages/frontend/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/frontend
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 
diff --git a/packages/frontend/package.json b/packages/frontend/package.json
index fe3e04d3c..c484f1304 100644
--- a/packages/frontend/package.json
+++ b/packages/frontend/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/frontend",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Frontend components for Indiekit",
   "keywords": [
     "express",
@@ -38,7 +38,7 @@
   "dependencies": {
     "@accessible-components/tag-input": "^0.2.0",
     "@indiekit/error": "^1.0.0-beta.15",
-    "@indiekit/util": "^1.0.0-beta.18",
+    "@indiekit/util": "^1.0.0-beta.19",
     "@rollup/plugin-commonjs": "^28.0.0",
     "@rollup/plugin-node-resolve": "^15.0.0",
     "color": "^4.0.1",
diff --git a/packages/indiekit/CHANGELOG.md b/packages/indiekit/CHANGELOG.md
index 962f19a5a..584aef40d 100644
--- a/packages/indiekit/CHANGELOG.md
+++ b/packages/indiekit/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/indiekit
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 
diff --git a/packages/indiekit/package.json b/packages/indiekit/package.json
index 1cce7217d..7d456c1a2 100644
--- a/packages/indiekit/package.json
+++ b/packages/indiekit/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/indiekit",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "The little server that connects your website to the independent web",
   "keywords": [
     "express",
@@ -38,23 +38,23 @@
     "directory": "packages/indiekit"
   },
   "dependencies": {
-    "@indiekit/endpoint-auth": "^1.0.0-beta.18",
+    "@indiekit/endpoint-auth": "^1.0.0-beta.19",
     "@indiekit/endpoint-files": "^1.0.0-beta.15",
     "@indiekit/endpoint-image": "^1.0.0-beta.10",
-    "@indiekit/endpoint-media": "^1.0.0-beta.18",
-    "@indiekit/endpoint-micropub": "^1.0.0-beta.18",
-    "@indiekit/endpoint-posts": "^1.0.0-beta.18",
+    "@indiekit/endpoint-media": "^1.0.0-beta.19",
+    "@indiekit/endpoint-micropub": "^1.0.0-beta.19",
+    "@indiekit/endpoint-posts": "^1.0.0-beta.19",
     "@indiekit/endpoint-share": "^1.0.0-beta.15",
     "@indiekit/endpoint-syndicate": "^1.0.0-beta.15",
-    "@indiekit/frontend": "^1.0.0-beta.18",
+    "@indiekit/frontend": "^1.0.0-beta.19",
     "@indiekit/post-type-article": "^1.0.0-beta.10",
-    "@indiekit/post-type-bookmark": "^1.0.0-beta.18",
-    "@indiekit/post-type-like": "^1.0.0-beta.18",
+    "@indiekit/post-type-bookmark": "^1.0.0-beta.19",
+    "@indiekit/post-type-like": "^1.0.0-beta.19",
     "@indiekit/post-type-note": "^1.0.0-beta.8",
     "@indiekit/post-type-photo": "^1.0.0-beta.15",
-    "@indiekit/post-type-reply": "^1.0.0-beta.18",
+    "@indiekit/post-type-reply": "^1.0.0-beta.19",
     "@indiekit/preset-jekyll": "^1.0.0-beta.15",
-    "@indiekit/util": "^1.0.0-beta.18",
+    "@indiekit/util": "^1.0.0-beta.19",
     "@keyv/mongo": "^3.0.0",
     "clean-stack": "^5.0.0",
     "commander": "^12.0.0",
diff --git a/packages/post-type-audio/CHANGELOG.md b/packages/post-type-audio/CHANGELOG.md
index cbb77494a..ea27a8fa6 100644
--- a/packages/post-type-audio/CHANGELOG.md
+++ b/packages/post-type-audio/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/post-type-audio
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-audio
diff --git a/packages/post-type-audio/package.json b/packages/post-type-audio/package.json
index 5b2bd1d27..0c2f3e1f8 100644
--- a/packages/post-type-audio/package.json
+++ b/packages/post-type-audio/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-audio",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Audio post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-audio"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/post-type-bookmark/CHANGELOG.md b/packages/post-type-bookmark/CHANGELOG.md
index 10a082355..aa43500a4 100644
--- a/packages/post-type-bookmark/CHANGELOG.md
+++ b/packages/post-type-bookmark/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/post-type-bookmark
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-bookmark
diff --git a/packages/post-type-bookmark/package.json b/packages/post-type-bookmark/package.json
index 0e588620b..698667caa 100644
--- a/packages/post-type-bookmark/package.json
+++ b/packages/post-type-bookmark/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-bookmark",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Bookmark post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-bookmark"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/post-type-event/CHANGELOG.md b/packages/post-type-event/CHANGELOG.md
index cfd3dde18..0144603b3 100644
--- a/packages/post-type-event/CHANGELOG.md
+++ b/packages/post-type-event/CHANGELOG.md
@@ -3,6 +3,17 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **post-type-event:** add missing conditional for end property ([3e1a8a0](https://github.com/getindiekit/indiekit/commit/3e1a8a08aacbd9ddfbe7bd5dcc6cdee0ff9619b7))
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-event
diff --git a/packages/post-type-event/package.json b/packages/post-type-event/package.json
index 7c1d44f2c..975e9a70d 100644
--- a/packages/post-type-event/package.json
+++ b/packages/post-type-event/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-event",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Event post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-event"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/post-type-jam/CHANGELOG.md b/packages/post-type-jam/CHANGELOG.md
index 2f42d5675..b3f046f3b 100644
--- a/packages/post-type-jam/CHANGELOG.md
+++ b/packages/post-type-jam/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/post-type-jam
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-jam
diff --git a/packages/post-type-jam/package.json b/packages/post-type-jam/package.json
index a44bf4184..596bf60e4 100644
--- a/packages/post-type-jam/package.json
+++ b/packages/post-type-jam/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-jam",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Jam post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-jam"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/post-type-like/CHANGELOG.md b/packages/post-type-like/CHANGELOG.md
index b944ce9eb..0faeb99f0 100644
--- a/packages/post-type-like/CHANGELOG.md
+++ b/packages/post-type-like/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/post-type-like
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-like
diff --git a/packages/post-type-like/package.json b/packages/post-type-like/package.json
index 731296d47..bc3f9ca40 100644
--- a/packages/post-type-like/package.json
+++ b/packages/post-type-like/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-like",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Like post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-like"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/post-type-reply/CHANGELOG.md b/packages/post-type-reply/CHANGELOG.md
index 8004d18e0..19ee33750 100644
--- a/packages/post-type-reply/CHANGELOG.md
+++ b/packages/post-type-reply/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/post-type-reply
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-reply
diff --git a/packages/post-type-reply/package.json b/packages/post-type-reply/package.json
index 97973f14b..7fd3f9867 100644
--- a/packages/post-type-reply/package.json
+++ b/packages/post-type-reply/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-reply",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Reply post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-reply"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/post-type-repost/CHANGELOG.md b/packages/post-type-repost/CHANGELOG.md
index e65c49a6c..c6ffc4e3a 100644
--- a/packages/post-type-repost/CHANGELOG.md
+++ b/packages/post-type-repost/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/post-type-repost
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-repost
diff --git a/packages/post-type-repost/package.json b/packages/post-type-repost/package.json
index 9298ffb80..e238ebeda 100644
--- a/packages/post-type-repost/package.json
+++ b/packages/post-type-repost/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-repost",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Repost post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-repost"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/post-type-rsvp/CHANGELOG.md b/packages/post-type-rsvp/CHANGELOG.md
index 0e5789f8d..080be3253 100644
--- a/packages/post-type-rsvp/CHANGELOG.md
+++ b/packages/post-type-rsvp/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/post-type-rsvp
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-rsvp
diff --git a/packages/post-type-rsvp/package.json b/packages/post-type-rsvp/package.json
index 85f46139b..0a94e3d37 100644
--- a/packages/post-type-rsvp/package.json
+++ b/packages/post-type-rsvp/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-rsvp",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "RSVP post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-rsvp"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/post-type-video/CHANGELOG.md b/packages/post-type-video/CHANGELOG.md
index 7452d843c..b7e2be342 100644
--- a/packages/post-type-video/CHANGELOG.md
+++ b/packages/post-type-video/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/post-type-video
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/post-type-video
diff --git a/packages/post-type-video/package.json b/packages/post-type-video/package.json
index 911389a4f..5e93dfa85 100644
--- a/packages/post-type-video/package.json
+++ b/packages/post-type-video/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/post-type-video",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Video post type for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
     "directory": "packages/post-type-video"
   },
   "dependencies": {
-    "@indiekit/util": "^1.0.0-beta.18"
+    "@indiekit/util": "^1.0.0-beta.19"
   },
   "publishConfig": {
     "access": "public"
diff --git a/packages/store-bitbucket/CHANGELOG.md b/packages/store-bitbucket/CHANGELOG.md
index afee0b280..0b68728d1 100644
--- a/packages/store-bitbucket/CHANGELOG.md
+++ b/packages/store-bitbucket/CHANGELOG.md
@@ -3,6 +3,17 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Features
+
+* **store-bitbucket:** check if file exists before creating ([e394e4a](https://github.com/getindiekit/indiekit/commit/e394e4a17aa9fa644af5b9ad7d10b5e7358c79e5))
+
+
+
+
+
 # [1.0.0-beta.15](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2024-04-19)
 
 **Note:** Version bump only for package @indiekit/store-bitbucket
diff --git a/packages/store-bitbucket/package.json b/packages/store-bitbucket/package.json
index 4a37eef58..3fc76f580 100644
--- a/packages/store-bitbucket/package.json
+++ b/packages/store-bitbucket/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/store-bitbucket",
-  "version": "1.0.0-beta.15",
+  "version": "1.0.0-beta.19",
   "description": "Bitbucket content store adaptor for Indiekit",
   "keywords": [
     "indiekit",
diff --git a/packages/store-file-system/CHANGELOG.md b/packages/store-file-system/CHANGELOG.md
index e47fa6028..92ce595da 100644
--- a/packages/store-file-system/CHANGELOG.md
+++ b/packages/store-file-system/CHANGELOG.md
@@ -3,6 +3,17 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Features
+
+* **store-file-system:** check if file exists before creating ([1aa437e](https://github.com/getindiekit/indiekit/commit/1aa437ee2dcecb946bec3f4b599b72b3bac4284b))
+
+
+
+
+
 # [1.0.0-beta.15](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2024-04-19)
 
 **Note:** Version bump only for package @indiekit/store-file-system
diff --git a/packages/store-file-system/package.json b/packages/store-file-system/package.json
index f57961a27..76903b02c 100644
--- a/packages/store-file-system/package.json
+++ b/packages/store-file-system/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/store-file-system",
-  "version": "1.0.0-beta.15",
+  "version": "1.0.0-beta.19",
   "description": "File system content store adaptor for Indiekit",
   "keywords": [
     "indiekit",
diff --git a/packages/store-ftp/CHANGELOG.md b/packages/store-ftp/CHANGELOG.md
index 72aa811db..37a538b54 100644
--- a/packages/store-ftp/CHANGELOG.md
+++ b/packages/store-ftp/CHANGELOG.md
@@ -3,6 +3,17 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **store-ftp:** check if file exists before creating ([e50e32c](https://github.com/getindiekit/indiekit/commit/e50e32c8a643b5ad5a3b5022bff1207ea20ffaf1))
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/store-ftp
diff --git a/packages/store-ftp/package.json b/packages/store-ftp/package.json
index aa943a25a..68b688c55 100644
--- a/packages/store-ftp/package.json
+++ b/packages/store-ftp/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/store-ftp",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "FTP content store adaptor for Indiekit",
   "keywords": [
     "indiekit",
diff --git a/packages/store-gitea/CHANGELOG.md b/packages/store-gitea/CHANGELOG.md
index 775ddea23..284330f64 100644
--- a/packages/store-gitea/CHANGELOG.md
+++ b/packages/store-gitea/CHANGELOG.md
@@ -3,6 +3,18 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **store-gitea:** check if file exists before creating ([2512507](https://github.com/getindiekit/indiekit/commit/2512507ec47c92af31794546bdd0bb2c5d289465))
+* **store-gitea:** join file and instance paths to normalise client url ([3a83733](https://github.com/getindiekit/indiekit/commit/3a83733ae166652f0ca171265b6e4aec192fb453))
+
+
+
+
+
 # [1.0.0-beta.15](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2024-04-19)
 
 **Note:** Version bump only for package @indiekit/store-gitea
diff --git a/packages/store-gitea/package.json b/packages/store-gitea/package.json
index 7f9a7ee33..349007d94 100644
--- a/packages/store-gitea/package.json
+++ b/packages/store-gitea/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/store-gitea",
-  "version": "1.0.0-beta.15",
+  "version": "1.0.0-beta.19",
   "description": "Gitea content store adaptor for Indiekit",
   "keywords": [
     "indiekit",
diff --git a/packages/store-github/CHANGELOG.md b/packages/store-github/CHANGELOG.md
index 132f2970e..39ca974f8 100644
--- a/packages/store-github/CHANGELOG.md
+++ b/packages/store-github/CHANGELOG.md
@@ -3,6 +3,23 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **store-github:** add debug dependency. fixes [#763](https://github.com/getindiekit/indiekit/issues/763) ([bd2a3f7](https://github.com/getindiekit/indiekit/commit/bd2a3f70e4dc7a2a39cb34fa9781c1703788352b))
+* **store-github:** join file and instance paths to normalise client url ([a9ff68e](https://github.com/getindiekit/indiekit/commit/a9ff68ecb8beb1a0f1f213f8ca85ba404b6d365c))
+
+
+### Features
+
+* **store-github:** check if file exists before creating ([f89b8f1](https://github.com/getindiekit/indiekit/commit/f89b8f1142dacb070e2c34c4941b1142600acf4c))
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 
diff --git a/packages/store-github/package.json b/packages/store-github/package.json
index 722a48123..188f23e03 100644
--- a/packages/store-github/package.json
+++ b/packages/store-github/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/store-github",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "GitHub content store adaptor for Indiekit",
   "keywords": [
     "indiekit",
diff --git a/packages/store-gitlab/CHANGELOG.md b/packages/store-gitlab/CHANGELOG.md
index ef9032bbb..c4f4690ec 100644
--- a/packages/store-gitlab/CHANGELOG.md
+++ b/packages/store-gitlab/CHANGELOG.md
@@ -3,6 +3,18 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **store-gitlab:** check if file exists before creating ([101637b](https://github.com/getindiekit/indiekit/commit/101637b72b0dfb754dfc7b2b68220d0e62947900))
+* **store-gitlab:** update integration ([b4c88ce](https://github.com/getindiekit/indiekit/commit/b4c88ced4b70b85552a8499fca7bd6bb526a0fce))
+
+
+
+
+
 # [1.0.0-beta.15](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2024-04-19)
 
 **Note:** Version bump only for package @indiekit/store-gitlab
diff --git a/packages/store-gitlab/package.json b/packages/store-gitlab/package.json
index efa018cac..1c22ed535 100644
--- a/packages/store-gitlab/package.json
+++ b/packages/store-gitlab/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/store-gitlab",
-  "version": "1.0.0-beta.15",
+  "version": "1.0.0-beta.19",
   "description": "GitLab content store adaptor for Indiekit",
   "keywords": [
     "indiekit",
diff --git a/packages/store-s3/CHANGELOG.md b/packages/store-s3/CHANGELOG.md
index d2db2dd03..6f84c3b1a 100644
--- a/packages/store-s3/CHANGELOG.md
+++ b/packages/store-s3/CHANGELOG.md
@@ -3,6 +3,18 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Bug Fixes
+
+* **store-s3:** check if file exists before creating ([e1468c4](https://github.com/getindiekit/indiekit/commit/e1468c42955c033aca00213fe8b600f3c58e110c))
+* **store-s3:** copy file before deleting when moving ([c6dcb25](https://github.com/getindiekit/indiekit/commit/c6dcb25cc8fcbff495df12418e80a3d6dd6d91a6))
+
+
+
+
+
 # [1.0.0-beta.15](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2024-04-19)
 
 **Note:** Version bump only for package @indiekit/store-s3
diff --git a/packages/store-s3/package.json b/packages/store-s3/package.json
index 436ea9c0a..55e18910c 100644
--- a/packages/store-s3/package.json
+++ b/packages/store-s3/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/store-s3",
-  "version": "1.0.0-beta.15",
+  "version": "1.0.0-beta.19",
   "description": "S3-compatible content store adaptor for Indiekit",
   "keywords": [
     "indiekit",
diff --git a/packages/syndicator-mastodon/CHANGELOG.md b/packages/syndicator-mastodon/CHANGELOG.md
index c85d8460d..5ce8f3a9e 100644
--- a/packages/syndicator-mastodon/CHANGELOG.md
+++ b/packages/syndicator-mastodon/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+**Note:** Version bump only for package @indiekit/syndicator-mastodon
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/syndicator-mastodon
diff --git a/packages/syndicator-mastodon/package.json b/packages/syndicator-mastodon/package.json
index 1f50b3587..828daa4b2 100644
--- a/packages/syndicator-mastodon/package.json
+++ b/packages/syndicator-mastodon/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/syndicator-mastodon",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Mastodon syndicator for Indiekit",
   "keywords": [
     "indiekit",
@@ -35,7 +35,7 @@
   },
   "dependencies": {
     "@indiekit/error": "^1.0.0-beta.15",
-    "@indiekit/util": "^1.0.0-beta.18",
+    "@indiekit/util": "^1.0.0-beta.19",
     "brevity": "^0.2.9",
     "html-to-text": "^9.0.0",
     "masto": "^6.0.0"
diff --git a/packages/util/CHANGELOG.md b/packages/util/CHANGELOG.md
index 2738cb7fc..0c1564a20 100644
--- a/packages/util/CHANGELOG.md
+++ b/packages/util/CHANGELOG.md
@@ -3,6 +3,17 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [1.0.0-beta.19](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2024-10-08)
+
+
+### Features
+
+* **util:** md5 ([b09a8c4](https://github.com/getindiekit/indiekit/commit/b09a8c444b92d974cde3a9b3b98e2d80b3f8465b))
+
+
+
+
+
 # [1.0.0-beta.18](https://github.com/getindiekit/indiekit/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2024-08-25)
 
 **Note:** Version bump only for package @indiekit/util
diff --git a/packages/util/package.json b/packages/util/package.json
index 2d06a9a9f..402892147 100644
--- a/packages/util/package.json
+++ b/packages/util/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@indiekit/util",
-  "version": "1.0.0-beta.18",
+  "version": "1.0.0-beta.19",
   "description": "Common utilities for Indiekit",
   "author": {
     "name": "Paul Robert Lloyd",