From 3bbca89bf037a1ef135c9170497f5b5cf06dc15a Mon Sep 17 00:00:00 2001 From: gnuxie Date: Thu, 7 May 2026 13:07:24 +0100 Subject: [PATCH] v3.1.0 --- .changeset/brave-carrots-draw.md | 5 ---- .changeset/chilly-lands-fall.md | 5 ---- .changeset/lemon-things-tap.md | 6 ---- .changeset/long-memes-allow.md | 5 ---- .changeset/loud-lions-stick.md | 7 ----- .changeset/moody-points-attack.md | 5 ---- .changeset/ready-jokes-melt.md | 21 -------------- .changeset/slick-plants-jump.md | 7 ----- .changeset/smart-eyes-cover.md | 11 -------- .changeset/wise-carpets-push.md | 5 ---- .changeset/witty-dancers-join.md | 8 ------ .changeset/young-bees-teach.md | 5 ---- CHANGELOG.md | 28 ++++++++++++++++++- apps/draupnir/package.json | 8 +++--- package-lock.json | 26 ++++++++--------- packages/matrix-basic-types/CHANGELOG.md | 12 ++++++-- packages/matrix-basic-types/package.json | 2 +- .../CHANGELOG.md | 9 +++++- .../package.json | 8 +++--- packages/matrix-protection-suite/CHANGELOG.md | 27 +++++++++++++++++- packages/matrix-protection-suite/package.json | 4 +-- packages/mps-interface-adaptor/package.json | 4 +-- 22 files changed, 96 insertions(+), 122 deletions(-) delete mode 100644 .changeset/brave-carrots-draw.md delete mode 100644 .changeset/chilly-lands-fall.md delete mode 100644 .changeset/lemon-things-tap.md delete mode 100644 .changeset/long-memes-allow.md delete mode 100644 .changeset/loud-lions-stick.md delete mode 100644 .changeset/moody-points-attack.md delete mode 100644 .changeset/ready-jokes-melt.md delete mode 100644 .changeset/slick-plants-jump.md delete mode 100644 .changeset/smart-eyes-cover.md delete mode 100644 .changeset/wise-carpets-push.md delete mode 100644 .changeset/witty-dancers-join.md delete mode 100644 .changeset/young-bees-teach.md diff --git a/.changeset/brave-carrots-draw.md b/.changeset/brave-carrots-draw.md deleted file mode 100644 index 2193baff..00000000 --- a/.changeset/brave-carrots-draw.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"draupnir": patch ---- - -Add set display name command to appservice main bot. diff --git a/.changeset/chilly-lands-fall.md b/.changeset/chilly-lands-fall.md deleted file mode 100644 index 8c721b1a..00000000 --- a/.changeset/chilly-lands-fall.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"draupnir": patch ---- - -Cleanup Configuration file wording. diff --git a/.changeset/lemon-things-tap.md b/.changeset/lemon-things-tap.md deleted file mode 100644 index f8bdfb5d..00000000 --- a/.changeset/lemon-things-tap.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"draupnir": patch ---- - -Fix Policy Notification Room invites only being issued to users with join -membership. diff --git a/.changeset/long-memes-allow.md b/.changeset/long-memes-allow.md deleted file mode 100644 index 5e4c245c..00000000 --- a/.changeset/long-memes-allow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"draupnir": patch ---- - -Add Avatar customisation command for Draupnir diff --git a/.changeset/loud-lions-stick.md b/.changeset/loud-lions-stick.md deleted file mode 100644 index fd440910..00000000 --- a/.changeset/loud-lions-stick.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"draupnir": patch ---- - -Fixed an issue where sometimes Draupnir would log cryptic errors such as -`undefined: undefined`. -https://github.com/the-draupnir-project/Draupnir/issues/759. diff --git a/.changeset/moody-points-attack.md b/.changeset/moody-points-attack.md deleted file mode 100644 index 084c3d14..00000000 --- a/.changeset/moody-points-attack.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"draupnir": patch ---- - -Add avatar customisation command for Appservice mode admin bot diff --git a/.changeset/ready-jokes-melt.md b/.changeset/ready-jokes-melt.md deleted file mode 100644 index 071c8e46..00000000 --- a/.changeset/ready-jokes-melt.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -"draupnir": minor ---- - -Add managed management/admin room support to bot mode / appservice mode. - -\- Add managed management / admin room support - -- Add new config options for zero touch provisioning of managed rooms: - -\- initialManager for bot mode - -\- initialManager for appservice mode - -\- If managed modes are enabled while unmanaged rooms are defined the bot will -crash. - -\- Fix TrustedReporters being broken by managed management rooms due to explicit -reliance on a management room in the config. - -\- Add integration testing for Zero Touch Provisioning workflows. diff --git a/.changeset/slick-plants-jump.md b/.changeset/slick-plants-jump.md deleted file mode 100644 index efcc4934..00000000 --- a/.changeset/slick-plants-jump.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@the-draupnir-project/matrix-protection-suite": minor ---- - -The PowerLevelsMirror has split in two into a PowerLevelsEventMirror and accept -the createEvent in the PowerLevelsMirror. This makes it harder to forget -privileged creators. diff --git a/.changeset/smart-eyes-cover.md b/.changeset/smart-eyes-cover.md deleted file mode 100644 index e05cf6f6..00000000 --- a/.changeset/smart-eyes-cover.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@the-draupnir-project/matrix-protection-suite": minor ---- - -Projections now produce the next node in a single step, which simplifies their -implementation. - -Previously we thought that the two-step system had stronger guarantees for -correctness when persisting projection nodes, but we found in implementation -that the two approaches were almost identical, with two-step being needlessly -complicated https://github.com/the-draupnir-project/planning/issues/120 diff --git a/.changeset/wise-carpets-push.md b/.changeset/wise-carpets-push.md deleted file mode 100644 index 46cde22d..00000000 --- a/.changeset/wise-carpets-push.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"draupnir": patch ---- - -Make appservice configure profile information for main bot and register it. diff --git a/.changeset/witty-dancers-join.md b/.changeset/witty-dancers-join.md deleted file mode 100644 index 320c97c2..00000000 --- a/.changeset/witty-dancers-join.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@the-draupnir-project/matrix-protection-suite": minor -"draupnir": patch ---- - -Tighten ActionException to only accept `Error` instead of `unknown`, leading to -less mistakes. We now also offer and use a `ensureThrowableIsError` to use when -checking if third-party apis are throwing junk, such as the matrix-bot-sdk. diff --git a/.changeset/young-bees-teach.md b/.changeset/young-bees-teach.md deleted file mode 100644 index c9f741cd..00000000 --- a/.changeset/young-bees-teach.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@the-draupnir-project/matrix-basic-types": patch ---- - -Add MXC URI validation support. diff --git a/CHANGELOG.md b/CHANGELOG.md index 99ff1ce9..06de41e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # Changelog @@ -11,6 +11,32 @@ All notable changes to Draupnir will be kept in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.1.0] - 2026-05-07 + +### Minor Changes + +- Draupnir can now create the management room in bot mode, and also the admin + room for managing appservice deployments. This is achieved by configuring an + `initialManager` when setting up the bot, who will be invited to a newly + created management room. This work was contributed by @FSG-Cat as part of his + work to further streamline deployment + https://github.com/the-draupnir-project/Draupnir/issues/1077. + +### Patch Changes + +- Add Avatar customisation command for Draupnir (`!draupnir avatar`) and the + appservice admin bot, by @FSG-Cat. +- Add a command to set the display name of the appservice admin bot, by + @FSG-Cat. +- Cleanup Configuration file wording around `protectAllJoinedRooms` by @FSG-Cat. +- Fix Policy Notification Room invites only being issued to users with join + membership, by @FSG-Cat. +- Fix an issue where sometimes Draupnir would log cryptic errors such as + `undefined: undefined` by @Gnuxie. + https://github.com/the-draupnir-project/Draupnir/issues/759. +- Fix an issue where the appservice would not configure profile information for + main bot and register it by @FSG-Cat. + ## [v3.0.0] - 2026-04-02 Draupnir [v3.0.0] is focussed on changes to improve maintenance of the project, diff --git a/apps/draupnir/package.json b/apps/draupnir/package.json index 38e92542..2c6b1e37 100644 --- a/apps/draupnir/package.json +++ b/apps/draupnir/package.json @@ -1,6 +1,6 @@ { "name": "draupnir", - "version": "3.0.0", + "version": "3.1.0", "description": "A moderation tool for Matrix", "main": "lib/index.js", "repository": "https://github.com/the-draupnir-project/Draupnir.git", @@ -45,7 +45,7 @@ "@sentry/node": "^7.17.2", "@sinclair/typebox": "0.34.13", "@the-draupnir-project/interface-manager": "4.2.6", - "@the-draupnir-project/matrix-basic-types": "1.5.0", + "@the-draupnir-project/matrix-basic-types": "1.5.1", "@the-draupnir-project/mps-interface-adaptor": "0.6.0", "@vector-im/matrix-bot-sdk": "^0.8.0-element.3", "better-sqlite3": "^12.8.0", @@ -56,8 +56,8 @@ "js-yaml": "^4.1.0", "jsdom": "^24.0.0", "matrix-appservice-bridge": "^11.2.0", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0", - "matrix-protection-suite-for-matrix-bot-sdk": "npm:@the-draupnir-project/matrix-protection-suite@5.0.0", + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0", + "matrix-protection-suite-for-matrix-bot-sdk": "npm:@the-draupnir-project/matrix-protection-suite@5.0.1", "pg": "^8.8.0", "yaml": "^2.3.2" }, diff --git a/package-lock.json b/package-lock.json index 87aadf9f..282ab0e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,14 +28,14 @@ } }, "apps/draupnir": { - "version": "3.0.0", + "version": "3.1.0", "license": "Apache-2.0", "dependencies": { "@gnuxie/typescript-result": "^1.0.0", "@sentry/node": "^7.17.2", "@sinclair/typebox": "0.34.13", "@the-draupnir-project/interface-manager": "4.2.6", - "@the-draupnir-project/matrix-basic-types": "1.5.0", + "@the-draupnir-project/matrix-basic-types": "1.5.1", "@the-draupnir-project/mps-interface-adaptor": "0.6.0", "@vector-im/matrix-bot-sdk": "^0.8.0-element.3", "better-sqlite3": "^12.8.0", @@ -46,8 +46,8 @@ "js-yaml": "^4.1.0", "jsdom": "^24.0.0", "matrix-appservice-bridge": "^11.2.0", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0", - "matrix-protection-suite-for-matrix-bot-sdk": "npm:@the-draupnir-project/matrix-protection-suite@5.0.0", + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0", + "matrix-protection-suite-for-matrix-bot-sdk": "npm:@the-draupnir-project/matrix-protection-suite@5.0.1", "pg": "^8.8.0", "yaml": "^2.3.2" }, @@ -14598,7 +14598,7 @@ }, "packages/matrix-basic-types": { "name": "@the-draupnir-project/matrix-basic-types", - "version": "1.5.0", + "version": "1.5.1", "license": "Apache-2.0", "dependencies": { "@gnuxie/typescript-result": "^1.0.0", @@ -14628,7 +14628,7 @@ }, "packages/matrix-protection-suite": { "name": "@the-draupnir-project/matrix-protection-suite", - "version": "7.0.0", + "version": "7.1.0", "license": "Apache-2.0", "dependencies": { "@gnuxie/typescript-result": "^1.0.0", @@ -14647,12 +14647,12 @@ }, "peerDependencies": { "@sinclair/typebox": "0.34.13", - "@the-draupnir-project/matrix-basic-types": "^1.5.0" + "@the-draupnir-project/matrix-basic-types": "^1.5.1" } }, "packages/matrix-protection-suite-for-matrix-bot-sdk": { "name": "@the-draupnir-project/matrix-protection-suite-for-matrix-bot-sdk", - "version": "5.0.0", + "version": "5.0.1", "license": "Apache-2.0", "dependencies": { "@gnuxie/typescript-result": "^1.0.0", @@ -14663,14 +14663,14 @@ "@types/glob-to-regexp": "^0.4.1", "@types/node": "^24.12.0", "@vector-im/matrix-bot-sdk": "0.8.0-element.3", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0", + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0", "typedoc": "^0.26.3" }, "peerDependencies": { "@sinclair/typebox": "0.34.13", - "@the-draupnir-project/matrix-basic-types": "1.5.0", + "@the-draupnir-project/matrix-basic-types": "1.5.1", "@vector-im/matrix-bot-sdk": "^0.8.0-element.3", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0" + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0" } }, "packages/matrix-protection-suite-for-matrix-bot-sdk/node_modules/@types/node": { @@ -14790,13 +14790,13 @@ "license": "Apache-2.0", "devDependencies": { "@types/node": "^24.12.0", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0" + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0" }, "peerDependencies": { "@gnuxie/typescript-result": "^1.0.0", "@sinclair/typebox": "^0.34.13", "@the-draupnir-project/interface-manager": "^4.2.3", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0" + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0" } }, "packages/mps-interface-adaptor/node_modules/@types/node": { diff --git a/packages/matrix-basic-types/CHANGELOG.md b/packages/matrix-basic-types/CHANGELOG.md index b6af73a1..152a98bb 100644 --- a/packages/matrix-basic-types/CHANGELOG.md +++ b/packages/matrix-basic-types/CHANGELOG.md @@ -1,17 +1,23 @@ # Changelog All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), -and this project adheres to +This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.5.1] - 2026-05-07 + +### Patch Changes + +- Add `StringMediaURI` for parsing and validating Matrix media URIs, contributed + by @FSG-Cat. + ## [1.5.0] - 2026-01-20 ### Changed diff --git a/packages/matrix-basic-types/package.json b/packages/matrix-basic-types/package.json index 2bcc580a..deb5a5c7 100644 --- a/packages/matrix-basic-types/package.json +++ b/packages/matrix-basic-types/package.json @@ -1,6 +1,6 @@ { "name": "@the-draupnir-project/matrix-basic-types", - "version": "1.5.0", + "version": "1.5.1", "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ diff --git a/packages/matrix-protection-suite-for-matrix-bot-sdk/CHANGELOG.md b/packages/matrix-protection-suite-for-matrix-bot-sdk/CHANGELOG.md index 1021eb1a..4accd689 100644 --- a/packages/matrix-protection-suite-for-matrix-bot-sdk/CHANGELOG.md +++ b/packages/matrix-protection-suite-for-matrix-bot-sdk/CHANGELOG.md @@ -1,7 +1,7 @@ # Changelog @@ -11,6 +11,13 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [5.0.1] - 2026-05-07 + +### Patch Changes + +- Updated dependencies [f3e29fb] + - @the-draupnir-project/matrix-basic-types@1.5.1 + ## [5.0.0] - 2026-04-02 ### Major changes diff --git a/packages/matrix-protection-suite-for-matrix-bot-sdk/package.json b/packages/matrix-protection-suite-for-matrix-bot-sdk/package.json index aed6e9b8..ebe70b09 100644 --- a/packages/matrix-protection-suite-for-matrix-bot-sdk/package.json +++ b/packages/matrix-protection-suite-for-matrix-bot-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@the-draupnir-project/matrix-protection-suite-for-matrix-bot-sdk", - "version": "5.0.0", + "version": "5.0.1", "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ @@ -26,7 +26,7 @@ "@types/glob-to-regexp": "^0.4.1", "@types/node": "^24.12.0", "@vector-im/matrix-bot-sdk": "0.8.0-element.3", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0", + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0", "typedoc": "^0.26.3" }, "dependencies": { @@ -35,9 +35,9 @@ }, "peerDependencies": { "@sinclair/typebox": "0.34.13", - "@the-draupnir-project/matrix-basic-types": "1.5.0", + "@the-draupnir-project/matrix-basic-types": "1.5.1", "@vector-im/matrix-bot-sdk": "^0.8.0-element.3", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0" + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0" }, "publishConfig": { "access": "public" diff --git a/packages/matrix-protection-suite/CHANGELOG.md b/packages/matrix-protection-suite/CHANGELOG.md index 6ba6370a..232c233c 100644 --- a/packages/matrix-protection-suite/CHANGELOG.md +++ b/packages/matrix-protection-suite/CHANGELOG.md @@ -1,7 +1,7 @@ # Changelog @@ -11,6 +11,31 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [7.1.0] - 2026-05-07 + +### Minor Changes + +- The `PowerLevelsMirror` has split in two into a `PowerLevelsEventMirror` and + accept the `m.room.create` event in the `PowerLevelsMirror`. This makes it + harder to forget privileged creators from v12 and above. + +- Projections now produce the next node in a single step, which simplifies their + implementation. Previously we thought that the two-step system had stronger + guarantees for correctness when persisting projection nodes, but we found in + implementation that the two approaches were almost identical, with two-step + being needlessly complicated + https://github.com/the-draupnir-project/planning/issues/120 + +- Tightened `ActionException` to only accept `Error` instead of `unknown`, + leading to less mistakes. We now also offer and use a `ensureThrowableIsError` + to use when checking if third-party apis are throwing junk, such as the + matrix-bot-sdk. + +### Patch Changes + +- Updated dependencies [f3e29fb] + - @the-draupnir-project/matrix-basic-types@1.5.1 + ## [7.0.0] - 2026-04-02 ### Major changes diff --git a/packages/matrix-protection-suite/package.json b/packages/matrix-protection-suite/package.json index f794830b..0ab1e8dd 100644 --- a/packages/matrix-protection-suite/package.json +++ b/packages/matrix-protection-suite/package.json @@ -1,6 +1,6 @@ { "name": "@the-draupnir-project/matrix-protection-suite", - "version": "7.0.0", + "version": "7.1.0", "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ @@ -40,7 +40,7 @@ }, "peerDependencies": { "@sinclair/typebox": "0.34.13", - "@the-draupnir-project/matrix-basic-types": "^1.5.0" + "@the-draupnir-project/matrix-basic-types": "^1.5.1" }, "publishConfig": { "access": "public" diff --git a/packages/mps-interface-adaptor/package.json b/packages/mps-interface-adaptor/package.json index 6556c2ac..82354676 100644 --- a/packages/mps-interface-adaptor/package.json +++ b/packages/mps-interface-adaptor/package.json @@ -23,13 +23,13 @@ "private": false, "devDependencies": { "@types/node": "^24.12.0", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0" + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0" }, "peerDependencies": { "@gnuxie/typescript-result": "^1.0.0", "@sinclair/typebox": "^0.34.13", "@the-draupnir-project/interface-manager": "^4.2.3", - "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.0.0" + "matrix-protection-suite": "npm:@the-draupnir-project/matrix-protection-suite@7.1.0" }, "publishConfig": { "access": "public"