close
Skip to content

v2.0.0

Choose a tag to compare

@Gnuxie Gnuxie released this 16 Jan 19:10
· 298 commits to main since this release
a16fb7b

⚠️ If you are upgrading from Mjolnir or a previous version of Draupnir, please not that the option protectAllJoinedRooms is not working. See #706.

Upgrade Steps

There are no manual upgrade steps, the new protections are automatically
enabled. The only thing you should note is that Draupnir now enables the new
roomStateBackingStore by default. This improves the startup time of Draupnir
considerably but if you need to disable it, see the config documentation
here.

There are also no upgrade steps to upgrading to v2.0.0 from Mjolnir.

Please see the
documentation
if you are installing Draupnir for the first time.

What's changed

TL;DR everything is so much better.

  • Draupnir is now much less dependant on commands and will automatically send
    prompts to the management room. Prompts are sent for inviting Draupnir to
    protect rooms, watch policy lists, banning users, and unbanning users.

  • Draupnir is much more responsive. Draupnir now does not need to request any
    data from the homeserver before applying new bans or to ban new users.

  • Draupnir now uses a persistent revision system for room state, members,
    policies, and policy matches. By using revisions, Draupnir only has to process
    room state once in terms of simple deltas as room state is updated.

  • Draupnir offers a
    room state backing store,
    allowing Draupnir to startup quickly, even when deployed at distance from the
    homeserver.

  • Protection messages have been revised to present information more efficiently
    in the management room.

  • A safe mode has been introduced that can be used to recover Draupnir in
    situations where watched lists or protected rooms become unjoinable.

  • All commands now use the new command-oriented
    interface-manager.

  • Protection settings have been reworked. The !draupnir protections show
    command now shows all configurable settings for a given protection and
    describes how they can be modified.

In addition to hundreds of other significant fixes, UX improvements, and other
changes that would be too detailed to list in this changelog. For a full list of
changes, please review the
CHANGELOG.

Special thanks to all contributors who helped in the beta programme: @avdb13,
@bluesomewhere, @daedric7, @deepbluev7, @FSG-Cat, @HarHarLinks,
@guillaumechauvat, @jimmackenzie, @jjj333-p, @JokerGermany, @julianfoad,
@Kladki, @ll-SKY-ll, @mahdi1234, @Mikaela, @morguildir, @MTRNord, @nexy7574,
@Philantrop, @ShadowJonathan, @tcpipuk, @TheArcaneBrony