• v3.7 2430d60809

    v3.7 Stable

    cadence released this 2026-09-14 04:22:00 +00:00 | 2 commits to main since this release

    • How to update
    • After updating, in order to get m->d typing support, you need to do npm run setup again to generate a new registration.yaml and re-register that with your homeserver.

    This release continues to improve plural proxying, most importantly adding support for /plu/ral webhook-style proxies.

    There are also changes to match what Discord's doing. Many more applications than before (those accessible to more than 10,000 total Discord users) will have to register for privileged intents. If you are affected, you will have received a Discord system message about this.

    For compliance with platform policies, you can add "bridge_admin_contact": "any text or html here" to the ooye section of registration.yaml to enable the privacy policy and opt-out web pages, as well as letting Discord users know who to contact to trigger a Matrix-side data removal of their past messages. I recommend setting this field to your Discord handle or your email address. I have set mine to <a href=https://cadence.moe/contact>Cadence</a>. You are required to receive and act on any such requests.

    I will work on providing a more complete document about privileged intents and the application process after I have reports of anyone's application being successful. I will also work on a more streamlined method to add your contact information. For now, this is all provisional, and your guess is as good as mine.

    Features

    • 983ea0c c982ca0 fa716cd m->d typing
      • This requires stabilised receive_ephemeral support, which was added in Synapse 1.156.0. Other homeservers probably already have this.
    • f7609b2 51d5705 34fc21f 544c520 Only delay Discord messages if the sender has previously used PK or /plu/ral
    • a3ce911 Support /plu/ral webhook-style proxies
    • 414da4c f92d280 a8712b6 d4cd580 3d648e23 Queue d->m events for later if homeserver is down
    • 021f02f Convert very large PNGs sent from Discord to JPEG to fit in Matrix file size limit
      • Large PNGs were almost certainly originally JPEG photos that were converted to PNG by the Discord user copy-pasting.
      • If these aren't converted, the Matrix experience is degraded because you have to click a link to view very large files.
      • If the PNG is supposed to be that large, you can still get the original through the external URL option.
    • b7fa7c3 Clients may use PluralKit users' configured colours for profile themeing (requires MSC4522)
    • db2c038 Support Discord's new way of marking attachments as spoilers
    • 0034193 b3ef973 63a6d37 Add privacy policy & opt out pages to web

    Changes

    • 82f921c Make poll vote counters say "2 votes" instead of just "2"
    • 8ec7b3f Change visual spacing around m->d blockquotes
    • c7dbd17 Move the part of generated embeds that's like "via FxTwitter" to the bottom
    • 9b01e52 Discord default file size limit is now 20 MB
    • c71120e Improved Discord startup checking
    • b765f56 Remove rather than truncate links in m->d reply preview
    • c035e49 Add (bot) to Matrix side displayname
    • 6cd3646 Send correct filename to web browser downloads via content-disposition header

    Fixes

    • 674cd53 Fix m->d poll questions over 45 characters erroring when voted on
    • 7229206 Fix error when forwarding a crosspost that lacks an author
    • 5e9f3cd Add one retry back to PluralKit API calls
    • c7389ff Improve d->m highlighting accuracy (mostly affects the toki pona community)
    • 965fcab m->d edits will wait for the original message to bridge before editing, rather than creating duplicate messages
    • 1bb22e3 Fix m->d replying to webhooks possibly erroring
    • 7faa8a3 Fix manual backfill script
    • cf12293 Allow anyone to respond to polls even when they can't post in the room
    • 2e84c71 Fix creating webhooks for matrix users
    • 0d398be Fix logging in to Matrix on web
    • 85b9e47 Parse room links from more misbehaving clients
    • 8f65b2f Fix the Responses menu command sometimes not showing all responses
    • ed0bdda Expressions http status typo 400 -> 500
    • 401985a Fix member leaves not being propagated immediately
    • cad8158 Relax mxc regexp
    • 47ccf98 Allow sending m->d files that have no filename by generating a filename
    • 73f410b Emoji name in messages may be uncapped
    • ab051f3 Fix polls in threads

    Code quality

    • 8779b8b f42d8a8 c8961a9 Update dependencies
    • 51e7d84 Add HTTP status to MatrixServerError
    • cf95f7d Add AI policy
      • Out Of Your Element is 100% organically cultivated ethical hand-fed code. Let's work together to conserve that!
    • 70b18c8 Guard against hopefully impossible situation
    • b9be8b5 Remove mistaken logging
    • 1dcd562 SnowTransfer error handling is no longer pathetic
    • c0c6419 Remove mx-reply earlier to skip tree walking it
    • 50d5509 Rename files for consistency
    • fb1e557 Docs: Update melody's oci image link
    Downloads