Skip to content

Latest commit

 

History

History
285 lines (172 loc) · 6.99 KB

CHANGELOG.md

File metadata and controls

285 lines (172 loc) · 6.99 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.9.0] - 2025-02-10

Added

  • Introduced a new WatchedPolicyRooms abstraction by factoring out PolicyRoomRevision issuer managemenent from PolicyRoomsConfig. This now replaces PolicyRoomsConfig and the issuerManager property in the protected rooms set.

  • Expose a way to get the time a Revision was created.

Fixed

  • revisionID is now exported on StateRevision.

[2.8.0] - 2025-02-03

Added

  • findCompatibleCapabilityProviders function.

Fixed

  • Improved descriptions of all standard capability providers.

[2.7.0] - 2025-02-01

Added

  • Generic item batching is now available for protections to use by using the StandardBatcher.

Changed

  • Task has been improved to be more liberal in the closures it accepts. And Task now has more options for logging how tasks have failed.

  • The Protection callback handleExternalInvite has been renamed to handleExternalMembership.

Fixed

  • An issue where adding rooms to the protected rooms set more than once could sometimes cause duplicate events to be propagated.

[2.6.0] - 2025-01-24

Changed

  • StandardRoomStateRevisionIssuer now accepts the RoomStateGetter capability rather than a callback for fetching room state.

Removed

  • RoomStateManager['getRoomState'] has been removed and the same functionality is now provided by by the RoomStateGetter capability

Added

  • RoomStateGetter capability to fetch room state from a room.

[2.5.2] - 2025-01-18

Fixed

[2.5.1] - 2025-01-14

Fixed

  • An issue with the SetRoomMembershipRevisionIssuer that would allow duplicate listeners to be added to rooms that were already in the set. This would cause lots of issues with downstream revision listeners. We've hardened code downstream, e.g. with the MembershipPolicyRevisionIssuer, in case this happens again.

[2.5.0] - 2025-01-12

Added

  • RoomInviter to ClientPlatform.

[2.4.0] - 2025-01-10

Fixed

  • StandardProtectionsConfig now uses the provided SchemedDataManager to persist the config while disabling protections. This was a bug, it was always supposed to use the SchemedDataManager to persist the version number alongside the serialized data. Fixes the-draupnir-project/Draupnir#560.

  • The SynapseAdminReport['name'] property is now appropriately unioned with null.

Added

  • The user_id field is now present on the SynapseAdminReport schema.

  • Access to unique member count of SetMembership via SetMembership['uniqueMemberCount'].

[2.3.0] - 2025-01-08

Added

  • SchemaMigration now provides the schema version number to use rather than relying on deltas to hand type the number and mess up.

Changed

  • Interface of ServerConsequences['consequenceForServersInRoom'] has changed so that it is possible to determine if any changes/effects have been made after calling. Changed to support the-draupnir-project/Draupnir#450.

  • The ServerACLEvent Schema wrongly described content as optional.

Fixed

  • There was a bug where unwatching a list would cause only the list you wanted to unwatch to become watched. the-draupnir-project/Draupnir#647.

  • Getting the name of the capability wrong for capability context glue will now result in an error.

[2.2.0] - 2025-01-06

Added

  • SetMembershipRevision for calculating whether a Matrix user is the member of any room in a set of rooms.

  • MembershipPolicyRevision for easily finding policy rules that match users within a SetMembershipRevision. This revision stops protections or capabilities from needing to calculate matches themselves.

Fixed

  • DirectPolicyListRevisionIssuer now emits the 'revision' event when policy rooms are watched and unwatched.

Changed

  • UserConsequences now accepts an argument for TargetMember[] rather than a PolicyListRevision, so that it can be used in conjunction with the new MembershipPolicyRevision.

[2.1.1] - 2024-12-09

Fixed

  • A bug where ConfigMirror['setValue'] would try encode a value that was already encoded.

[2.1.0] - 2024-12-04

Added

  • Added a method to protections manager for changing a capability in a protection's capability set.
  • Made capability provider set config actually persist by giving it a PersistentConfigBackend.

[2.0.0] - 2024-11-26

Changed

  • ProtectionsManager depends on three different kinds of config. Config for capability providers, protection settings, and enabled protections.

Removed

  • ProtectionSettings are gone.

[1.7.0] - 2024-10-10

Added

  • JoinRulesEvent and JoinRulesEventContent are now available to use.

[1.6.0] - 2024-10-04

Changed

  • ConfigParseError and ConfigPropertyError now reference the relevant ConfigDescription.

[1.5.2] - 2024-10-02

Fixed

  • Having valid but unjoinable rooms in ProtectedRoomsConfig is now a recoverable error.

[1.5.1] - 2024-10-01

Fixed

  • Fixed a bug where the MjolnirPolicyRoomsConfig would show undefined in the description of ConfigPropertyErrors.

[1.5.0] - 2024-10-01

Added

  • PersistentConfigData helper for dynamically editing schemed config files, and recovering from parse errors.

Changed

  • MjolnirProtectedRoomsConfig, MjolnirWatchedListsConfig, MjolnirEnanbledProtections have all been migrated to use PersistentConfigData with recovery options.

[1.4.0] - 2024-09-11

Changed

  • Allow RoomJoiner to skip calling /join.

[1.3.0] - 2024-09-11

Changed

  • Upgraded @gnuxie/typescript-result.
  • Made ActionException['toString'] clearer.
  • Made it more clear which room is causing issues for the ProtectedRoomsManager as it is created.

[1.2.0] - 2024-09-09

Added

  • DeclareRoomState and associated helpers are now exported.
  • This includes the describeProtectedRoomsSet utility which easily allows you to fake a protected rooms set.

[1.1.0] - 2024-08-26

Added

  • The RoomMessageSender capability is now available on ClientPlatform.

[1.0.0] - 2024-08-16

Changed

  • The Permalink TypeBox Schema has been renamed to PermalinkSchema.

  • I guess we're doing semver properly now? since weh.

[0.24.0] - 2024-08-16

Changed

  • Depend upon @the-draupnir-project/matrix-basic-types to provide StringUserID, MatrixRoomReference, MatrixGlob, and associated types.

  • Depend upon @gnuxie/typescript-result to provide ActionResult.