diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index ce81fc13..8424f939 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/.github/workflows/gh-build.yml b/.github/workflows/gh-build.yml
index 87f4eee0..95a95226 100644
--- a/.github/workflows/gh-build.yml
+++ b/.github/workflows/gh-build.yml
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml
index 1959586e..efa1d017 100644
--- a/.github/workflows/gh-pages.yml
+++ b/.github/workflows/gh-pages.yml
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/.gitignore b/.gitignore
index d8347b52..28f7c64b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b836f5b6..ecbe9efd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/.gitmodules b/.gitmodules
index 91decf4c..aa7add04 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/.markdownlint.jsonc.license b/.markdownlint.jsonc.license
index b253ad42..fd85f13a 100644
--- a/.markdownlint.jsonc.license
+++ b/.markdownlint.jsonc.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/.npmignore b/.npmignore
index 7f60034a..6ab1b12a 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/.reuse/dep5 b/.reuse/dep5
index 0f4c7451..78ade489 100644
--- a/.reuse/dep5
+++ b/.reuse/dep5
@@ -10,27 +10,27 @@ Source: https://github.com/JohnXLivingston/peertube-plugin-livechat/
# License: ...
Files: CHANGELOG.md
-Copyright: 2024 John Livingston
+Copyright: 2024-2025 John Livingston
License: AGPL-3.0-only
Files: languages/*
-Copyright: 2024 John Livingston
+Copyright: 2024-2025 John Livingston
License: AGPL-3.0-only
Files: support/documentation/po/*
-Copyright: 2024 John Livingston
+Copyright: 2024-2025 John Livingston
License: AGPL-3.0-only
Files: support/documentation/content/en/*
-Copyright: 2024 John Livingston
+Copyright: 2024-2025 John Livingston
License: AGPL-3.0-only
Files: .github/ISSUE_TEMPLATE/*
-Copyright: 2024 John Livingston
+Copyright: 2024-2025 John Livingston
License: AGPL-3.0-only
Files: .github/PULL_REQUEST_TEMPLATE.md
-Copyright: 2024 John Livingston
+Copyright: 2024-2025 John Livingston
License: AGPL-3.0-only
Files: prosody-modules/mod_firewall/*
diff --git a/.stylelintrc.js b/.stylelintrc.js
index c79d5b56..458bd91b 100644
--- a/.stylelintrc.js
+++ b/.stylelintrc.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 9ea7a414..69ab3aac 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,5 +1,5 @@
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8b46c2e9..938bd3a9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,5 +1,5 @@
diff --git a/COPYRIGHT.md b/COPYRIGHT.md
index 1d895ca2..e93b8225 100644
--- a/COPYRIGHT.md
+++ b/COPYRIGHT.md
@@ -1,5 +1,5 @@
diff --git a/README.md b/README.md
index cc9da2d7..792e4e2f 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
diff --git a/ROADMAP.md b/ROADMAP.md
index 2cb8e92d..b45c7358 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -1,5 +1,5 @@
diff --git a/assets/images/bye.svg.license b/assets/images/bye.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/bye.svg.license
+++ b/assets/images/bye.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/images/copy.svg.license b/assets/images/copy.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/copy.svg.license
+++ b/assets/images/copy.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/images/help.svg.license b/assets/images/help.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/help.svg.license
+++ b/assets/images/help.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/images/logo.svg.license b/assets/images/logo.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/logo.svg.license
+++ b/assets/images/logo.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/images/moderator.svg.license b/assets/images/moderator.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/moderator.svg.license
+++ b/assets/images/moderator.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/images/new-window.svg.license b/assets/images/new-window.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/new-window.svg.license
+++ b/assets/images/new-window.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/images/talking-new-window.svg.license b/assets/images/talking-new-window.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/talking-new-window.svg.license
+++ b/assets/images/talking-new-window.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/images/talking.svg.license b/assets/images/talking.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/talking.svg.license
+++ b/assets/images/talking.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/images/url.svg.license b/assets/images/url.svg.license
index b253ad42..fd85f13a 100644
--- a/assets/images/url.svg.license
+++ b/assets/images/url.svg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/assets/styles/_utils.scss b/assets/styles/_utils.scss
index cf3dc274..9e4c1ae5 100644
--- a/assets/styles/_utils.scss
+++ b/assets/styles/_utils.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/_variables.scss b/assets/styles/_variables.scss
index e302d820..db361295 100644
--- a/assets/styles/_variables.scss
+++ b/assets/styles/_variables.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/admin/firewall/_firewall.scss b/assets/styles/admin/firewall/_firewall.scss
index 53cfb3a4..1d7130af 100644
--- a/assets/styles/admin/firewall/_firewall.scss
+++ b/assets/styles/admin/firewall/_firewall.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/configuration/_configuration.scss b/assets/styles/configuration/_configuration.scss
index 60c51c69..50364b9a 100644
--- a/assets/styles/configuration/_configuration.scss
+++ b/assets/styles/configuration/_configuration.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/configuration/elements/_channel-tabs.scss b/assets/styles/configuration/elements/_channel-tabs.scss
index d6b30c23..352e09ee 100644
--- a/assets/styles/configuration/elements/_channel-tabs.scss
+++ b/assets/styles/configuration/elements/_channel-tabs.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/configuration/elements/_index.scss b/assets/styles/configuration/elements/_index.scss
index 479df38f..3ffde6e0 100644
--- a/assets/styles/configuration/elements/_index.scss
+++ b/assets/styles/configuration/elements/_index.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/configuration/elements/_section-header.scss b/assets/styles/configuration/elements/_section-header.scss
index 50244871..88cf35d5 100644
--- a/assets/styles/configuration/elements/_section-header.scss
+++ b/assets/styles/configuration/elements/_section-header.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_dynamic-table-form.scss b/assets/styles/elements/_dynamic-table-form.scss
index bf34f911..ae7acc72 100644
--- a/assets/styles/elements/_dynamic-table-form.scss
+++ b/assets/styles/elements/_dynamic-table-form.scss
@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Mehdi Benadel
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_error.scss b/assets/styles/elements/_error.scss
index 00e87587..4c586e65 100644
--- a/assets/styles/elements/_error.scss
+++ b/assets/styles/elements/_error.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_help-button.scss b/assets/styles/elements/_help-button.scss
index e1221b53..7953aee2 100644
--- a/assets/styles/elements/_help-button.scss
+++ b/assets/styles/elements/_help-button.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_image-file-input.scss b/assets/styles/elements/_image-file-input.scss
index 918d4839..35a61676 100644
--- a/assets/styles/elements/_image-file-input.scss
+++ b/assets/styles/elements/_image-file-input.scss
@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Mehdi Benadel
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_index.scss b/assets/styles/elements/_index.scss
index 9565fe6f..5bdd8ad8 100644
--- a/assets/styles/elements/_index.scss
+++ b/assets/styles/elements/_index.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_share-chat.scss b/assets/styles/elements/_share-chat.scss
index a37dfae4..9b6c55a0 100644
--- a/assets/styles/elements/_share-chat.scss
+++ b/assets/styles/elements/_share-chat.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_spinner.scss b/assets/styles/elements/_spinner.scss
index 148a2be3..c1612803 100644
--- a/assets/styles/elements/_spinner.scss
+++ b/assets/styles/elements/_spinner.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_tags-input.scss b/assets/styles/elements/_tags-input.scss
index 49aea29f..de373310 100644
--- a/assets/styles/elements/_tags-input.scss
+++ b/assets/styles/elements/_tags-input.scss
@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Mehdi Benadel
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/elements/_token-list.scss b/assets/styles/elements/_token-list.scss
index 4fa7a50b..64b5553f 100644
--- a/assets/styles/elements/_token-list.scss
+++ b/assets/styles/elements/_token-list.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/list-rooms/_list-rooms.scss b/assets/styles/list-rooms/_list-rooms.scss
index aa601261..4023aa66 100644
--- a/assets/styles/list-rooms/_list-rooms.scss
+++ b/assets/styles/list-rooms/_list-rooms.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/mixins/_buttons.scss b/assets/styles/mixins/_buttons.scss
index 2bb7c9d2..fc23c463 100644
--- a/assets/styles/mixins/_buttons.scss
+++ b/assets/styles/mixins/_buttons.scss
@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Mehdi Benadel
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/mixins/tables.scss b/assets/styles/mixins/tables.scss
index 7db800ad..96267bdc 100644
--- a/assets/styles/mixins/tables.scss
+++ b/assets/styles/mixins/tables.scss
@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Mehdi Benadel
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/style.scss b/assets/styles/style.scss
index 8b627c84..56140c79 100644
--- a/assets/styles/style.scss
+++ b/assets/styles/style.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/video/_button.scss b/assets/styles/video/_button.scss
index ae3ef6a3..917a863c 100644
--- a/assets/styles/video/_button.scss
+++ b/assets/styles/video/_button.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/video/_container.scss b/assets/styles/video/_container.scss
index f0b187c2..a9fe595f 100644
--- a/assets/styles/video/_container.scss
+++ b/assets/styles/video/_container.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/assets/styles/video/_index.scss b/assets/styles/video/_index.scss
index 3048c9f0..1819cb41 100644
--- a/assets/styles/video/_index.scss
+++ b/assets/styles/video/_index.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/build-avatars.js b/build-avatars.js
index 114b0ce3..b94f2f87 100755
--- a/build-avatars.js
+++ b/build-avatars.js
@@ -1,6 +1,6 @@
#!/usr/bin/env node
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2025 Mehdi Benadel
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/build-client.js b/build-client.js
index 461be46c..deef2304 100644
--- a/build-client.js
+++ b/build-client.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/build-languages.js b/build-languages.js
index 7ac8429a..c0d09f74 100644
--- a/build-languages.js
+++ b/build-languages.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/build-prosody.sh b/build-prosody.sh
index 46f0d712..d89318f1 100644
--- a/build-prosody.sh
+++ b/build-prosody.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
# SPDX-FileCopyrightText: 2025 Mehdi Benadel
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/@types/global.d.ts b/client/@types/global.d.ts
index 41a1853a..2e93d9c7 100644
--- a/client/@types/global.d.ts
+++ b/client/@types/global.d.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/admin-plugin-client-plugin.ts b/client/admin-plugin-client-plugin.ts
index 4cae57d1..edca443b 100644
--- a/client/admin-plugin-client-plugin.ts
+++ b/client/admin-plugin-client-plugin.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common-client-plugin.ts b/client/common-client-plugin.ts
index 05b4bc2c..4f2e0879 100644
--- a/client/common-client-plugin.ts
+++ b/client/common-client-plugin.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/admin/firewall/elements/admin-firewall.ts b/client/common/admin/firewall/elements/admin-firewall.ts
index 7ef0db68..b5fd3b3e 100644
--- a/client/common/admin/firewall/elements/admin-firewall.ts
+++ b/client/common/admin/firewall/elements/admin-firewall.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/admin/firewall/elements/index.ts b/client/common/admin/firewall/elements/index.ts
index 71940db2..fd788968 100644
--- a/client/common/admin/firewall/elements/index.ts
+++ b/client/common/admin/firewall/elements/index.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/admin/firewall/register.ts b/client/common/admin/firewall/register.ts
index a9e63d45..89db89f2 100644
--- a/client/common/admin/firewall/register.ts
+++ b/client/common/admin/firewall/register.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/admin/firewall/services/admin-firewall.ts b/client/common/admin/firewall/services/admin-firewall.ts
index e4cc908a..1b425451 100644
--- a/client/common/admin/firewall/services/admin-firewall.ts
+++ b/client/common/admin/firewall/services/admin-firewall.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/admin/firewall/templates/admin-firewall.ts b/client/common/admin/firewall/templates/admin-firewall.ts
index 0d929d60..548777c8 100644
--- a/client/common/admin/firewall/templates/admin-firewall.ts
+++ b/client/common/admin/firewall/templates/admin-firewall.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/configuration/elements/channel-configuration.ts b/client/common/configuration/elements/channel-configuration.ts
index c15038fd..1a428445 100644
--- a/client/common/configuration/elements/channel-configuration.ts
+++ b/client/common/configuration/elements/channel-configuration.ts
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/configuration/elements/channel-emojis.ts b/client/common/configuration/elements/channel-emojis.ts
index d6957153..330b186b 100644
--- a/client/common/configuration/elements/channel-emojis.ts
+++ b/client/common/configuration/elements/channel-emojis.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/configuration/elements/channel-tabs.ts b/client/common/configuration/elements/channel-tabs.ts
index ab31f80e..af58ccb1 100644
--- a/client/common/configuration/elements/channel-tabs.ts
+++ b/client/common/configuration/elements/channel-tabs.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/configuration/elements/index.js b/client/common/configuration/elements/index.js
index 8df7d4ea..ead09120 100644
--- a/client/common/configuration/elements/index.js
+++ b/client/common/configuration/elements/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/configuration/elements/templates/channel-configuration.ts b/client/common/configuration/elements/templates/channel-configuration.ts
index 4c653986..2b3e206b 100644
--- a/client/common/configuration/elements/templates/channel-configuration.ts
+++ b/client/common/configuration/elements/templates/channel-configuration.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/configuration/elements/templates/channel-emojis.ts b/client/common/configuration/elements/templates/channel-emojis.ts
index e0764452..eb70d579 100644
--- a/client/common/configuration/elements/templates/channel-emojis.ts
+++ b/client/common/configuration/elements/templates/channel-emojis.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/configuration/register.ts b/client/common/configuration/register.ts
index 447d524e..ca666f3b 100644
--- a/client/common/configuration/register.ts
+++ b/client/common/configuration/register.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/configuration/services/channel-details.ts b/client/common/configuration/services/channel-details.ts
index ee731fc7..f19c791f 100644
--- a/client/common/configuration/services/channel-details.ts
+++ b/client/common/configuration/services/channel-details.ts
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/buttons.ts b/client/common/lib/buttons.ts
index a51e8dff..c4ca2125 100644
--- a/client/common/lib/buttons.ts
+++ b/client/common/lib/buttons.ts
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/configuration-section-header.ts b/client/common/lib/elements/configuration-section-header.ts
index 6c99b934..6ef9d0e6 100644
--- a/client/common/lib/elements/configuration-section-header.ts
+++ b/client/common/lib/elements/configuration-section-header.ts
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/dynamic-table-form.ts b/client/common/lib/elements/dynamic-table-form.ts
index e8ba4332..cd38143a 100644
--- a/client/common/lib/elements/dynamic-table-form.ts
+++ b/client/common/lib/elements/dynamic-table-form.ts
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/error.ts b/client/common/lib/elements/error.ts
index 3fcc7037..548177dc 100644
--- a/client/common/lib/elements/error.ts
+++ b/client/common/lib/elements/error.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/image-file-input.ts b/client/common/lib/elements/image-file-input.ts
index 02f1a150..a112cb8e 100644
--- a/client/common/lib/elements/image-file-input.ts
+++ b/client/common/lib/elements/image-file-input.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/index.js b/client/common/lib/elements/index.js
index cca16edd..75c3f9b2 100644
--- a/client/common/lib/elements/index.js
+++ b/client/common/lib/elements/index.js
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/livechat.ts b/client/common/lib/elements/livechat.ts
index ba4bfc00..c3fba055 100644
--- a/client/common/lib/elements/livechat.ts
+++ b/client/common/lib/elements/livechat.ts
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/spinner.ts b/client/common/lib/elements/spinner.ts
index 3d93479b..8651abe1 100644
--- a/client/common/lib/elements/spinner.ts
+++ b/client/common/lib/elements/spinner.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/tags-input.ts b/client/common/lib/elements/tags-input.ts
index 9f8b6666..ef4d5f98 100644
--- a/client/common/lib/elements/tags-input.ts
+++ b/client/common/lib/elements/tags-input.ts
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2024 Mehdi Benadel
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/templates/token-list.ts b/client/common/lib/elements/templates/token-list.ts
index cb55ba69..b5bfab07 100644
--- a/client/common/lib/elements/templates/token-list.ts
+++ b/client/common/lib/elements/templates/token-list.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/elements/token-list.ts b/client/common/lib/elements/token-list.ts
index 79ebbcf5..d0f4b8b8 100644
--- a/client/common/lib/elements/token-list.ts
+++ b/client/common/lib/elements/token-list.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/lib/services/token-list.ts b/client/common/lib/services/token-list.ts
index 95e7ac00..46920e24 100644
--- a/client/common/lib/services/token-list.ts
+++ b/client/common/lib/services/token-list.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/room/register.ts b/client/common/room/register.ts
index f0e384a6..1b2bb2b9 100644
--- a/client/common/room/register.ts
+++ b/client/common/room/register.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/button.ts b/client/common/videowatch/button.ts
index 0da190c0..967391af 100644
--- a/client/common/videowatch/button.ts
+++ b/client/common/videowatch/button.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/buttons.ts b/client/common/videowatch/buttons.ts
index 324948a4..c68da1fc 100644
--- a/client/common/videowatch/buttons.ts
+++ b/client/common/videowatch/buttons.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/chat.ts b/client/common/videowatch/chat.ts
index 7521dbfd..9b3e585d 100644
--- a/client/common/videowatch/chat.ts
+++ b/client/common/videowatch/chat.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/elements/index.ts b/client/common/videowatch/elements/index.ts
index fb13e24a..3bf9bbcc 100644
--- a/client/common/videowatch/elements/index.ts
+++ b/client/common/videowatch/elements/index.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/elements/share-chat.ts b/client/common/videowatch/elements/share-chat.ts
index 2f4d41b6..47705b39 100644
--- a/client/common/videowatch/elements/share-chat.ts
+++ b/client/common/videowatch/elements/share-chat.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/elements/templates/share-chat.ts b/client/common/videowatch/elements/templates/share-chat.ts
index 8aadc4dc..8db371d2 100644
--- a/client/common/videowatch/elements/templates/share-chat.ts
+++ b/client/common/videowatch/elements/templates/share-chat.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/register.ts b/client/common/videowatch/register.ts
index 4d431d6d..e7f6356e 100644
--- a/client/common/videowatch/register.ts
+++ b/client/common/videowatch/register.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/share.ts b/client/common/videowatch/share.ts
index e73e69a9..d0cb0b9f 100644
--- a/client/common/videowatch/share.ts
+++ b/client/common/videowatch/share.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/common/videowatch/uri.ts b/client/common/videowatch/uri.ts
index d35c6425..04de3e53 100644
--- a/client/common/videowatch/uri.ts
+++ b/client/common/videowatch/uri.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/settings.ts b/client/settings.ts
index ccfdd28c..028a568a 100644
--- a/client/settings.ts
+++ b/client/settings.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/tsconfig.json.license b/client/tsconfig.json.license
index 0549bba9..2b9c87ba 100644
--- a/client/tsconfig.json.license
+++ b/client/tsconfig.json.license
@@ -1,4 +1,4 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-FileCopyrightText: 2025 Mehdi Benadel
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/utils/colors.ts b/client/utils/colors.ts
index f8024f33..22b29c56 100644
--- a/client/utils/colors.ts
+++ b/client/utils/colors.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/utils/conversejs.ts b/client/utils/conversejs.ts
index de7ca7d6..4d24ef5d 100644
--- a/client/utils/conversejs.ts
+++ b/client/utils/conversejs.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable @typescript-eslint/no-unsafe-function-type */
diff --git a/client/utils/help.ts b/client/utils/help.ts
index d7d40159..da05fda3 100644
--- a/client/utils/help.ts
+++ b/client/utils/help.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/utils/logger.ts b/client/utils/logger.ts
index 26d1b658..318d40ad 100644
--- a/client/utils/logger.ts
+++ b/client/utils/logger.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/utils/uri.ts b/client/utils/uri.ts
index 3def4c54..a74221f3 100644
--- a/client/utils/uri.ts
+++ b/client/utils/uri.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/client/utils/user.ts b/client/utils/user.ts
index d36bdde3..293fb67a 100644
--- a/client/utils/user.ts
+++ b/client/utils/user.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/build-conversejs-patch-i18n.js b/conversejs/build-conversejs-patch-i18n.js
index 1a1360ed..42f92898 100644
--- a/conversejs/build-conversejs-patch-i18n.js
+++ b/conversejs/build-conversejs-patch-i18n.js
@@ -1,6 +1,6 @@
#!/usr/bin/env node
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2025 Mehdi Benadel
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/build-conversejs.sh b/conversejs/build-conversejs.sh
index 4dc994dc..ebaafda8 100644
--- a/conversejs/build-conversejs.sh
+++ b/conversejs/build-conversejs.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
# SPDX-FileCopyrightText: 2025 Mehdi Benadel
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/builtin.ts b/conversejs/builtin.ts
index 08b490c5..2df3a2a1 100644
--- a/conversejs/builtin.ts
+++ b/conversejs/builtin.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/entry.js b/conversejs/custom/entry.js
index c24d77d0..c0b75737 100644
--- a/conversejs/custom/entry.js
+++ b/conversejs/custom/entry.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/index.js b/conversejs/custom/index.js
index 1e54d2a7..2e29910c 100644
--- a/conversejs/custom/index.js
+++ b/conversejs/custom/index.js
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2013-2018 JC Brand
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: MPL-2.0
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/livechat-external-login-content.js b/conversejs/custom/livechat-external-login-content.js
index 5bca5b5c..a0171166 100644
--- a/conversejs/custom/livechat-external-login-content.js
+++ b/conversejs/custom/livechat-external-login-content.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/livechat-patch-vcard.js b/conversejs/custom/livechat-patch-vcard.js
index e108f71d..125f90b2 100644
--- a/conversejs/custom/livechat-patch-vcard.js
+++ b/conversejs/custom/livechat-patch-vcard.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/api.js b/conversejs/custom/plugins/mam-search/api.js
index 77fe71fe..43704033 100644
--- a/conversejs/custom/plugins/mam-search/api.js
+++ b/conversejs/custom/plugins/mam-search/api.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/components/muc-mam-search-app-view.js b/conversejs/custom/plugins/mam-search/components/muc-mam-search-app-view.js
index 71150f30..d0ca75ea 100644
--- a/conversejs/custom/plugins/mam-search/components/muc-mam-search-app-view.js
+++ b/conversejs/custom/plugins/mam-search/components/muc-mam-search-app-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/components/muc-mam-search-message-view.js b/conversejs/custom/plugins/mam-search/components/muc-mam-search-message-view.js
index 60023641..050fae50 100644
--- a/conversejs/custom/plugins/mam-search/components/muc-mam-search-message-view.js
+++ b/conversejs/custom/plugins/mam-search/components/muc-mam-search-message-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/components/muc-mam-search-occupant-view.js b/conversejs/custom/plugins/mam-search/components/muc-mam-search-occupant-view.js
index 85251ff5..2dade1ab 100644
--- a/conversejs/custom/plugins/mam-search/components/muc-mam-search-occupant-view.js
+++ b/conversejs/custom/plugins/mam-search/components/muc-mam-search-occupant-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/constants.js b/conversejs/custom/plugins/mam-search/constants.js
index c92dd4a2..d71cefbd 100644
--- a/conversejs/custom/plugins/mam-search/constants.js
+++ b/conversejs/custom/plugins/mam-search/constants.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/index.js b/conversejs/custom/plugins/mam-search/index.js
index 1af95426..5e859c42 100644
--- a/conversejs/custom/plugins/mam-search/index.js
+++ b/conversejs/custom/plugins/mam-search/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/styles/muc-mam-search-message.scss b/conversejs/custom/plugins/mam-search/styles/muc-mam-search-message.scss
index 2001bad6..341e210d 100644
--- a/conversejs/custom/plugins/mam-search/styles/muc-mam-search-message.scss
+++ b/conversejs/custom/plugins/mam-search/styles/muc-mam-search-message.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/mam-search/styles/muc-mam-search-occupant.scss b/conversejs/custom/plugins/mam-search/styles/muc-mam-search-occupant.scss
index 2678b926..478f9e0b 100644
--- a/conversejs/custom/plugins/mam-search/styles/muc-mam-search-occupant.scss
+++ b/conversejs/custom/plugins/mam-search/styles/muc-mam-search-occupant.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/mam-search/templates/muc-mam-search-app.js b/conversejs/custom/plugins/mam-search/templates/muc-mam-search-app.js
index 2182f7ad..bc19c584 100644
--- a/conversejs/custom/plugins/mam-search/templates/muc-mam-search-app.js
+++ b/conversejs/custom/plugins/mam-search/templates/muc-mam-search-app.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/templates/muc-mam-search-message.js b/conversejs/custom/plugins/mam-search/templates/muc-mam-search-message.js
index d345ea8a..dd67266a 100644
--- a/conversejs/custom/plugins/mam-search/templates/muc-mam-search-message.js
+++ b/conversejs/custom/plugins/mam-search/templates/muc-mam-search-message.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/templates/muc-mam-search-occupant.js b/conversejs/custom/plugins/mam-search/templates/muc-mam-search-occupant.js
index 6d9553a9..e1893ce1 100644
--- a/conversejs/custom/plugins/mam-search/templates/muc-mam-search-occupant.js
+++ b/conversejs/custom/plugins/mam-search/templates/muc-mam-search-occupant.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/mam-search/utils.js b/conversejs/custom/plugins/mam-search/utils.js
index 59139add..4ac49a47 100644
--- a/conversejs/custom/plugins/mam-search/utils.js
+++ b/conversejs/custom/plugins/mam-search/utils.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/api.js b/conversejs/custom/plugins/notes/api.js
index 14d92260..66247d1b 100644
--- a/conversejs/custom/plugins/notes/api.js
+++ b/conversejs/custom/plugins/notes/api.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/components/muc-note-app-view.js b/conversejs/custom/plugins/notes/components/muc-note-app-view.js
index 4747fab0..c4d9bebb 100644
--- a/conversejs/custom/plugins/notes/components/muc-note-app-view.js
+++ b/conversejs/custom/plugins/notes/components/muc-note-app-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/components/muc-note-occupant-view.js b/conversejs/custom/plugins/notes/components/muc-note-occupant-view.js
index f7121f5f..380e4829 100644
--- a/conversejs/custom/plugins/notes/components/muc-note-occupant-view.js
+++ b/conversejs/custom/plugins/notes/components/muc-note-occupant-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/components/muc-note-view.js b/conversejs/custom/plugins/notes/components/muc-note-view.js
index 3e80130e..4a5f629f 100644
--- a/conversejs/custom/plugins/notes/components/muc-note-view.js
+++ b/conversejs/custom/plugins/notes/components/muc-note-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/components/muc-notes-view.js b/conversejs/custom/plugins/notes/components/muc-notes-view.js
index c393f1bc..934bc18a 100644
--- a/conversejs/custom/plugins/notes/components/muc-notes-view.js
+++ b/conversejs/custom/plugins/notes/components/muc-notes-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/constants.js b/conversejs/custom/plugins/notes/constants.js
index baefcc00..42f4902c 100644
--- a/conversejs/custom/plugins/notes/constants.js
+++ b/conversejs/custom/plugins/notes/constants.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/index.js b/conversejs/custom/plugins/notes/index.js
index d20c805f..c1dc6ad5 100644
--- a/conversejs/custom/plugins/notes/index.js
+++ b/conversejs/custom/plugins/notes/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/note-pubsub-manager.js b/conversejs/custom/plugins/notes/note-pubsub-manager.js
index 3b0dbece..158eff40 100644
--- a/conversejs/custom/plugins/notes/note-pubsub-manager.js
+++ b/conversejs/custom/plugins/notes/note-pubsub-manager.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/note.js b/conversejs/custom/plugins/notes/note.js
index 482ecca1..63744614 100644
--- a/conversejs/custom/plugins/notes/note.js
+++ b/conversejs/custom/plugins/notes/note.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/notes.js b/conversejs/custom/plugins/notes/notes.js
index f957fd36..e0273102 100644
--- a/conversejs/custom/plugins/notes/notes.js
+++ b/conversejs/custom/plugins/notes/notes.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/styles/muc-note-occupant.scss b/conversejs/custom/plugins/notes/styles/muc-note-occupant.scss
index 185caa3d..b5559e97 100644
--- a/conversejs/custom/plugins/notes/styles/muc-note-occupant.scss
+++ b/conversejs/custom/plugins/notes/styles/muc-note-occupant.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/notes/styles/muc-note.scss b/conversejs/custom/plugins/notes/styles/muc-note.scss
index d0dc986a..32d6feb8 100644
--- a/conversejs/custom/plugins/notes/styles/muc-note.scss
+++ b/conversejs/custom/plugins/notes/styles/muc-note.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/notes/styles/muc-notes.scss b/conversejs/custom/plugins/notes/styles/muc-notes.scss
index 2dedc47b..9db64205 100644
--- a/conversejs/custom/plugins/notes/styles/muc-notes.scss
+++ b/conversejs/custom/plugins/notes/styles/muc-notes.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/notes/templates/muc-note-app.js b/conversejs/custom/plugins/notes/templates/muc-note-app.js
index 3ce7c093..50ce22cf 100644
--- a/conversejs/custom/plugins/notes/templates/muc-note-app.js
+++ b/conversejs/custom/plugins/notes/templates/muc-note-app.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/templates/muc-note-occupant.js b/conversejs/custom/plugins/notes/templates/muc-note-occupant.js
index 8dd28894..2ee9c176 100644
--- a/conversejs/custom/plugins/notes/templates/muc-note-occupant.js
+++ b/conversejs/custom/plugins/notes/templates/muc-note-occupant.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/templates/muc-note.js b/conversejs/custom/plugins/notes/templates/muc-note.js
index 3139055f..1e4fbb43 100644
--- a/conversejs/custom/plugins/notes/templates/muc-note.js
+++ b/conversejs/custom/plugins/notes/templates/muc-note.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/templates/muc-notes.js b/conversejs/custom/plugins/notes/templates/muc-notes.js
index ee50d3e3..833ff956 100644
--- a/conversejs/custom/plugins/notes/templates/muc-notes.js
+++ b/conversejs/custom/plugins/notes/templates/muc-notes.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/notes/utils.js b/conversejs/custom/plugins/notes/utils.js
index 3b5fa8a4..c411b791 100644
--- a/conversejs/custom/plugins/notes/utils.js
+++ b/conversejs/custom/plugins/notes/utils.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/poll/components/poll-form-view.js b/conversejs/custom/plugins/poll/components/poll-form-view.js
index 9182b847..d3e75b46 100644
--- a/conversejs/custom/plugins/poll/components/poll-form-view.js
+++ b/conversejs/custom/plugins/poll/components/poll-form-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
import { XMLNS_POLL } from '../constants.js'
diff --git a/conversejs/custom/plugins/poll/components/poll-view.js b/conversejs/custom/plugins/poll/components/poll-view.js
index a51c5d02..dade925f 100644
--- a/conversejs/custom/plugins/poll/components/poll-view.js
+++ b/conversejs/custom/plugins/poll/components/poll-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/poll/constants.js b/conversejs/custom/plugins/poll/constants.js
index 3b998795..11248933 100644
--- a/conversejs/custom/plugins/poll/constants.js
+++ b/conversejs/custom/plugins/poll/constants.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/poll/index.js b/conversejs/custom/plugins/poll/index.js
index 0aca42f7..d7dae4d3 100644
--- a/conversejs/custom/plugins/poll/index.js
+++ b/conversejs/custom/plugins/poll/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/poll/modals/poll-form.js b/conversejs/custom/plugins/poll/modals/poll-form.js
index fc3fc0d9..2b2b4dc8 100644
--- a/conversejs/custom/plugins/poll/modals/poll-form.js
+++ b/conversejs/custom/plugins/poll/modals/poll-form.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/poll/styles/poll-form.scss b/conversejs/custom/plugins/poll/styles/poll-form.scss
index 4c53338e..b1e89004 100644
--- a/conversejs/custom/plugins/poll/styles/poll-form.scss
+++ b/conversejs/custom/plugins/poll/styles/poll-form.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/poll/styles/poll.scss b/conversejs/custom/plugins/poll/styles/poll.scss
index 1f4248f9..3bd8788a 100644
--- a/conversejs/custom/plugins/poll/styles/poll.scss
+++ b/conversejs/custom/plugins/poll/styles/poll.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/poll/templates/poll-form.js b/conversejs/custom/plugins/poll/templates/poll-form.js
index d26d2629..12f40434 100644
--- a/conversejs/custom/plugins/poll/templates/poll-form.js
+++ b/conversejs/custom/plugins/poll/templates/poll-form.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/poll/templates/poll.js b/conversejs/custom/plugins/poll/templates/poll.js
index d205eb70..3537a58c 100644
--- a/conversejs/custom/plugins/poll/templates/poll.js
+++ b/conversejs/custom/plugins/poll/templates/poll.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/poll/utils.js b/conversejs/custom/plugins/poll/utils.js
index 4dbe4e52..3d813d39 100644
--- a/conversejs/custom/plugins/poll/utils.js
+++ b/conversejs/custom/plugins/poll/utils.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/size/index.js b/conversejs/custom/plugins/size/index.js
index 3ac9b54c..e637624d 100644
--- a/conversejs/custom/plugins/size/index.js
+++ b/conversejs/custom/plugins/size/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/components/muc-task-app-view.js b/conversejs/custom/plugins/tasks/components/muc-task-app-view.js
index d1b8378e..5c832f0f 100644
--- a/conversejs/custom/plugins/tasks/components/muc-task-app-view.js
+++ b/conversejs/custom/plugins/tasks/components/muc-task-app-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/components/muc-task-list-view.js b/conversejs/custom/plugins/tasks/components/muc-task-list-view.js
index 8688468c..4996da63 100644
--- a/conversejs/custom/plugins/tasks/components/muc-task-list-view.js
+++ b/conversejs/custom/plugins/tasks/components/muc-task-list-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/components/muc-task-lists-view.js b/conversejs/custom/plugins/tasks/components/muc-task-lists-view.js
index a04faa2e..32f71ff9 100644
--- a/conversejs/custom/plugins/tasks/components/muc-task-lists-view.js
+++ b/conversejs/custom/plugins/tasks/components/muc-task-lists-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/components/muc-task-view.js b/conversejs/custom/plugins/tasks/components/muc-task-view.js
index db7bfdda..3f892d1f 100644
--- a/conversejs/custom/plugins/tasks/components/muc-task-view.js
+++ b/conversejs/custom/plugins/tasks/components/muc-task-view.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/constants.js b/conversejs/custom/plugins/tasks/constants.js
index cc6a2c81..5424f8ef 100644
--- a/conversejs/custom/plugins/tasks/constants.js
+++ b/conversejs/custom/plugins/tasks/constants.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/index.js b/conversejs/custom/plugins/tasks/index.js
index 8c7b53fb..11e07b90 100644
--- a/conversejs/custom/plugins/tasks/index.js
+++ b/conversejs/custom/plugins/tasks/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/modals/pick-task-list.js b/conversejs/custom/plugins/tasks/modals/pick-task-list.js
index 1c5e1701..8b65d73c 100644
--- a/conversejs/custom/plugins/tasks/modals/pick-task-list.js
+++ b/conversejs/custom/plugins/tasks/modals/pick-task-list.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/modals/templates/pick-task-list.js b/conversejs/custom/plugins/tasks/modals/templates/pick-task-list.js
index 932c3083..05ed8311 100644
--- a/conversejs/custom/plugins/tasks/modals/templates/pick-task-list.js
+++ b/conversejs/custom/plugins/tasks/modals/templates/pick-task-list.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/styles/muc-task-lists.scss b/conversejs/custom/plugins/tasks/styles/muc-task-lists.scss
index f0ee6a7b..00a4385b 100644
--- a/conversejs/custom/plugins/tasks/styles/muc-task-lists.scss
+++ b/conversejs/custom/plugins/tasks/styles/muc-task-lists.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/tasks/styles/muc-tasks.scss b/conversejs/custom/plugins/tasks/styles/muc-tasks.scss
index df512e81..1cfa506c 100644
--- a/conversejs/custom/plugins/tasks/styles/muc-tasks.scss
+++ b/conversejs/custom/plugins/tasks/styles/muc-tasks.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/plugins/tasks/task-list.js b/conversejs/custom/plugins/tasks/task-list.js
index 09564263..7e0ed918 100644
--- a/conversejs/custom/plugins/tasks/task-list.js
+++ b/conversejs/custom/plugins/tasks/task-list.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/task-lists.js b/conversejs/custom/plugins/tasks/task-lists.js
index 17130a73..acbeecb3 100644
--- a/conversejs/custom/plugins/tasks/task-lists.js
+++ b/conversejs/custom/plugins/tasks/task-lists.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/task.js b/conversejs/custom/plugins/tasks/task.js
index 9bf9c6f6..9b5aa5a8 100644
--- a/conversejs/custom/plugins/tasks/task.js
+++ b/conversejs/custom/plugins/tasks/task.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/tasks.js b/conversejs/custom/plugins/tasks/tasks.js
index facc16d6..8553fefd 100644
--- a/conversejs/custom/plugins/tasks/tasks.js
+++ b/conversejs/custom/plugins/tasks/tasks.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/templates/muc-task-app.js b/conversejs/custom/plugins/tasks/templates/muc-task-app.js
index dde6a53d..6d4e7e84 100644
--- a/conversejs/custom/plugins/tasks/templates/muc-task-app.js
+++ b/conversejs/custom/plugins/tasks/templates/muc-task-app.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/templates/muc-task-list.js b/conversejs/custom/plugins/tasks/templates/muc-task-list.js
index f05d96b7..e5bd6441 100644
--- a/conversejs/custom/plugins/tasks/templates/muc-task-list.js
+++ b/conversejs/custom/plugins/tasks/templates/muc-task-list.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/templates/muc-task-lists.js b/conversejs/custom/plugins/tasks/templates/muc-task-lists.js
index efb02185..ed4972dd 100644
--- a/conversejs/custom/plugins/tasks/templates/muc-task-lists.js
+++ b/conversejs/custom/plugins/tasks/templates/muc-task-lists.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/templates/muc-task.js b/conversejs/custom/plugins/tasks/templates/muc-task.js
index 0bbcf34b..1bb442b3 100644
--- a/conversejs/custom/plugins/tasks/templates/muc-task.js
+++ b/conversejs/custom/plugins/tasks/templates/muc-task.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/tasks/utils.js b/conversejs/custom/plugins/tasks/utils.js
index 52e0162b..eb51d7c3 100644
--- a/conversejs/custom/plugins/tasks/utils.js
+++ b/conversejs/custom/plugins/tasks/utils.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/terms/components/muc-terms.js b/conversejs/custom/plugins/terms/components/muc-terms.js
index ee7d2468..5fc226b9 100644
--- a/conversejs/custom/plugins/terms/components/muc-terms.js
+++ b/conversejs/custom/plugins/terms/components/muc-terms.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/terms/index.js b/conversejs/custom/plugins/terms/index.js
index 95d25b61..55e89b10 100644
--- a/conversejs/custom/plugins/terms/index.js
+++ b/conversejs/custom/plugins/terms/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/plugins/terms/styles/muc-terms.scss b/conversejs/custom/plugins/terms/styles/muc-terms.scss
index 53ed4eed..01650bed 100644
--- a/conversejs/custom/plugins/terms/styles/muc-terms.scss
+++ b/conversejs/custom/plugins/terms/styles/muc-terms.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/shared/components/draggables/index.js b/conversejs/custom/shared/components/draggables/index.js
index 068cb50e..52337d81 100644
--- a/conversejs/custom/shared/components/draggables/index.js
+++ b/conversejs/custom/shared/components/draggables/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2025 Nicolas Chesnais
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/components/draggables/styles/draggables.scss b/conversejs/custom/shared/components/draggables/styles/draggables.scss
index 240dec95..62a5533b 100644
--- a/conversejs/custom/shared/components/draggables/styles/draggables.scss
+++ b/conversejs/custom/shared/components/draggables/styles/draggables.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
* SPDX-FileCopyrightText: 2025 Nicolas Chesnais
*
* SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/components/font-awesome.js b/conversejs/custom/shared/components/font-awesome.js
index 18ad7348..b04e3b6d 100644
--- a/conversejs/custom/shared/components/font-awesome.js
+++ b/conversejs/custom/shared/components/font-awesome.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/components/muc-app/index.js b/conversejs/custom/shared/components/muc-app/index.js
index 6c794868..6c5f1d1d 100644
--- a/conversejs/custom/shared/components/muc-app/index.js
+++ b/conversejs/custom/shared/components/muc-app/index.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/components/muc-app/styles/muc-app.scss b/conversejs/custom/shared/components/muc-app/styles/muc-app.scss
index 59eb23a7..c0d8bc82 100644
--- a/conversejs/custom/shared/components/muc-app/styles/muc-app.scss
+++ b/conversejs/custom/shared/components/muc-app/styles/muc-app.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/shared/components/muc-app/templates/muc-app.js b/conversejs/custom/shared/components/muc-app/templates/muc-app.js
index 85413da9..fee07d28 100644
--- a/conversejs/custom/shared/components/muc-app/templates/muc-app.js
+++ b/conversejs/custom/shared/components/muc-app/templates/muc-app.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/lib/help.js b/conversejs/custom/shared/lib/help.js
index 285e7337..6f8e1f45 100644
--- a/conversejs/custom/shared/lib/help.js
+++ b/conversejs/custom/shared/lib/help.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/lib/pubsub-manager.js b/conversejs/custom/shared/lib/pubsub-manager.js
index 9df114ef..40a923df 100644
--- a/conversejs/custom/shared/lib/pubsub-manager.js
+++ b/conversejs/custom/shared/lib/pubsub-manager.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/modals/livechat-external-login.js b/conversejs/custom/shared/modals/livechat-external-login.js
index 49f20771..c3ac8fff 100644
--- a/conversejs/custom/shared/modals/livechat-external-login.js
+++ b/conversejs/custom/shared/modals/livechat-external-login.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/styles/_announcements.scss b/conversejs/custom/shared/styles/_announcements.scss
index deeddd5c..a0b6acd6 100644
--- a/conversejs/custom/shared/styles/_announcements.scss
+++ b/conversejs/custom/shared/styles/_announcements.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/shared/styles/_peertubetheme.scss b/conversejs/custom/shared/styles/_peertubetheme.scss
index 6a8dc18c..6d8286bf 100644
--- a/conversejs/custom/shared/styles/_peertubetheme.scss
+++ b/conversejs/custom/shared/styles/_peertubetheme.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
* SPDX-FileCopyrightText: 2025 Nicolas Chesnais
*
* SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/styles/_variables.scss b/conversejs/custom/shared/styles/_variables.scss
index 828592fc..6e56e6f7 100644
--- a/conversejs/custom/shared/styles/_variables.scss
+++ b/conversejs/custom/shared/styles/_variables.scss
@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2013-2018 JC Brand
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/shared/styles/livechat.scss b/conversejs/custom/shared/styles/livechat.scss
index 1123b40e..6a8c6942 100644
--- a/conversejs/custom/shared/styles/livechat.scss
+++ b/conversejs/custom/shared/styles/livechat.scss
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2024 John Livingston
+ * SPDX-FileCopyrightText: 2024-2025 John Livingston
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
diff --git a/conversejs/custom/templates/background_logo.js b/conversejs/custom/templates/background_logo.js
index 4548f2a5..4072b572 100644
--- a/conversejs/custom/templates/background_logo.js
+++ b/conversejs/custom/templates/background_logo.js
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2013-2018 JC Brand
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: MPL-2.0
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/templates/livechat-external-login-modal.js b/conversejs/custom/templates/livechat-external-login-modal.js
index a9c4f565..e168d8c8 100644
--- a/conversejs/custom/templates/livechat-external-login-modal.js
+++ b/conversejs/custom/templates/livechat-external-login-modal.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/templates/muc-bottom-panel.js b/conversejs/custom/templates/muc-bottom-panel.js
index c761598c..71a0e1ae 100644
--- a/conversejs/custom/templates/muc-bottom-panel.js
+++ b/conversejs/custom/templates/muc-bottom-panel.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2025 Nicolas Chesnais
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/templates/muc-chatarea.js b/conversejs/custom/templates/muc-chatarea.js
index 88eab651..b9dcb1b6 100644
--- a/conversejs/custom/templates/muc-chatarea.js
+++ b/conversejs/custom/templates/muc-chatarea.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/templates/muc-head.js b/conversejs/custom/templates/muc-head.js
index ed6849b6..815a5aba 100644
--- a/conversejs/custom/templates/muc-head.js
+++ b/conversejs/custom/templates/muc-head.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/templates/muc.js b/conversejs/custom/templates/muc.js
index 3dfebd51..1de9136a 100644
--- a/conversejs/custom/templates/muc.js
+++ b/conversejs/custom/templates/muc.js
@@ -1,5 +1,5 @@
// SPDX-FileCopyrightText: 2013-2024 JC Brand
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: MPL-2.0
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/custom/webpack.livechat.js b/conversejs/custom/webpack.livechat.js
index 6825b35b..2fb13abe 100644
--- a/conversejs/custom/webpack.livechat.js
+++ b/conversejs/custom/webpack.livechat.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/index.html.license b/conversejs/index.html.license
index b253ad42..fd85f13a 100644
--- a/conversejs/index.html.license
+++ b/conversejs/index.html.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/@types/global.d.ts b/conversejs/lib/@types/global.d.ts
index 4c24d9e1..400e03c4 100644
--- a/conversejs/lib/@types/global.d.ts
+++ b/conversejs/lib/@types/global.d.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/auth.ts b/conversejs/lib/auth.ts
index b2ffac70..0694d150 100644
--- a/conversejs/lib/auth.ts
+++ b/conversejs/lib/auth.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/converse-params.ts b/conversejs/lib/converse-params.ts
index e1c9927a..6752f13b 100644
--- a/conversejs/lib/converse-params.ts
+++ b/conversejs/lib/converse-params.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/dom.ts b/conversejs/lib/dom.ts
index 5b7a84b3..be496d8c 100644
--- a/conversejs/lib/dom.ts
+++ b/conversejs/lib/dom.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/nick.ts b/conversejs/lib/nick.ts
index 0fd565d2..66b177f2 100644
--- a/conversejs/lib/nick.ts
+++ b/conversejs/lib/nick.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-announcements.ts b/conversejs/lib/plugins/livechat-announcements.ts
index 8ff899ba..5380587e 100644
--- a/conversejs/lib/plugins/livechat-announcements.ts
+++ b/conversejs/lib/plugins/livechat-announcements.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-emojis.ts b/conversejs/lib/plugins/livechat-emojis.ts
index d108d40b..1f4adcfe 100644
--- a/conversejs/lib/plugins/livechat-emojis.ts
+++ b/conversejs/lib/plugins/livechat-emojis.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-mini-muc-head.ts b/conversejs/lib/plugins/livechat-mini-muc-head.ts
index 49815919..7801bb20 100644
--- a/conversejs/lib/plugins/livechat-mini-muc-head.ts
+++ b/conversejs/lib/plugins/livechat-mini-muc-head.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific.ts b/conversejs/lib/plugins/livechat-specific.ts
index 3f499a34..44d636b9 100644
--- a/conversejs/lib/plugins/livechat-specific.ts
+++ b/conversejs/lib/plugins/livechat-specific.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/chatroom-message.ts b/conversejs/lib/plugins/livechat-specific/chatroom-message.ts
index 0dd5c49f..0e1fbb16 100644
--- a/conversejs/lib/plugins/livechat-specific/chatroom-message.ts
+++ b/conversejs/lib/plugins/livechat-specific/chatroom-message.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/chatroom.ts b/conversejs/lib/plugins/livechat-specific/chatroom.ts
index 5a82a8fe..cb57e310 100644
--- a/conversejs/lib/plugins/livechat-specific/chatroom.ts
+++ b/conversejs/lib/plugins/livechat-specific/chatroom.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/heading.ts b/conversejs/lib/plugins/livechat-specific/heading.ts
index 38170d14..142214c4 100644
--- a/conversejs/lib/plugins/livechat-specific/heading.ts
+++ b/conversejs/lib/plugins/livechat-specific/heading.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/message-action.ts b/conversejs/lib/plugins/livechat-specific/message-action.ts
index 15452174..0fa57636 100644
--- a/conversejs/lib/plugins/livechat-specific/message-action.ts
+++ b/conversejs/lib/plugins/livechat-specific/message-action.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/muc-bottom-panel.ts b/conversejs/lib/plugins/livechat-specific/muc-bottom-panel.ts
index 5ff33057..b9993190 100644
--- a/conversejs/lib/plugins/livechat-specific/muc-bottom-panel.ts
+++ b/conversejs/lib/plugins/livechat-specific/muc-bottom-panel.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/profile.ts b/conversejs/lib/plugins/livechat-specific/profile.ts
index fbb60bd6..02a83a06 100644
--- a/conversejs/lib/plugins/livechat-specific/profile.ts
+++ b/conversejs/lib/plugins/livechat-specific/profile.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/reconnection.ts b/conversejs/lib/plugins/livechat-specific/reconnection.ts
index b75bf488..76801c7e 100644
--- a/conversejs/lib/plugins/livechat-specific/reconnection.ts
+++ b/conversejs/lib/plugins/livechat-specific/reconnection.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/toolbar.ts b/conversejs/lib/plugins/livechat-specific/toolbar.ts
index 32bfeff5..2ddaccff 100644
--- a/conversejs/lib/plugins/livechat-specific/toolbar.ts
+++ b/conversejs/lib/plugins/livechat-specific/toolbar.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2025 Nicolas Chesnais
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-specific/utils.ts b/conversejs/lib/plugins/livechat-specific/utils.ts
index b81e3a4c..38e425dc 100644
--- a/conversejs/lib/plugins/livechat-specific/utils.ts
+++ b/conversejs/lib/plugins/livechat-specific/utils.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/livechat-viewer-mode.ts b/conversejs/lib/plugins/livechat-viewer-mode.ts
index b3d2cd7b..758f8b7b 100644
--- a/conversejs/lib/plugins/livechat-viewer-mode.ts
+++ b/conversejs/lib/plugins/livechat-viewer-mode.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/moderation-delay.ts b/conversejs/lib/plugins/moderation-delay.ts
index d8c6bfc7..85cd5559 100644
--- a/conversejs/lib/plugins/moderation-delay.ts
+++ b/conversejs/lib/plugins/moderation-delay.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/slow-mode.ts b/conversejs/lib/plugins/slow-mode.ts
index c03f7984..02e366ad 100644
--- a/conversejs/lib/plugins/slow-mode.ts
+++ b/conversejs/lib/plugins/slow-mode.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/plugins/window-title.ts b/conversejs/lib/plugins/window-title.ts
index 520c4c77..d08da56e 100644
--- a/conversejs/lib/plugins/window-title.ts
+++ b/conversejs/lib/plugins/window-title.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/lib/utils.ts b/conversejs/lib/utils.ts
index 924c5101..be36270f 100644
--- a/conversejs/lib/utils.ts
+++ b/conversejs/lib/utils.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/loc.keys.js b/conversejs/loc.keys.js
index e4b72e89..76a84bf5 100644
--- a/conversejs/loc.keys.js
+++ b/conversejs/loc.keys.js
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2025 Nicolas Chesnais
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/conversejs/tsconfig.json.license b/conversejs/tsconfig.json.license
index b253ad42..fd85f13a 100644
--- a/conversejs/tsconfig.json.license
+++ b/conversejs/tsconfig.json.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/doc-translate.sh b/doc-translate.sh
index 44f92d73..3990f84e 100644
--- a/doc-translate.sh
+++ b/doc-translate.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
# SPDX-FileCopyrightText: 2025 Mehdi Benadel
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/documentation/README.md b/documentation/README.md
index 9a808bad..5e6b97a7 100644
--- a/documentation/README.md
+++ b/documentation/README.md
@@ -1,5 +1,5 @@
diff --git a/documentation/admin.md b/documentation/admin.md
index c8c6fadf..199798a4 100644
--- a/documentation/admin.md
+++ b/documentation/admin.md
@@ -1,5 +1,5 @@
diff --git a/documentation/installation.de.md b/documentation/installation.de.md
index aa7b5249..3645199c 100644
--- a/documentation/installation.de.md
+++ b/documentation/installation.de.md
@@ -1,5 +1,5 @@
diff --git a/documentation/installation.fr.md b/documentation/installation.fr.md
index 4737a9c2..1dd61b52 100644
--- a/documentation/installation.fr.md
+++ b/documentation/installation.fr.md
@@ -1,5 +1,5 @@
diff --git a/documentation/installation.ja.md b/documentation/installation.ja.md
index f56fcfd4..4bb1cafc 100644
--- a/documentation/installation.ja.md
+++ b/documentation/installation.ja.md
@@ -1,5 +1,5 @@
diff --git a/documentation/installation.md b/documentation/installation.md
index cbaa102d..265b8e30 100644
--- a/documentation/installation.md
+++ b/documentation/installation.md
@@ -1,5 +1,5 @@
diff --git a/documentation/user.md b/documentation/user.md
index 710cbade..e0dbf4a6 100644
--- a/documentation/user.md
+++ b/documentation/user.md
@@ -1,5 +1,5 @@
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 12473156..36e0239f 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/package-lock.json.license b/package-lock.json.license
index 0549bba9..2b9c87ba 100644
--- a/package-lock.json.license
+++ b/package-lock.json.license
@@ -1,4 +1,4 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-FileCopyrightText: 2025 Mehdi Benadel
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/package.json.license b/package.json.license
index 0549bba9..2b9c87ba 100644
--- a/package.json.license
+++ b/package.json.license
@@ -1,4 +1,4 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-FileCopyrightText: 2025 Mehdi Benadel
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/prosody-modules/mod_auth_peertubelivechat_bot/README.md b/prosody-modules/mod_auth_peertubelivechat_bot/README.md
index 2d680a18..c87e4aab 100644
--- a/prosody-modules/mod_auth_peertubelivechat_bot/README.md
+++ b/prosody-modules/mod_auth_peertubelivechat_bot/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_auth_peertubelivechat_bot/mod_auth_peertubelivechat_bot.lua b/prosody-modules/mod_auth_peertubelivechat_bot/mod_auth_peertubelivechat_bot.lua
index 05edf448..29ff76f8 100644
--- a/prosody-modules/mod_auth_peertubelivechat_bot/mod_auth_peertubelivechat_bot.lua
+++ b/prosody-modules/mod_auth_peertubelivechat_bot/mod_auth_peertubelivechat_bot.lua
@@ -1,7 +1,7 @@
-- SPDX-FileCopyrightText: 2008-2013 Matthew Wild
-- SPDX-FileCopyrightText: 2008-2013 Waqas Hussain
-- SPDX-FileCopyrightText: 2014 Kim Alvefur
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
--
-- SPDX-License-Identifier: MIT
-- SPDX-License-Identifier: AGPL-3.0-only
diff --git a/prosody-modules/mod_http_peertubelivechat_manage_rooms/README.md b/prosody-modules/mod_http_peertubelivechat_manage_rooms/README.md
index 32bbfd84..b950c648 100644
--- a/prosody-modules/mod_http_peertubelivechat_manage_rooms/README.md
+++ b/prosody-modules/mod_http_peertubelivechat_manage_rooms/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_http_peertubelivechat_manage_rooms/mod_http_peertubelivechat_manage_rooms.lua b/prosody-modules/mod_http_peertubelivechat_manage_rooms/mod_http_peertubelivechat_manage_rooms.lua
index 69b1713b..5e16c83f 100644
--- a/prosody-modules/mod_http_peertubelivechat_manage_rooms/mod_http_peertubelivechat_manage_rooms.lua
+++ b/prosody-modules/mod_http_peertubelivechat_manage_rooms/mod_http_peertubelivechat_manage_rooms.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
--
-- SPDX-License-Identifier: AGPL-3.0-only
diff --git a/prosody-modules/mod_http_peertubelivechat_manage_users/README.md b/prosody-modules/mod_http_peertubelivechat_manage_users/README.md
index c62f86ef..6706e852 100644
--- a/prosody-modules/mod_http_peertubelivechat_manage_users/README.md
+++ b/prosody-modules/mod_http_peertubelivechat_manage_users/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_http_peertubelivechat_manage_users/mod_http_peertubelivechat_manage_users.lua b/prosody-modules/mod_http_peertubelivechat_manage_users/mod_http_peertubelivechat_manage_users.lua
index 183e0829..f7557bfe 100644
--- a/prosody-modules/mod_http_peertubelivechat_manage_users/mod_http_peertubelivechat_manage_users.lua
+++ b/prosody-modules/mod_http_peertubelivechat_manage_users/mod_http_peertubelivechat_manage_users.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
--
-- SPDX-License-Identifier: AGPL-3.0-only
diff --git a/prosody-modules/mod_http_peertubelivechat_test/README.md b/prosody-modules/mod_http_peertubelivechat_test/README.md
index efa3a55d..85f1a5d4 100644
--- a/prosody-modules/mod_http_peertubelivechat_test/README.md
+++ b/prosody-modules/mod_http_peertubelivechat_test/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_http_peertubelivechat_test/mod_http_peertubelivechat_test.lua b/prosody-modules/mod_http_peertubelivechat_test/mod_http_peertubelivechat_test.lua
index c7dd9c51..be1dd5e0 100644
--- a/prosody-modules/mod_http_peertubelivechat_test/mod_http_peertubelivechat_test.lua
+++ b/prosody-modules/mod_http_peertubelivechat_test/mod_http_peertubelivechat_test.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
--
-- SPDX-License-Identifier: AGPL-3.0-only
diff --git a/prosody-modules/mod_muc_anonymize_moderation_actions/README.markdown b/prosody-modules/mod_muc_anonymize_moderation_actions/README.markdown
index 62a1b323..865104c2 100644
--- a/prosody-modules/mod_muc_anonymize_moderation_actions/README.markdown
+++ b/prosody-modules/mod_muc_anonymize_moderation_actions/README.markdown
@@ -1,5 +1,5 @@
# mod_muc_anonymize_moderation_actions
diff --git a/prosody-modules/mod_muc_anonymize_moderation_actions/mod_muc_anonymize_moderation_actions.lua b/prosody-modules/mod_muc_anonymize_moderation_actions/mod_muc_anonymize_moderation_actions.lua
index 687d95f0..3c9a7802 100644
--- a/prosody-modules/mod_muc_anonymize_moderation_actions/mod_muc_anonymize_moderation_actions.lua
+++ b/prosody-modules/mod_muc_anonymize_moderation_actions/mod_muc_anonymize_moderation_actions.lua
@@ -1,6 +1,6 @@
-- mod_muc_anonymize_moderation_actions
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
-- form_position: the position in the room config form (this value will be passed as priority for the "muc-config-form" hook).
diff --git a/prosody-modules/mod_muc_http_defaults/mod_muc_http_defaults.lua b/prosody-modules/mod_muc_http_defaults/mod_muc_http_defaults.lua
index 7bbc5deb..3fa85601 100644
--- a/prosody-modules/mod_muc_http_defaults/mod_muc_http_defaults.lua
+++ b/prosody-modules/mod_muc_http_defaults/mod_muc_http_defaults.lua
@@ -1,5 +1,5 @@
-- SPDX-FileCopyrightText: 2021 Kim Alvefur
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
--
-- SPDX-License-Identifier: MIT
-- SPDX-License-Identifier: AGPL-3.0-only
diff --git a/prosody-modules/mod_muc_mam_search/README.markdown b/prosody-modules/mod_muc_mam_search/README.markdown
index 0ca73b79..86968ad8 100644
--- a/prosody-modules/mod_muc_mam_search/README.markdown
+++ b/prosody-modules/mod_muc_mam_search/README.markdown
@@ -1,5 +1,5 @@
# mod_muc_mam_search
diff --git a/prosody-modules/mod_muc_mam_search/archive.lib.lua b/prosody-modules/mod_muc_mam_search/archive.lib.lua
index d26be1e6..aa7d46db 100644
--- a/prosody-modules/mod_muc_mam_search/archive.lib.lua
+++ b/prosody-modules/mod_muc_mam_search/archive.lib.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
-- FIXME: these imports are copied from mod_muc_mam, we should avoid that.
diff --git a/prosody-modules/mod_muc_mam_search/filter.lib.lua b/prosody-modules/mod_muc_mam_search/filter.lib.lua
index e202c54f..c52de7c4 100644
--- a/prosody-modules/mod_muc_mam_search/filter.lib.lua
+++ b/prosody-modules/mod_muc_mam_search/filter.lib.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
-- Perform the search criteria.
diff --git a/prosody-modules/mod_muc_mam_search/mod_muc_mam_search.lua b/prosody-modules/mod_muc_mam_search/mod_muc_mam_search.lua
index 6a92c2aa..d620b306 100644
--- a/prosody-modules/mod_muc_mam_search/mod_muc_mam_search.lua
+++ b/prosody-modules/mod_muc_mam_search/mod_muc_mam_search.lua
@@ -1,6 +1,6 @@
-- mod_muc_mam_search
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
--
diff --git a/prosody-modules/mod_muc_moderation_delay/README.markdown b/prosody-modules/mod_muc_moderation_delay/README.markdown
index 2b1d7812..6b20a43d 100644
--- a/prosody-modules/mod_muc_moderation_delay/README.markdown
+++ b/prosody-modules/mod_muc_moderation_delay/README.markdown
@@ -1,5 +1,5 @@
# mod_muc_moderation_delay
diff --git a/prosody-modules/mod_muc_moderation_delay/config.lib.lua b/prosody-modules/mod_muc_moderation_delay/config.lib.lua
index 8bcd63dd..cdb14298 100644
--- a/prosody-modules/mod_muc_moderation_delay/config.lib.lua
+++ b/prosody-modules/mod_muc_moderation_delay/config.lib.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
-- Getter/Setter
diff --git a/prosody-modules/mod_muc_moderation_delay/delay.lib.lua b/prosody-modules/mod_muc_moderation_delay/delay.lib.lua
index 03d8ec64..95e30f8a 100644
--- a/prosody-modules/mod_muc_moderation_delay/delay.lib.lua
+++ b/prosody-modules/mod_muc_moderation_delay/delay.lib.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
local st = require "util.stanza";
local timer = require "util.timer";
diff --git a/prosody-modules/mod_muc_moderation_delay/mod_muc_moderation_delay.lua b/prosody-modules/mod_muc_moderation_delay/mod_muc_moderation_delay.lua
index 61d9abc1..24df87e2 100644
--- a/prosody-modules/mod_muc_moderation_delay/mod_muc_moderation_delay.lua
+++ b/prosody-modules/mod_muc_moderation_delay/mod_muc_moderation_delay.lua
@@ -1,6 +1,6 @@
-- mod_muc_moderation_delay
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
--
-- This file is AGPL-v3 licensed.
diff --git a/prosody-modules/mod_muc_peertubelivechat_announcements/README.markdown b/prosody-modules/mod_muc_peertubelivechat_announcements/README.markdown
index cd4fea72..3f8ed78a 100644
--- a/prosody-modules/mod_muc_peertubelivechat_announcements/README.markdown
+++ b/prosody-modules/mod_muc_peertubelivechat_announcements/README.markdown
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_muc_peertubelivechat_announcements/mod_muc_peertubelivechat_announcements.lua b/prosody-modules/mod_muc_peertubelivechat_announcements/mod_muc_peertubelivechat_announcements.lua
index e1a54b9a..5da9db2d 100644
--- a/prosody-modules/mod_muc_peertubelivechat_announcements/mod_muc_peertubelivechat_announcements.lua
+++ b/prosody-modules/mod_muc_peertubelivechat_announcements/mod_muc_peertubelivechat_announcements.lua
@@ -1,6 +1,6 @@
-- mod_muc_peertubelivechat_announcements
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
--
-- This file is AGPL-v3 licensed.
diff --git a/prosody-modules/mod_muc_peertubelivechat_restrict_message/README.markdown b/prosody-modules/mod_muc_peertubelivechat_restrict_message/README.markdown
index ccb0211c..1f36fe4e 100644
--- a/prosody-modules/mod_muc_peertubelivechat_restrict_message/README.markdown
+++ b/prosody-modules/mod_muc_peertubelivechat_restrict_message/README.markdown
@@ -1,5 +1,5 @@
# mod_muc_peertubelivechat_restrict_message
diff --git a/prosody-modules/mod_muc_peertubelivechat_restrict_message/mod_muc_peertubelivechat_restrict_message.lua b/prosody-modules/mod_muc_peertubelivechat_restrict_message/mod_muc_peertubelivechat_restrict_message.lua
index 0ac27b65..49928127 100644
--- a/prosody-modules/mod_muc_peertubelivechat_restrict_message/mod_muc_peertubelivechat_restrict_message.lua
+++ b/prosody-modules/mod_muc_peertubelivechat_restrict_message/mod_muc_peertubelivechat_restrict_message.lua
@@ -1,6 +1,6 @@
-- mod_muc_peertubelivechat_roles
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
--
-- This file is AGPL-v3 licensed.
diff --git a/prosody-modules/mod_muc_peertubelivechat_roles/README.md b/prosody-modules/mod_muc_peertubelivechat_roles/README.md
index ff028a9f..595cdbfd 100644
--- a/prosody-modules/mod_muc_peertubelivechat_roles/README.md
+++ b/prosody-modules/mod_muc_peertubelivechat_roles/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_muc_peertubelivechat_roles/mod_muc_peertubelivechat_roles.lua b/prosody-modules/mod_muc_peertubelivechat_roles/mod_muc_peertubelivechat_roles.lua
index 46feedc0..2887c55c 100644
--- a/prosody-modules/mod_muc_peertubelivechat_roles/mod_muc_peertubelivechat_roles.lua
+++ b/prosody-modules/mod_muc_peertubelivechat_roles/mod_muc_peertubelivechat_roles.lua
@@ -1,6 +1,6 @@
-- mod_muc_peertubelivechat_roles
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
--
-- This file is AGPL-v3 licensed.
diff --git a/prosody-modules/mod_muc_peertubelivechat_terms/README.md b/prosody-modules/mod_muc_peertubelivechat_terms/README.md
index 6bd5cadd..9f106b19 100644
--- a/prosody-modules/mod_muc_peertubelivechat_terms/README.md
+++ b/prosody-modules/mod_muc_peertubelivechat_terms/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_muc_peertubelivechat_terms/mod_muc_peertubelivechat_terms.lua b/prosody-modules/mod_muc_peertubelivechat_terms/mod_muc_peertubelivechat_terms.lua
index 18a165db..c23db525 100644
--- a/prosody-modules/mod_muc_peertubelivechat_terms/mod_muc_peertubelivechat_terms.lua
+++ b/prosody-modules/mod_muc_peertubelivechat_terms/mod_muc_peertubelivechat_terms.lua
@@ -1,6 +1,6 @@
-- mod_muc_peertubelivechat_terms
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
--
-- This file is AGPL-v3 licensed.
diff --git a/prosody-modules/mod_muc_poll/README.md b/prosody-modules/mod_muc_poll/README.md
index be61bb41..59b9a0df 100644
--- a/prosody-modules/mod_muc_poll/README.md
+++ b/prosody-modules/mod_muc_poll/README.md
@@ -1,5 +1,5 @@
# mod_muc_slow_pool
diff --git a/prosody-modules/mod_muc_poll/constants.lib.lua b/prosody-modules/mod_muc_poll/constants.lib.lua
index eca16ce0..79b1eb83 100644
--- a/prosody-modules/mod_muc_poll/constants.lib.lua
+++ b/prosody-modules/mod_muc_poll/constants.lib.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
-- FIXME: create a XEP to standardize this, and remove the "x-".
diff --git a/prosody-modules/mod_muc_poll/form.lib.lua b/prosody-modules/mod_muc_poll/form.lib.lua
index c86b7c3b..514e22ad 100644
--- a/prosody-modules/mod_muc_poll/form.lib.lua
+++ b/prosody-modules/mod_muc_poll/form.lib.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
local st = require "util.stanza";
diff --git a/prosody-modules/mod_muc_poll/message.lib.lua b/prosody-modules/mod_muc_poll/message.lib.lua
index 93612a0b..2e6ec287 100644
--- a/prosody-modules/mod_muc_poll/message.lib.lua
+++ b/prosody-modules/mod_muc_poll/message.lib.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
local id = require "util.id";
diff --git a/prosody-modules/mod_muc_poll/mod_muc_poll.lua b/prosody-modules/mod_muc_poll/mod_muc_poll.lua
index ff8594f3..ba867a9c 100644
--- a/prosody-modules/mod_muc_poll/mod_muc_poll.lua
+++ b/prosody-modules/mod_muc_poll/mod_muc_poll.lua
@@ -1,6 +1,6 @@
-- mod_muc_poll
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
--
-- This file is AGPL-v3 licensed.
diff --git a/prosody-modules/mod_muc_poll/poll.lib.lua b/prosody-modules/mod_muc_poll/poll.lib.lua
index 6e5f3afe..6469b994 100644
--- a/prosody-modules/mod_muc_poll/poll.lib.lua
+++ b/prosody-modules/mod_muc_poll/poll.lib.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
local id = require "util.id";
diff --git a/prosody-modules/mod_muc_slow_mode/README.markdown b/prosody-modules/mod_muc_slow_mode/README.markdown
index 772d4a11..1d2f3413 100644
--- a/prosody-modules/mod_muc_slow_mode/README.markdown
+++ b/prosody-modules/mod_muc_slow_mode/README.markdown
@@ -1,5 +1,5 @@
# mod_muc_slow_mode
diff --git a/prosody-modules/mod_muc_slow_mode/mod_muc_slow_mode.lua b/prosody-modules/mod_muc_slow_mode/mod_muc_slow_mode.lua
index 5ba8eb66..90e1444c 100644
--- a/prosody-modules/mod_muc_slow_mode/mod_muc_slow_mode.lua
+++ b/prosody-modules/mod_muc_slow_mode/mod_muc_slow_mode.lua
@@ -1,6 +1,6 @@
-- mod_muc_slow_mode
--
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
--
-- This file is AGPL-v3 licensed.
diff --git a/prosody-modules/mod_pubsub_peertubelivechat/README.md b/prosody-modules/mod_pubsub_peertubelivechat/README.md
index 62d143cc..716726fe 100644
--- a/prosody-modules/mod_pubsub_peertubelivechat/README.md
+++ b/prosody-modules/mod_pubsub_peertubelivechat/README.md
@@ -1,5 +1,5 @@
# mod_pubsub_peertubelivechat
diff --git a/prosody-modules/mod_pubsub_peertubelivechat/mod_pubsub_peertubelivechat.lua b/prosody-modules/mod_pubsub_peertubelivechat/mod_pubsub_peertubelivechat.lua
index 95afee23..99399415 100644
--- a/prosody-modules/mod_pubsub_peertubelivechat/mod_pubsub_peertubelivechat.lua
+++ b/prosody-modules/mod_pubsub_peertubelivechat/mod_pubsub_peertubelivechat.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
-- This module create sort of a MEP equivalent to PEP, but for MUC chatrooms.
diff --git a/prosody-modules/mod_random_vcard_peertubelivechat/README.md b/prosody-modules/mod_random_vcard_peertubelivechat/README.md
index f0979ec0..684716c3 100644
--- a/prosody-modules/mod_random_vcard_peertubelivechat/README.md
+++ b/prosody-modules/mod_random_vcard_peertubelivechat/README.md
@@ -1,5 +1,5 @@
# mod_random_vcard_peertubelivechat
diff --git a/prosody-modules/mod_random_vcard_peertubelivechat/mod_random_vcard_peertubelivechat.lua b/prosody-modules/mod_random_vcard_peertubelivechat/mod_random_vcard_peertubelivechat.lua
index e3e845d8..968cb610 100644
--- a/prosody-modules/mod_random_vcard_peertubelivechat/mod_random_vcard_peertubelivechat.lua
+++ b/prosody-modules/mod_random_vcard_peertubelivechat/mod_random_vcard_peertubelivechat.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
-- SPDX-License-Identifier: AGPL-3.0-only
local st = require "util.stanza";
diff --git a/prosody-modules/mod_s2s_peertubelivechat/README.md b/prosody-modules/mod_s2s_peertubelivechat/README.md
index 28f26378..7352209c 100644
--- a/prosody-modules/mod_s2s_peertubelivechat/README.md
+++ b/prosody-modules/mod_s2s_peertubelivechat/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_s2s_peertubelivechat/mod_s2s_peertubelivechat.lua b/prosody-modules/mod_s2s_peertubelivechat/mod_s2s_peertubelivechat.lua
index 00d581d9..74d5b054 100644
--- a/prosody-modules/mod_s2s_peertubelivechat/mod_s2s_peertubelivechat.lua
+++ b/prosody-modules/mod_s2s_peertubelivechat/mod_s2s_peertubelivechat.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
--
-- SPDX-License-Identifier: AGPL-3.0-only
diff --git a/prosody-modules/mod_vcard_peertubelivechat/README.md b/prosody-modules/mod_vcard_peertubelivechat/README.md
index 301f3844..f6237327 100644
--- a/prosody-modules/mod_vcard_peertubelivechat/README.md
+++ b/prosody-modules/mod_vcard_peertubelivechat/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_vcard_peertubelivechat/mod_vcard_peertubelivechat.lua b/prosody-modules/mod_vcard_peertubelivechat/mod_vcard_peertubelivechat.lua
index 7a5c4f40..11f32338 100644
--- a/prosody-modules/mod_vcard_peertubelivechat/mod_vcard_peertubelivechat.lua
+++ b/prosody-modules/mod_vcard_peertubelivechat/mod_vcard_peertubelivechat.lua
@@ -1,4 +1,4 @@
--- SPDX-FileCopyrightText: 2024 John Livingston
+-- SPDX-FileCopyrightText: 2024-2025 John Livingston
--
-- SPDX-License-Identifier: AGPL-3.0-only
diff --git a/prosody-modules/mod_websocket_s2s_peertubelivechat/README.md b/prosody-modules/mod_websocket_s2s_peertubelivechat/README.md
index c18d9504..baeddb1c 100644
--- a/prosody-modules/mod_websocket_s2s_peertubelivechat/README.md
+++ b/prosody-modules/mod_websocket_s2s_peertubelivechat/README.md
@@ -1,5 +1,5 @@
diff --git a/prosody-modules/mod_websocket_s2s_peertubelivechat/mod_websocket_s2s_peertubelivechat.lua b/prosody-modules/mod_websocket_s2s_peertubelivechat/mod_websocket_s2s_peertubelivechat.lua
index 6970ce7e..70a1f65b 100644
--- a/prosody-modules/mod_websocket_s2s_peertubelivechat/mod_websocket_s2s_peertubelivechat.lua
+++ b/prosody-modules/mod_websocket_s2s_peertubelivechat/mod_websocket_s2s_peertubelivechat.lua
@@ -1,5 +1,5 @@
-- SPDX-FileCopyrightText: 2012-2014 Florian Zeitz
--- SPDX-FileCopyrightText: 2023-2024 John Livingston
+-- SPDX-FileCopyrightText: 2023-2024-2025 John Livingston
--
-- SPDX-License-Identifier: MIT
-- SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/apikey.ts b/server/lib/apikey.ts
index 53017908..bcf3866d 100644
--- a/server/lib/apikey.ts
+++ b/server/lib/apikey.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/bots/ctl.ts b/server/lib/bots/ctl.ts
index 198f52f7..c3b9be2e 100644
--- a/server/lib/bots/ctl.ts
+++ b/server/lib/bots/ctl.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/configuration/bot.ts b/server/lib/configuration/bot.ts
index 08c574c0..8ceeb8ae 100644
--- a/server/lib/configuration/bot.ts
+++ b/server/lib/configuration/bot.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/configuration/channel/init.ts b/server/lib/configuration/channel/init.ts
index 97e1119b..403746bd 100644
--- a/server/lib/configuration/channel/init.ts
+++ b/server/lib/configuration/channel/init.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/configuration/channel/sanitize.ts b/server/lib/configuration/channel/sanitize.ts
index e7512a65..f6231349 100644
--- a/server/lib/configuration/channel/sanitize.ts
+++ b/server/lib/configuration/channel/sanitize.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/configuration/channel/storage.ts b/server/lib/configuration/channel/storage.ts
index 4c058056..42e5bc14 100644
--- a/server/lib/configuration/channel/storage.ts
+++ b/server/lib/configuration/channel/storage.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/conversejs/params.ts b/server/lib/conversejs/params.ts
index e2b3641f..52f0786e 100644
--- a/server/lib/conversejs/params.ts
+++ b/server/lib/conversejs/params.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/custom-fields.ts b/server/lib/custom-fields.ts
index bea3ac40..63ad974a 100644
--- a/server/lib/custom-fields.ts
+++ b/server/lib/custom-fields.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/database/channel.ts b/server/lib/database/channel.ts
index 0e273857..66e2009a 100644
--- a/server/lib/database/channel.ts
+++ b/server/lib/database/channel.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/debug.ts b/server/lib/debug.ts
index 9fd39490..13cd49cc 100644
--- a/server/lib/debug.ts
+++ b/server/lib/debug.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/diagnostic/backend.ts b/server/lib/diagnostic/backend.ts
index 640f7903..405a712f 100644
--- a/server/lib/diagnostic/backend.ts
+++ b/server/lib/diagnostic/backend.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/diagnostic/debug.ts b/server/lib/diagnostic/debug.ts
index 92c845b5..08311130 100644
--- a/server/lib/diagnostic/debug.ts
+++ b/server/lib/diagnostic/debug.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/diagnostic/external-auth-oidc.ts b/server/lib/diagnostic/external-auth-oidc.ts
index b6d1a8e9..b0fc638e 100644
--- a/server/lib/diagnostic/external-auth-oidc.ts
+++ b/server/lib/diagnostic/external-auth-oidc.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/diagnostic/index.ts b/server/lib/diagnostic/index.ts
index 5aac7074..69c2c1fd 100644
--- a/server/lib/diagnostic/index.ts
+++ b/server/lib/diagnostic/index.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/diagnostic/prosody.ts b/server/lib/diagnostic/prosody.ts
index 9bf87646..a38b1044 100644
--- a/server/lib/diagnostic/prosody.ts
+++ b/server/lib/diagnostic/prosody.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/diagnostic/utils.ts b/server/lib/diagnostic/utils.ts
index d4cec2f8..ae516a33 100644
--- a/server/lib/diagnostic/utils.ts
+++ b/server/lib/diagnostic/utils.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/diagnostic/video.ts b/server/lib/diagnostic/video.ts
index ae52309b..034adc92 100644
--- a/server/lib/diagnostic/video.ts
+++ b/server/lib/diagnostic/video.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/emojis/emojis.ts b/server/lib/emojis/emojis.ts
index 359edd20..bc018e80 100644
--- a/server/lib/emojis/emojis.ts
+++ b/server/lib/emojis/emojis.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/emojis/index.ts b/server/lib/emojis/index.ts
index 18eefae8..659675a6 100644
--- a/server/lib/emojis/index.ts
+++ b/server/lib/emojis/index.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/external-auth/error.ts b/server/lib/external-auth/error.ts
index 5f91a03e..483ad6a2 100644
--- a/server/lib/external-auth/error.ts
+++ b/server/lib/external-auth/error.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/external-auth/oidc.ts b/server/lib/external-auth/oidc.ts
index 62b16d55..a80694b8 100644
--- a/server/lib/external-auth/oidc.ts
+++ b/server/lib/external-auth/oidc.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/external-auth/types.ts b/server/lib/external-auth/types.ts
index 0f45b1aa..12e1f393 100644
--- a/server/lib/external-auth/types.ts
+++ b/server/lib/external-auth/types.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/federation/connection-infos.ts b/server/lib/federation/connection-infos.ts
index e2c884a2..f3b4da24 100644
--- a/server/lib/federation/connection-infos.ts
+++ b/server/lib/federation/connection-infos.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/federation/fetch-infos.ts b/server/lib/federation/fetch-infos.ts
index f29ec051..2bfa2f99 100644
--- a/server/lib/federation/fetch-infos.ts
+++ b/server/lib/federation/fetch-infos.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/federation/incoming.ts b/server/lib/federation/incoming.ts
index b440b696..a8353bf4 100644
--- a/server/lib/federation/incoming.ts
+++ b/server/lib/federation/incoming.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/federation/init.ts b/server/lib/federation/init.ts
index 6c64ad15..1a8df6fb 100644
--- a/server/lib/federation/init.ts
+++ b/server/lib/federation/init.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/federation/outgoing.ts b/server/lib/federation/outgoing.ts
index 811038aa..15a4f48d 100644
--- a/server/lib/federation/outgoing.ts
+++ b/server/lib/federation/outgoing.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/federation/sanitize.ts b/server/lib/federation/sanitize.ts
index 35275e2a..306242e0 100644
--- a/server/lib/federation/sanitize.ts
+++ b/server/lib/federation/sanitize.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/federation/storage.ts b/server/lib/federation/storage.ts
index 9703409a..484968a3 100644
--- a/server/lib/federation/storage.ts
+++ b/server/lib/federation/storage.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/federation/types.ts b/server/lib/federation/types.ts
index 613fbb55..ff128cff 100644
--- a/server/lib/federation/types.ts
+++ b/server/lib/federation/types.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/firewall/config.ts b/server/lib/firewall/config.ts
index b1a46767..9e565779 100644
--- a/server/lib/firewall/config.ts
+++ b/server/lib/firewall/config.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/helpers.ts b/server/lib/helpers.ts
index 422c95e3..cd88874c 100644
--- a/server/lib/helpers.ts
+++ b/server/lib/helpers.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/loc.ts b/server/lib/loc.ts
index f44d0548..bfc751f1 100644
--- a/server/lib/loc.ts
+++ b/server/lib/loc.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/middlewares/apikey.ts b/server/lib/middlewares/apikey.ts
index ff5aedfd..dd944def 100644
--- a/server/lib/middlewares/apikey.ts
+++ b/server/lib/middlewares/apikey.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/middlewares/async.ts b/server/lib/middlewares/async.ts
index 8a6c8a47..bb9527fc 100644
--- a/server/lib/middlewares/async.ts
+++ b/server/lib/middlewares/async.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/middlewares/configuration/channel.ts b/server/lib/middlewares/configuration/channel.ts
index 9284b909..37d39644 100644
--- a/server/lib/middlewares/configuration/channel.ts
+++ b/server/lib/middlewares/configuration/channel.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/middlewares/configuration/configuration.ts b/server/lib/middlewares/configuration/configuration.ts
index a0f12d35..e1211a0b 100644
--- a/server/lib/middlewares/configuration/configuration.ts
+++ b/server/lib/middlewares/configuration/configuration.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/middlewares/is-admin.ts b/server/lib/middlewares/is-admin.ts
index d220513c..f94215e9 100644
--- a/server/lib/middlewares/is-admin.ts
+++ b/server/lib/middlewares/is-admin.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/migration/settings.ts b/server/lib/migration/settings.ts
index f73f729f..4161e300 100644
--- a/server/lib/migration/settings.ts
+++ b/server/lib/migration/settings.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/api/host.ts b/server/lib/prosody/api/host.ts
index ccdcbd90..c2bb3399 100644
--- a/server/lib/prosody/api/host.ts
+++ b/server/lib/prosody/api/host.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/api/manage-rooms.ts b/server/lib/prosody/api/manage-rooms.ts
index f7358045..a417cf58 100644
--- a/server/lib/prosody/api/manage-rooms.ts
+++ b/server/lib/prosody/api/manage-rooms.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/api/manage-users.ts b/server/lib/prosody/api/manage-users.ts
index d2c7937b..e9e4b7fa 100644
--- a/server/lib/prosody/api/manage-users.ts
+++ b/server/lib/prosody/api/manage-users.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/auth.ts b/server/lib/prosody/auth.ts
index a47dff95..ee2b577e 100644
--- a/server/lib/prosody/auth.ts
+++ b/server/lib/prosody/auth.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/certificates.ts b/server/lib/prosody/certificates.ts
index 15420b90..3a23c44c 100644
--- a/server/lib/prosody/certificates.ts
+++ b/server/lib/prosody/certificates.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/config.ts b/server/lib/prosody/config.ts
index c7c5f999..08f93003 100644
--- a/server/lib/prosody/config.ts
+++ b/server/lib/prosody/config.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/config/affiliations.ts b/server/lib/prosody/config/affiliations.ts
index 19bc280a..2cd8e34c 100644
--- a/server/lib/prosody/config/affiliations.ts
+++ b/server/lib/prosody/config/affiliations.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/config/components.ts b/server/lib/prosody/config/components.ts
index 6d64bc7a..cf548b55 100644
--- a/server/lib/prosody/config/components.ts
+++ b/server/lib/prosody/config/components.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/config/content.ts b/server/lib/prosody/config/content.ts
index 2cbf3ca6..8d837970 100644
--- a/server/lib/prosody/config/content.ts
+++ b/server/lib/prosody/config/content.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/config/domain.ts b/server/lib/prosody/config/domain.ts
index 9f450bff..028a4063 100644
--- a/server/lib/prosody/config/domain.ts
+++ b/server/lib/prosody/config/domain.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/config/paths.ts b/server/lib/prosody/config/paths.ts
index 34f3f884..a6a0cf93 100644
--- a/server/lib/prosody/config/paths.ts
+++ b/server/lib/prosody/config/paths.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/ctl.ts b/server/lib/prosody/ctl.ts
index 1c6b6daa..f5de0014 100644
--- a/server/lib/prosody/ctl.ts
+++ b/server/lib/prosody/ctl.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2024 OPNA2608
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/fix-room-subject.ts b/server/lib/prosody/fix-room-subject.ts
index 4e7948e1..699ae024 100644
--- a/server/lib/prosody/fix-room-subject.ts
+++ b/server/lib/prosody/fix-room-subject.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/logrotate.ts b/server/lib/prosody/logrotate.ts
index 61261a67..c2732b9a 100644
--- a/server/lib/prosody/logrotate.ts
+++ b/server/lib/prosody/logrotate.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/migration/migrateV10.ts b/server/lib/prosody/migration/migrateV10.ts
index b4e06bee..0be26b14 100644
--- a/server/lib/prosody/migration/migrateV10.ts
+++ b/server/lib/prosody/migration/migrateV10.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/prosody/migration/migrateV12.ts b/server/lib/prosody/migration/migrateV12.ts
index fe9a6775..73bbee86 100644
--- a/server/lib/prosody/migration/migrateV12.ts
+++ b/server/lib/prosody/migration/migrateV12.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/room-channel/index.ts b/server/lib/room-channel/index.ts
index c3d654b6..4a8c97ad 100644
--- a/server/lib/room-channel/index.ts
+++ b/server/lib/room-channel/index.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/room-channel/room-channel-class.ts b/server/lib/room-channel/room-channel-class.ts
index 437ef15d..fb9cb532 100644
--- a/server/lib/room-channel/room-channel-class.ts
+++ b/server/lib/room-channel/room-channel-class.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/api.ts b/server/lib/routers/api.ts
index 44ce75d3..39f55d73 100644
--- a/server/lib/routers/api.ts
+++ b/server/lib/routers/api.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/api/admin/firewall.ts b/server/lib/routers/api/admin/firewall.ts
index 502d2738..1ac805c3 100644
--- a/server/lib/routers/api/admin/firewall.ts
+++ b/server/lib/routers/api/admin/firewall.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/api/auth.ts b/server/lib/routers/api/auth.ts
index 3ca7b51a..22552d34 100644
--- a/server/lib/routers/api/auth.ts
+++ b/server/lib/routers/api/auth.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/api/configuration.ts b/server/lib/routers/api/configuration.ts
index 62f6a148..b8fbd9e4 100644
--- a/server/lib/routers/api/configuration.ts
+++ b/server/lib/routers/api/configuration.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/api/federation-server-infos.ts b/server/lib/routers/api/federation-server-infos.ts
index 850fe872..86963272 100644
--- a/server/lib/routers/api/federation-server-infos.ts
+++ b/server/lib/routers/api/federation-server-infos.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/api/promote.ts b/server/lib/routers/api/promote.ts
index 9a695668..8e3c2d75 100644
--- a/server/lib/routers/api/promote.ts
+++ b/server/lib/routers/api/promote.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/api/room.ts b/server/lib/routers/api/room.ts
index 29b833be..1d204eaf 100644
--- a/server/lib/routers/api/room.ts
+++ b/server/lib/routers/api/room.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/emojis.ts b/server/lib/routers/emojis.ts
index 454f8608..e2bcdbf9 100644
--- a/server/lib/routers/emojis.ts
+++ b/server/lib/routers/emojis.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/index.ts b/server/lib/routers/index.ts
index 7fb83775..5ee81d5b 100644
--- a/server/lib/routers/index.ts
+++ b/server/lib/routers/index.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/oidc.ts b/server/lib/routers/oidc.ts
index 86944192..91f0285d 100644
--- a/server/lib/routers/oidc.ts
+++ b/server/lib/routers/oidc.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/settings.ts b/server/lib/routers/settings.ts
index 1582317c..024d940b 100644
--- a/server/lib/routers/settings.ts
+++ b/server/lib/routers/settings.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/routers/webchat.ts b/server/lib/routers/webchat.ts
index 19ee88a7..d835181b 100644
--- a/server/lib/routers/webchat.ts
+++ b/server/lib/routers/webchat.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/rss/init.ts b/server/lib/rss/init.ts
index 9626049f..ad4806b3 100644
--- a/server/lib/rss/init.ts
+++ b/server/lib/rss/init.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/settings.ts b/server/lib/settings.ts
index ef698a8e..c7764be0 100644
--- a/server/lib/settings.ts
+++ b/server/lib/settings.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/uri/canonicalize.ts b/server/lib/uri/canonicalize.ts
index c3e8cae2..8cd202a7 100644
--- a/server/lib/uri/canonicalize.ts
+++ b/server/lib/uri/canonicalize.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/lib/uri/webchat.ts b/server/lib/uri/webchat.ts
index cc4d0cb6..d35b628b 100644
--- a/server/lib/uri/webchat.ts
+++ b/server/lib/uri/webchat.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/main.ts b/server/main.ts
index 8587c70a..bacb52ad 100644
--- a/server/main.ts
+++ b/server/main.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/server/tsconfig.json.license b/server/tsconfig.json.license
index b253ad42..fd85f13a 100644
--- a/server/tsconfig.json.license
+++ b/server/tsconfig.json.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/shared/lib/admin-firewall.ts b/shared/lib/admin-firewall.ts
index 36d4fabf..579b7f25 100644
--- a/shared/lib/admin-firewall.ts
+++ b/shared/lib/admin-firewall.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/shared/lib/autocolors.ts b/shared/lib/autocolors.ts
index dbf19b90..7edfbd46 100644
--- a/shared/lib/autocolors.ts
+++ b/shared/lib/autocolors.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/shared/lib/config.ts b/shared/lib/config.ts
index 87d63c1a..77d603cf 100644
--- a/shared/lib/config.ts
+++ b/shared/lib/config.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
// SPDX-FileCopyrightText: 2025 Mehdi Benadel
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/shared/lib/constants.ts b/shared/lib/constants.ts
index 3c6d90a8..61f7042c 100644
--- a/shared/lib/constants.ts
+++ b/shared/lib/constants.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/shared/lib/emojis.ts b/shared/lib/emojis.ts
index 6ea36795..935f60a8 100644
--- a/shared/lib/emojis.ts
+++ b/shared/lib/emojis.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/shared/lib/help.ts b/shared/lib/help.ts
index 2978bc05..81f77ef7 100644
--- a/shared/lib/help.ts
+++ b/shared/lib/help.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/shared/lib/types.ts b/shared/lib/types.ts
index 34c97027..7e2bb6cb 100644
--- a/shared/lib/types.ts
+++ b/shared/lib/types.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/shared/lib/video.ts b/shared/lib/video.ts
index 253b3a5c..2648f8f2 100644
--- a/shared/lib/video.ts
+++ b/shared/lib/video.ts
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/archetypes/default.md b/support/documentation/archetypes/default.md
index 002e8f31..9c427c49 100644
--- a/support/documentation/archetypes/default.md
+++ b/support/documentation/archetypes/default.md
@@ -1,5 +1,5 @@
diff --git a/support/documentation/config.toml b/support/documentation/config.toml
index 22035b50..94c8fa87 100644
--- a/support/documentation/config.toml
+++ b/support/documentation/config.toml
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024 John Livingston
+# SPDX-FileCopyrightText: 2024-2025 John Livingston
#
# SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/avatar_abstract.png.license b/support/documentation/content/en/images/avatar_abstract.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/avatar_abstract.png.license
+++ b/support/documentation/content/en/images/avatar_abstract.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/avatar_bird.png.license b/support/documentation/content/en/images/avatar_bird.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/avatar_bird.png.license
+++ b/support/documentation/content/en/images/avatar_bird.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/avatar_cat.png.license b/support/documentation/content/en/images/avatar_cat.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/avatar_cat.png.license
+++ b/support/documentation/content/en/images/avatar_cat.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/avatar_fenec.png.license b/support/documentation/content/en/images/avatar_fenec.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/avatar_fenec.png.license
+++ b/support/documentation/content/en/images/avatar_fenec.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/avatar_legacy.jpg.license b/support/documentation/content/en/images/avatar_legacy.jpg.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/avatar_legacy.jpg.license
+++ b/support/documentation/content/en/images/avatar_legacy.jpg.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/avatar_sepia.png.license b/support/documentation/content/en/images/avatar_sepia.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/avatar_sepia.png.license
+++ b/support/documentation/content/en/images/avatar_sepia.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/bot_commands.png.license b/support/documentation/content/en/images/bot_commands.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/bot_commands.png.license
+++ b/support/documentation/content/en/images/bot_commands.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/bot_deleted_message.png.license b/support/documentation/content/en/images/bot_deleted_message.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/bot_deleted_message.png.license
+++ b/support/documentation/content/en/images/bot_deleted_message.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/bot_forbidden_words.png.license b/support/documentation/content/en/images/bot_forbidden_words.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/bot_forbidden_words.png.license
+++ b/support/documentation/content/en/images/bot_forbidden_words.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/bot_quotes.png.license b/support/documentation/content/en/images/bot_quotes.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/bot_quotes.png.license
+++ b/support/documentation/content/en/images/bot_quotes.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/channel_configuration.png.license b/support/documentation/content/en/images/channel_configuration.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/channel_configuration.png.license
+++ b/support/documentation/content/en/images/channel_configuration.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/chat.png.license b/support/documentation/content/en/images/chat.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/chat.png.license
+++ b/support/documentation/content/en/images/chat.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/chat_anonymous.png.license b/support/documentation/content/en/images/chat_anonymous.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/chat_anonymous.png.license
+++ b/support/documentation/content/en/images/chat_anonymous.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/chat_with_anonymous.png.license b/support/documentation/content/en/images/chat_with_anonymous.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/chat_with_anonymous.png.license
+++ b/support/documentation/content/en/images/chat_with_anonymous.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/chatrooms_menu.png.license b/support/documentation/content/en/images/chatrooms_menu.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/chatrooms_menu.png.license
+++ b/support/documentation/content/en/images/chatrooms_menu.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/configure.png.license b/support/documentation/content/en/images/configure.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/configure.png.license
+++ b/support/documentation/content/en/images/configure.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/diagnostic.png.license b/support/documentation/content/en/images/diagnostic.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/diagnostic.png.license
+++ b/support/documentation/content/en/images/diagnostic.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/embed_chat_in_livestream.png.license b/support/documentation/content/en/images/embed_chat_in_livestream.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/embed_chat_in_livestream.png.license
+++ b/support/documentation/content/en/images/embed_chat_in_livestream.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/embed_chat_in_obs.png.license b/support/documentation/content/en/images/embed_chat_in_obs.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/embed_chat_in_obs.png.license
+++ b/support/documentation/content/en/images/embed_chat_in_obs.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/external_login_button.png.license b/support/documentation/content/en/images/external_login_button.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/external_login_button.png.license
+++ b/support/documentation/content/en/images/external_login_button.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/external_login_dialog.png.license b/support/documentation/content/en/images/external_login_dialog.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/external_login_dialog.png.license
+++ b/support/documentation/content/en/images/external_login_dialog.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/external_login_dialog_oidc.png.license b/support/documentation/content/en/images/external_login_dialog_oidc.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/external_login_dialog_oidc.png.license
+++ b/support/documentation/content/en/images/external_login_dialog_oidc.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/fullscreen.png.license b/support/documentation/content/en/images/fullscreen.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/fullscreen.png.license
+++ b/support/documentation/content/en/images/fullscreen.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/installation.png.license b/support/documentation/content/en/images/installation.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/installation.png.license
+++ b/support/documentation/content/en/images/installation.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/launch_diagnostic.png.license b/support/documentation/content/en/images/launch_diagnostic.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/launch_diagnostic.png.license
+++ b/support/documentation/content/en/images/launch_diagnostic.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/new_live.png.license b/support/documentation/content/en/images/new_live.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/new_live.png.license
+++ b/support/documentation/content/en/images/new_live.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/new_live_activate_chat.png.license b/support/documentation/content/en/images/new_live_activate_chat.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/new_live_activate_chat.png.license
+++ b/support/documentation/content/en/images/new_live_activate_chat.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/open_participants_list.png.license b/support/documentation/content/en/images/open_participants_list.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/open_participants_list.png.license
+++ b/support/documentation/content/en/images/open_participants_list.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/share_button.png.license b/support/documentation/content/en/images/share_button.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/share_button.png.license
+++ b/support/documentation/content/en/images/share_button.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/share_readonly.png.license b/support/documentation/content/en/images/share_readonly.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/share_readonly.png.license
+++ b/support/documentation/content/en/images/share_readonly.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/share_xmpp_dialog.png.license b/support/documentation/content/en/images/share_xmpp_dialog.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/share_xmpp_dialog.png.license
+++ b/support/documentation/content/en/images/share_xmpp_dialog.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/slow_mode.png.license b/support/documentation/content/en/images/slow_mode.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/slow_mode.png.license
+++ b/support/documentation/content/en/images/slow_mode.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/slow_mode_channel_option.png.license b/support/documentation/content/en/images/slow_mode_channel_option.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/slow_mode_channel_option.png.license
+++ b/support/documentation/content/en/images/slow_mode_channel_option.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_app_fullpage_1.png.license b/support/documentation/content/en/images/task_app_fullpage_1.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_app_fullpage_1.png.license
+++ b/support/documentation/content/en/images/task_app_fullpage_1.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_app_task_1.png.license b/support/documentation/content/en/images/task_app_task_1.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_app_task_1.png.license
+++ b/support/documentation/content/en/images/task_app_task_1.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_app_task_2.png.license b/support/documentation/content/en/images/task_app_task_2.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_app_task_2.png.license
+++ b/support/documentation/content/en/images/task_app_task_2.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_app_task_form.png.license b/support/documentation/content/en/images/task_app_task_form.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_app_task_form.png.license
+++ b/support/documentation/content/en/images/task_app_task_form.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_app_task_lists.png.license b/support/documentation/content/en/images/task_app_task_lists.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_app_task_lists.png.license
+++ b/support/documentation/content/en/images/task_app_task_lists.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_app_video_1.png.license b/support/documentation/content/en/images/task_app_video_1.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_app_video_1.png.license
+++ b/support/documentation/content/en/images/task_app_video_1.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_drag_drop.png.license b/support/documentation/content/en/images/task_drag_drop.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_drag_drop.png.license
+++ b/support/documentation/content/en/images/task_drag_drop.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_drag_drop_task_list.png.license b/support/documentation/content/en/images/task_drag_drop_task_list.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_drag_drop_task_list.png.license
+++ b/support/documentation/content/en/images/task_drag_drop_task_list.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_from_message_1.png.license b/support/documentation/content/en/images/task_from_message_1.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_from_message_1.png.license
+++ b/support/documentation/content/en/images/task_from_message_1.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_from_message_2.png.license b/support/documentation/content/en/images/task_from_message_2.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_from_message_2.png.license
+++ b/support/documentation/content/en/images/task_from_message_2.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_from_message_3.png.license b/support/documentation/content/en/images/task_from_message_3.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_from_message_3.png.license
+++ b/support/documentation/content/en/images/task_from_message_3.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_open_app_fullpage.png.license b/support/documentation/content/en/images/task_open_app_fullpage.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_open_app_fullpage.png.license
+++ b/support/documentation/content/en/images/task_open_app_fullpage.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/task_open_app_video.png.license b/support/documentation/content/en/images/task_open_app_video.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/task_open_app_video.png.license
+++ b/support/documentation/content/en/images/task_open_app_video.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/content/en/images/top_menu.png.license b/support/documentation/content/en/images/top_menu.png.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/content/en/images/top_menu.png.license
+++ b/support/documentation/content/en/images/top_menu.png.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/layouts/partials/custom-header.html.license b/support/documentation/layouts/partials/custom-header.html.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/layouts/partials/custom-header.html.license
+++ b/support/documentation/layouts/partials/custom-header.html.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/layouts/partials/logo.html.license b/support/documentation/layouts/partials/logo.html.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/layouts/partials/logo.html.license
+++ b/support/documentation/layouts/partials/logo.html.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/layouts/shortcodes/livechat_codeofconduct.html.license b/support/documentation/layouts/shortcodes/livechat_codeofconduct.html.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/layouts/shortcodes/livechat_codeofconduct.html.license
+++ b/support/documentation/layouts/shortcodes/livechat_codeofconduct.html.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/layouts/shortcodes/livechat_label.html.license b/support/documentation/layouts/shortcodes/livechat_label.html.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/layouts/shortcodes/livechat_label.html.license
+++ b/support/documentation/layouts/shortcodes/livechat_label.html.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/layouts/shortcodes/livechat_version_notice.html.license b/support/documentation/layouts/shortcodes/livechat_version_notice.html.license
index b253ad42..fd85f13a 100644
--- a/support/documentation/layouts/shortcodes/livechat_version_notice.html.license
+++ b/support/documentation/layouts/shortcodes/livechat_version_notice.html.license
@@ -1,3 +1,3 @@
-SPDX-FileCopyrightText: 2024 John Livingston
+SPDX-FileCopyrightText: 2024-2025 John Livingston
SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/documentation/po/livechat.de.po b/support/documentation/po/livechat.de.po
index 4ace20e8..964b5664 100644
--- a/support/documentation/po/livechat.de.po
+++ b/support/documentation/po/livechat.de.po
@@ -5091,7 +5091,7 @@ msgstr "Wenn Sie ein Webdesigner oder ein ConverseJS/Prosody/XMPP-Experte sind u
#, fuzzy, no-wrap
#~ msgid ""
#~ "
diff --git a/support/forbidden_words/import-wikimedia.md b/support/forbidden_words/import-wikimedia.md
index 1487063f..e4647e11 100644
--- a/support/forbidden_words/import-wikimedia.md
+++ b/support/forbidden_words/import-wikimedia.md
@@ -1,5 +1,5 @@
diff --git a/support/forbidden_words/import-wikimedia.mjs b/support/forbidden_words/import-wikimedia.mjs
index e6e50432..2a6d0718 100644
--- a/support/forbidden_words/import-wikimedia.mjs
+++ b/support/forbidden_words/import-wikimedia.mjs
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: 2024 John Livingston
+// SPDX-FileCopyrightText: 2024-2025 John Livingston
//
// SPDX-License-Identifier: AGPL-3.0-only
diff --git a/support/forbidden_words/lists/en.english_swear_words.md b/support/forbidden_words/lists/en.english_swear_words.md
index ef7ae912..6f37c6a8 100644
--- a/support/forbidden_words/lists/en.english_swear_words.md
+++ b/support/forbidden_words/lists/en.english_swear_words.md
@@ -1,5 +1,5 @@
diff --git a/support/forbidden_words/lists/fr.insultes_en_francais.md b/support/forbidden_words/lists/fr.insultes_en_francais.md
index 174c6cca..10ccdfcc 100644
--- a/support/forbidden_words/lists/fr.insultes_en_francais.md
+++ b/support/forbidden_words/lists/fr.insultes_en_francais.md
@@ -1,5 +1,5 @@
diff --git a/support/forbidden_words/lists/fr.termes_vulgaires_en_francais.md b/support/forbidden_words/lists/fr.termes_vulgaires_en_francais.md
index 96fec7bc..5a329cf5 100644
--- a/support/forbidden_words/lists/fr.termes_vulgaires_en_francais.md
+++ b/support/forbidden_words/lists/fr.termes_vulgaires_en_francais.md
@@ -1,5 +1,5 @@