Releases: matrix-org/matrix-appservice-irc
2.0.0 (2024-04-08)
Note: This release drops support for Node 18. The minimum required version is now 20+.
Note: This release includes a moderate security fix for CVE-2024-32000
Bugfixes
- Fix Redis <=6.2 failing to clear the command queue in pooling mode. (#1763)
- Fix GitHub CI docker builds failing for community PRs. (#1767)
Improved Documentation
- Mention that the libera.chat bridge has since been shut down. (#1784)
Deprecations and Removals
- Drop
dynamicChannels.groupId
config option. Groups were unstable and are no longer supported by any Matrix implementations. (#1772)
Internal Changes
- Remove some build-time dependencies from the runtime dependency list. (#1758)
- Add option to ignore "functional members" when checking if an admin room contains two users. (#1782)
- Fixup types for Timers so the bridge works with newer node versions. (#1788)
- Update dependencies. (#1798)
- Add tests for various forms of rich replies. (#1799)
1.0.1 (2023-07-31)
It is strongly reccomended you upgrade your bridge, as this release contains security fixes.
🔒 Security
- Fixes for GHSA-vc7j-h8xg-fv5x.
- Fixes for GHSA-3pmj-jqqp-2mj3.
- Fixes for GHSA-c7hh-3v6c-fj4q
Bugfixes
- Improve processing speed of commands sent to and from the proxy when the bridge is configured in pooling mode. (#1751)
- Ensure QUIT messages are always sent. (#1752)
- Ensure we don't bloat irc supported state. (#1753)
- Fix a case where the bridge would not listen for and apply bans for legacy/unspec'd
m.room.rule.*
types in use by Mjolnir. (#1755, #1759) - Refactor the command parser for admin and room commands, ensuring we correctly trim the command. (#1756)
Internal Changes
- Update matrix-appservice-bridge to 9.0.1. (#1760)
1.0.0
1.0.0 (2023-06-09)
Note: This release drops support for Node 16. The minimum required version is now 18+.
Several changes were made since the previous RC, mostly fixes around our incoming connection pooling feature. The feature is
still considered unstable for the time being, so please be careful when trying it out.
Features
- IRC connections can now be run via an external process using "connection pooling", allowing the bridge to be restarted without IRC connection loss. (#1669)
- Make bridgeInfoState configuration reloadable. (#1681)
- Bridge logging can now be hot-reloaded. (#1704)
- New PM rooms are configured to disable calls, reactions, redactions, and stickers;
as they could not be bridged anyway. (#1663) - The bridge now logs the user performing plumb/unplumb operations for easy auditing. (#1738)
Bugfixes
- Fix not handling thread fallbacks as replies. (#1697)
- Show a helpful error for !link/!unlink admin failures, rather than "Check the logs for details", in more cases. (#1702)
- Fix documentation not being built and uploaded to GitHub pages on release. (#1703)
- Fix linking rooms from setup widget when a
networkId
is configured. (#1706) - Fix the bridge pooling so it supports TLS. (#1709)
- Fix setup widget failing to authenticate. (#1711)
- Sort the list of channels in !listrooms output. (#1715)
- Fix cases where the IRC bridge may erronously believe a user is not joined to a channel in pooling mode. (#1717)
- Allow usernames to include more characters when using the
!username
command. (#1719) - Ensure that all passwords can be decrypted on startup, to detect any issues with the provided passkey. (#1720)
- Fixes cases where powerlevel changes may not be correctly applied upon mode change. (#1732)
- Fix a case where a proxied client connection may get missed until they use the bridge on startup, leading to missed
messages and logspam. (#1737)
Deprecations and Removals
- Add support for Node 20, and drop support for Node 16. (#1701)
Internal Changes
- Rename internal variable infoMapping to initialEvent. (#1672)
1.0.0-rc1 (2023-04-28)
Note: This release drops support for Node 16. The minimum required version is now 18+.
Features
- IRC connections can now be run via an external process using "connection pooling", allowing the bridge to be restarted without IRC connection loss. (#1669)
- Make bridgeInfoState configuration reloadable. (#1681)
- Bridge logging can now be hot-reloaded. (#1704)
Bugfixes
- Fix not handling thread fallbacks as replies. (#1697)
- Show a helpful error for !link/!unlink admin failures, rather than "Check the logs for details", in more cases. (#1702)
- Fix documentation not being built and uploaded to GitHub pages on release. (#1703)
- Fix linking rooms from setup widget when a
networkId
is configured. (#1706)
Deprecations and Removals
- Add support for Node 20, and drop support for Node 16. (#1701)
Internal Changes
- Rename internal variable infoMapping to initialEvent. (#1672)
0.38.0 (2023-04-12)
0.37.1 (2023-03-07)
0.37.0 (2023-02-08)
Features
- Add support for Node.JS 19. (#1646)
- Refactor provisioning API to use
matrix-appservice-bridge
, adding support for OpenID token auth among other improvements. (#1655) - Add a UI in the form of a Matrix widget for linking and unlinking channels from a Matrix room. (#1656)
Bugfixes
- Document 8090 to be the default port, to match the code's behaviour. (#1427)
- Fix the configured bind port being overridden in Docker. (#1654)
Internal Changes
- Update builder image for Freebind from Stretch (EOL) to Buster. (#1653)
0.36.0 (2022-10-25)
Bugfixes
- Disable metrics by default. (#1596)
- Fix distribution of IrcServer.randomDomain() which tended to pick domains with a lower index when there are a lot of addresses for a server. (#1612)
- Prevent runtime errors by provisisioning a room with a specific roomID. (#1614)
Improved Documentation
- Fix typos in the documentation. (#1599)
- Update bridged networks doc to point towards GitHub issue #1483. (#1626)
Deprecations and Removals
- Breaking change: Raises the required NodeJS version to 16.
Fixes Room visibility setting being broken for appservice directories. (#1616) - User activity tracking is now disabled by default, unless
userActivity
is enabled in the config. (#1638)
Internal Changes
- docker: prune dev dependencies from node_modules. (#1541)
- Logging: Use Map instead of object. (#1608)
- Refactor Logging: Increase explicit TypeScript types and safer loops. (#1609)
- Refactors: Reduce use of Bluebird, increase explicit types, use safer loops. (#1611)
- Replace uses of the deprecated String.prototype.substr(). (#1615)
- Add support for running tests against a real IRCd and Matrix homeserver in CI. (#1622)
- Update to matrix-appservice-bridge 6.0.0. (#1631)
0.35.1 (2022-09-26)
🔒 Security
This release addresses a security vulnerability in the bridge. Please update as a matter of urgency. A matrix.org blog post detailing the specifics of the bugs will be available soon.
Mitigation
A new security vulnerability was found in the matrix-appservice-irc bridge, for which we are releasing 0.35.1 as a fix. If you have the provisioning API enabled, this is potentially exploitable, so we advise you to upgrade immediately.
In case you cannot upgrade at the moment, we advise to update your IRC bridge configuration as a mitigation as follows:
- Change user permissions to prevent untrusted users from issuing !plumb commands.
- Disable provisioning if enabled.
You may revert these configuration changes after patching.
Bugfixes
- Prevent possible attack by provisisioning a room with a specific roomID. (#1619)
0.35.0 (2022-09-13)
🔒 Security
This release addresses security vulnerabilities in the bridge. Please update as a matter of urgency. A matrix.org blog post detailing the specifics of the bugs will be available soon.
Features
- Add new Debug API
/warnReapUsers
which allows bridges to send a warning to users when they are going to be idle reaped. (#1571)
Bugfixes
- Truncated messages now default to wrapping URLs in angle brackets. (#1573)