- 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
eslint
for linting. (#262) - Sanity check that the homeserver can reach the bridge on startup. (#266)
- Update dependencies including
axios
,prom-client
anduuid
. The handling of entities in XMPP messages is now XML compliant rather than HTML5 complaint. (#267) - Add new store function
getAdminRoom
and 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
roomRules
configuration 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
/lib
for 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-support
to 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.enable
should 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)