- Deprecate the "nedb" datastore engine, and fix known crash when using it in Node 24. (#374)
- Fix incoming messages in DM rooms created after having left an older DM room with the same XMPP user. (#376)
- CI: Fix changelog job. (#375)
- Update
matrix-appservice-bridgeto fixIO.ELEMENT.MSC4190.M_APPSERVICE_LOGIN_UNSUPPORTEDerror with MSC4190 enabled homeservers. (#371)
- Update required Node version to 22. (#371)
- Move MediaProxy configuration to the toplevel
========================
Note: With version 2.0.0, the bridge takes over the serving of Matrix media, which until now was the responsibility of the homeserver.
To allow that, a Media Proxy needs to be configured and accessible from the internet. Please refer to the mediaProxy section in the config for details on how to configure it.
This replaces the mediaserverUrl config option.
- Use MediaProxy to serve authenticated Matrix media. (#365)
- Fix a few cases where Bifrost may crash if an event fails to be handled. (#360)
- Update matrix-appservice-bridge to fix the issues discovered in -rc1
========================
Note: With version 2.0.0, the bridge takes over the serving of Matrix media, which until now was the responsibility of the homeserver.
To allow that, a Media Proxy needs to be configured and accessible from the internet. Please refer to the mediaProxy section in the config for details on how to configure it.
This replaces the mediaserverUrl config option.
- Use MediaProxy to serve authenticated Matrix media. (#365)
- Fix a few cases where Bifrost may crash if an event fails to be handled. (#360)
- Fix several cases where Bifrost may crash if a gateway room was inaccessible. (#355)
- Catch errors when profile updates fail. Notably, prevent fatal errors when an inbound displayname change fails. (#359)
- Fix docker image containing extra dependencies. (#353)
- Log precise error when failing to connect to homeserver on startup. (#344)
- Replace several packages with core node APIs. (#345)
- Reduce docker image size by removing unused packages. (#346)
- Drop support for Node 16, and support Node 20 and 21. (#343)
- Upgrade json5 (development dependency) to 1.0.2 to fix prototype pollution vulnerability. (#328)
- Fix being unable to join XMPP MUCs via Matrix room aliases. (#323)
- Fix crash on startup due to logging / metrics failures. (#321)
This release requires Node.JS 16 or greater.
- Add support for Jingle file uploads, presence, IM typing notifications for the XMPP backend. (#288)
- Include attachment URLs (if present) with libpurple-bridged messages (#290)
- Fix an issue where Bifrost could not register users (by upgrading to matrix-appservice-bridge@2.6.0) (#246)
- Don't log pings being sent before they're actually sent (#260)
- Make XMPP connection handling more resilient (#264)
- Fix message formatter sometimes producing invalid HTML (#286)
- correct typo of pluginDir in sample config/doc (#302)
- The minimum supported version of node.js is now 16. (#315)
- Optimize updateMatrixMemberListForRoom() (#243)
- Migrate to
eslintfor linting. (#262) - Sanity check that the homeserver can reach the bridge on startup. (#266)
- Update dependencies including
axios,prom-clientanduuid. The handling of entities in XMPP messages is now XML compliant rather than HTML5 complaint. (#267) - Add new store function
getAdminRoomand renamegetRoomByRemoteData->getGroupRoomByRemoteData(#272) - Speed up joins for large rooms from XMPP gateways, preventing them from locking up the process (#293)
- Docker images are now automatically build and published via GitHub Actions, replacing DockerHub Autobuilds. (#295)
- Use GitHub actions for CI. (#316)
- Add
roomRulesconfiguration to block rooms. (#224)
-
- Add @xmpp/component-core and @xmpp/reconnect dependencies so the project is installed well with pnpm (#173). Thanks to @bodqhrohro (#192)
- If the bridge is already connected to a remote room requested via an alias, add that alias to the room. (#208)
- Fix bridge errors not showing human error text due to a missing attribute on a stanza. (#209)
- Download files as binary instead of as UTF-8 string. (#220)
- Fix TypeError in MatrixEventHandler (#221)
- Improve remote gateway join performance (#222)
- Validate room joins to ensure they contain a handle, domain and localparts (#225)
- Add CONTRIBUTING.md (#189)
- Check if a MUC room exists before creating a portal (#188)
- XMPP self-pings to gateways will now return an error if the device is not in a MUC (#184)
- The bridge will no longer part remote users who have another device joined to a gateway room (#185)
- Ensure stanzas are emitted in the right order when an XMPP user joins a MUC (#189)
- Report message corrections as an available feature to MUCs (#149)
- Support Matrix -> XMPP edits (#154)
- Set the user's displayname in the room based on their nickname (#161)
- The bridge will now close the AS and XMPP connections on a SIGTERM signal (#182)
- Fix compatibility with XEP-0045 by only sending messages after sending all presence to new joiners (#134)
- Fix a bug that would cause some XMPP clients to assume that Gateway MUCs are unjoinable (#138)
- Fix bug where failed messages would be reported as successful (#148)
- Send leaves from the anonymous JID, not mxid (#150)
- Improve performance of Matrix -> XMPP gateway messages and joining (#159)
- Fix a critical issue where sending HTML with multiple attributes in a tag would cause the message to not be sent (#170)
- Do not send back an additional error stanza on S2S ping (#171)
- Self pings to gateways should check devices, not MUC JIDs (#177)
- Fix issue where XMPP users would not be informed of other XMPP users joining (#179)
- Fixed an issue where if creating a room for a remote chat failed, it would not allow users to retry joining (#180)
- Fix an issue where joining a room through the XMPP gateway would sometimes fail if the user was invited (#181)
- Upgrade dependencies and types (#133)
- Tests now show Typescript stacktraces (#142)
- Use
/libfor build output rather than/build/(src|test)(#169) - Improve support for multiple devices for XMPP users connected to the gateway (#176)
- Some errors now report helpful error text (#178)
- Fix exception involving
log.log(#109)
- Moved
source-map-supportto dependencies to fix a crash on startup. (#108)
- TypeScript stack traces are now shown instead of compiled JavaScript. (#105)
- Fix issue where the XMPP gateway would incorrecly report that a user isn't joined (#107)
- XMPP and Matrix users are no longer anonymous over the gateway. This is to keep in line with Matrix's own identity visibility. (#97)
- Matrix profiles can now be viewed over the gateway (#96)
- Refactor ping handling to support Server-Server pings. (#101)
- Kicking gatewayed XMPP users should now contain the correct status codes. (#102)
- Additionally, XMPP profiles should now be viewable over Matrix.
- Use Typescript 3.7.5 (#95)
- Refactor vcard support for gateways (#103)
- Refactor profile handing for the gateway handler (#104)
- Fix issue where XMPP message corrections would not get sent to Matrix. (#90)
config.metrics.enableshould beconfig.metrics.enabled. Please update config files to match. (#92)- Fix issue where sending content from a remote network will use the JSON body for the
url. - Fix self pings not quite working on XMPP.
- Fix bug where docker would not build using
yarn(#89)
NOTE: This is the first versioned release for Bifrost. The application is still in an unstable state and is not reccomended for production use.
- Start tracking releases and using Towncrier. (#86)