• v3.5 857fb7583b

    v3.5 Stable

    cadence released this 2026-03-27 06:20:04 +00:00 | 3 commits to main since this release

    How to update

    This version bundles even more long-requested fixes, as well as a partial implementation of virtual roles for Matrix. A great new feature is using the web UI to define default roles that all Matrix users should gain. In practice, you should use this to let Matrix users bypass a role gate in the server. In the future, I plan to expand this to allow assigning virtual roles to specific Matrix users, rather than the current all-or-nothing approach. This means you can have your beloved role gates work on both sides of the bridge (though in my opinion, for Matrix-side, the default privacy setting of direct user invites only should be sufficient to ensure that new joiners are good actors who understand the theme of your community).

    image

    Another new feature is that sims will be automatically removed from the Matrix-side if the user has already left on Discord-side. Some notes on this:

    • This will both keep up with live changes and also retroactively apply to users who left a long time ago, so it should all be taken care of automatically.
    • If, for some reason, not all sims were removed that should have been, please let me know about this (because it's a mistake) and then run node scripts/remove-uncached-bridged-users.js to fix it.
    • User-installed applications (most notably /plu/ral alters) will be removed on first run. They will be added back automatically next time the application is invoked, and OOYE will remember them so they won't be removed a second time - unless the Discord user does leave, which will remove all of their applications too.

    (Just like the previous release, if you are using Conduit, you are still required to use the next branch.)

    I'm also very excited to announce a new partnership with Grimace.AI. I don't have much information to share right at this moment, but you'll hear more about them in the coming days.

    Features

    • 6a2606c e6c3013 3365023 6716b43 Use Web UI to define Matrix users' default roles (i.e. bypass role gates)
    • 9eaa85c Add //invite Matrix command to get Discord invite
    • 876d91f 8c87d93 Remove sims when the Discord user leaves
      • e8d9a5e Script to remove uncached bridged users
        • Normally this should be handled automatically. Running this manually is only relevant if the first automated run was incomplete for whatever reason.
    • 9dbd871 Support Sable client's ping-with-reply toggle
      • This should also work with related features in other clients since it is done in a standardised way.
    • 41692b1 a8b7d64 07ec983 0b513b7 8224ed5 f742d85 m->d: Support per-message profiles (MSC4144)
    • 5c9e569 Support channel follow messages
    • e275d4c Add script to estimate total channel file size
    • 0cd7e1c Allow for custom additions to webroot
      • To use this, create a folder named custom-webroot in the root of OOYE and add your files. To make small changes, write a Pug file that imports the regular page and use a block override/append. The special file /custom-webroot/custom.css applies to all pages - but if you wish to use this, please think twice if it's really necessary and handle with extreme care if it is. I haven't written full documentation about this yet, I'm waiting for more feedback on this feature before I finalise it.

    Changes

    • ff022e8 Combine additional embed images into same event
    • f1b111a Refuse to operate on encrypted rooms rather than silence
      • They have never been supported, but now you actually get feedback about that fact.
    • 9b3707b d1aa8f0 Fix m->d stickers looking too big on Discord mobile
    • 5b04b5d Reformat /plu/ral emulated replies
    • e9fe820 d8c0a94 Automatically reload registration when changed
    • 8c023cc Copy ping() function from setup to REPL
    • 9f9cfdb Allow namespace prefix to be empty string
    • 411491b Remove live dependency on cadence.moe
    • ada3933 backfill: Create new rooms when needed
    • c75e87f Stream files in serveStatic for lower memory use

    Fixes

    • d3afa72 Fix m->d posting embeds even when setting is off
    • 59012d9 Fix pinning random messages (regressed in v3.4)
    • 780154f Fix bots with Administrator not knowing they may access all channels
    • 5f768fe d->m: Don't guess mentions in code blocks
    • d2557f7 Let sims rejoin after being unbanned
    • ee583fd Fix server names with numbers in them
    • ea261e8 Fix trying to generate usernames containing invalid characters
    • f5ee130 Handle expired invites & fix test registration (#73)
    • 99f4c52 Fix mistaken error message during room upgrade if user's client invited
    • 8b9d8ec Fix lines sometimes getting joined in reply preview
    • 7367fb3 Fix weird background clipping on icons

    Code quality

    • 09ea942 Remove deprecated db management
    • e779b41 Fix possible undefined property access
    • c68bac5 Document encryption as unsupported
    • 74c0c28 Update dependencies
    • f7a5b2d Update tryToCatch dependency and usages
    • cd8549d Fix sticker tests and coverage
    • 6ca1b83 Add more debugging information
    • f90cdfd Update dependencies, make stream-type independent
    • cb4e8df Fix package-lock
    • 711e024 Update dependencies
    • f8896dc Type fixes in set-presence.js
    • 0dac3d2 Internal language adjusted
    • 953b3e7 Attach message to error
    Downloads