Releases: matrix-org/matrix-appservice-irc
Releases · matrix-org/matrix-appservice-irc
0.15.2
0.15.1
0.15.0
0.15.0 (2020-02-05)
Features
- Breaking Change - Static mappings can now set a channel key:
- This changes the config schema, even if you do not make use of this feature. You MUST update your existing
mappings
to use the newroomIds
:old: mappings: "#thepub": ["!kieouiJuedJoxtVdaG:localhost"] new: mappings: "#thepub": roomIds: ["!kieouiJuedJoxtVdaG:localhost"]
- The key is automatically used to join Matrix users to the mapped channel. They do not need to know the key. For example, you can bridge password-protected IRC channels to invite-only Matrix rooms:
mappings: "#viplounge": roomIds: ["!xKtieojhareASOokdc:localhost"] key: "vip-pass" ``` ([\#591](https://github.com/matrix-org/matrix-appservice-irc/issues/591))
- This changes the config schema, even if you do not make use of this feature. You MUST update your existing
- Add 'defaultOnline' and 'excludeRegex' parameters to /reapUsers. (#930)
- Add support for MSC2346; adding information about the bridged channel into room state. (#941)
- Added
!listrooms
command to list which channels you are connected to. (#965)
Bugfixes
- Fix issue where bridges using NeDB would not start. (#955)
- Substitute
$SERVER
inircService.servers.*.dynamicChannels.aliasTemplate
when generating a room alias from channel (fixes thirdparty lookups and joining
by IRC channel name from Riot). (#958) - Fix an issue where the postgres migration script does not translate '_' => '.' (#962)
- Fix issue where migrating users from NeDB to Postgres would fail if they had a password. (#968)
- Fix bug where users would not be able to join a channel via
!join
. (#970)
Deprecations and Removals
- Removed
upgrade-db-0.*.js
scripts which were used to upgrade old versions of the NeDB database. If you are upgrading from <=0.9.1 then you can find the upgrade scripts here. (#947) - Remove
statsd
support as per #818 (#949) - Remove githooks, since they are unused. (#951)
Internal Changes
0.14.1
0.14.0
0.14.0 (2020-01-20)
Bugfixes
- If a new DM room is created for a IRC user, discard the old room. (#919)
- Fix missig config.schema.yml in the Docker image (#920)
- Stop trying to use sentry when config.sentry.enabled is false (#921)
- Improve reply matching logic for Matrix messages. (#925)
Internal Changes
- Use Typescript 3.7 and fix build issues. (#931)
0.14.0-rc4 (2019-12-18)
Bugfixes
- Massively speed up connection reaper by not syncing all rooms (#914)
- Tweak DB migration script to handle duplicate PMs and DB inconsistencies (#917)
- Handle replies that contain a displayname rather than a userid. (#918)
0.14.0-rc3 (2019-12-06)
Features
- Maximum AS transaction size has been raised from 5MB to 10MB. You may also now specify this limit in the config. (#907)
0.14.0-rc2 (2019-12-05)
Internal Changes
- Ensure that joins and leaves are performed linearly per-room. (#905)
0.14.0-rc1 (2019-11-29)
Features
- The project now uses Typescript for it's source code. (#808)
- Add support for PostgreSQL (#815)
- Add migration script for migrating NeDB databases to PostgreSQL. (#816)
- Add config option
excludedUsers
to exclude users from bridging by regex. (#820) - Support room upgrades on PostgreSQL. (#824)
- Delay ident responses until pending clients have connected. Thanks to @heftig for the initial PR. (#825)
- Allow admins to specify a bind port and/or hostname in the config. (#857)
- When !storepass is called, reconnect the user to ensure the password is set. (#864)
- Track last seen times of users between restarts (#876)
- Add dry run mode to the debugApi /reapUsers command. (#879)
- The bridge now supports error tracing via sentry (#897)
Bugfixes
- Inviting the bridge bot to an existing bridged room will no longer cause the room to be bridged as an admin room. Invites must also use
is_direct
. (#846) - Fix counter for leaving users. (#855)
- Replace calls to
/state
with more efficient calls, where possible. (#865) - Topic changes from Matrix no longer cause a ghost user to join the room. (#866)
- Ensure bot clients stay connected after being disconnected. (#867)
- Fix issue where the internal ipv6 counter would not be correctly set (#873)
- Fix bug where users could not store or remove their password (#874)
- Fix a bug where users could not generate registration files (#875)
- Fix uploaded long message URL's not sent to IRC side. (#889)
- Debug API is now correctly enabled on startup (#893)
- Quit the app with exitcode 1 if it fails to start (#894)
- The !storepass command now reconnects users with their new password. (#900)
Deprecations and Removals
- Statsd is deprecated in this release, and will be removed in the next. Users are encouraged to use prometheus instead, which has richer logging capabilites. (#837)
- Remove warnings/hacks around
config.appservice
. Users should have upgraded to the new format by now. (#849)
Internal Changes
- Refactor Datastore for Typescript (#809)
- Add linting support for Typescript files. (#810)
- Fatal exceptions are now logged to stdout in addition to logs. (#812)
- Refactor Datastore code to be more generic. (#814)
- Move schema.yml from /lib/config to / (#819)
- Use Towncrier for changelog management (#821)
- Internal conversions of model classes to Typescript (#822)
- Convert ClientPool and associated dependencies to Typescript (#826)
- Convert logging to Typescript (#827)
- Convert DebugApi to Typescript (#829)
- Typescriptify QuitDebouncer (#830)
- Typescriptify BridgedClient and dependencies (#831)
- Convert generator and formatter functions to Typescript (#832)
- Typescriptify IrcEventBroker (#833)
- Use seperate DBs for each integration test. (#834)
- Typescriptify IrcBridge (#836)
- Typescriptify irc syncer classes (#839)
- Do not call keepalive() callbacks if the user doesn't need to be kept alive. (#844)
- Typescriptify matrix handler class (#845)
- Remove
crc
andprom-client
packages. (#846) - Swap to using promises over timers for queuing messages on IRC connections. (#848)
- Typescriptify irc handler class (#850)
- Updates to Dockerfile to add multiple stages and support Typescript (#853)
- Rewrite provisioner/* in Typescript (#861)
- Refactor bot command handling into own class. (#863)
- Move some IRC specific functions from IrcBridge to ClientPool (#877)
- Use the DB to prefill some membership caches, reducing the number of HTTP calls made and speeding up bridge startup. (#881)
- Room directory visibility state for bridged rooms is now cached in the database (#882)
- Gracefully close irc connections on SIGTERM (#895)
- Log when a newly discovered irc user's profile is updated. (#896)
0.14.0-rc4
0.14.0-rc3
0.14.0-rc3 (2019-12-06)
Features
- Maximum AS transaction size has been raised from 5MB to 10MB. You may also now specify this limit in the config. (#907)
0.14.0-rc2
0.14.0-rc2 (2019-12-05)
Internal Changes
- Ensure that joins and leaves are performed linearly per-room. (#905)
0.14.0-rc1
0.14.0-rc1 (2019-11-29)
Features
- The project now uses Typescript for its source code. (#808)
- Add support for PostgreSQL (#815)
- Add migration script for migrating NeDB databases to PostgreSQL. (#816)
- Add config option
excludedUsers
to exclude users from bridging by regex. (#820) - Support room upgrades on PostgreSQL. (#824)
- Delay ident responses until pending clients have connected. Thanks to @heftig for the initial PR. (#825)
- Allow admins to specify a bind port and/or hostname in the config. (#857)
- When !storepass is called, reconnect the user to ensure the password is set. (#864)
- Track last seen times of users between restarts (#876)
- Add dry run mode to the debugApi /reapUsers command. (#879)
- The bridge now supports error tracing via sentry (#897)
Bugfixes
- Inviting the bridge bot to an existing bridged room will no longer cause the room to be bridged as an admin room. Invites must also use
is_direct
. (#846) - Fix counter for leaving users. (#855)
- Replace calls to
/state
with more efficient calls, where possible. (#865) - Topic changes from Matrix no longer cause a ghost user to join the room. (#866)
- Ensure bot clients stay connected after being disconnected. (#867)
- Fix issue where the internal ipv6 counter would not be correctly set (#873)
- Fix bug where users could not store or remove their password (#874)
- Fix a bug where users could not generate registration files (#875)
- Fix uploaded long message URL's not sent to IRC side. (#889)
- Debug API is now correctly enabled on startup (#893)
- Quit the app with exitcode 1 if it fails to start (#894)
- The !storepass command now reconnects users with their new password. (#900)
Deprecations and Removals
- Statsd is deprecated in this release, and will be removed in the next. Users are encouraged to use prometheus instead, which has richer logging capabilites. (#837)
- Remove warnings/hacks around
config.appservice
. Users should have upgraded to the new format by now. (#849)
Internal Changes
- Refactor Datastore for Typescript (#809)
- Add linting support for Typescript files. (#810)
- Fatal exceptions are now logged to stdout in addition to logs. (#812)
- Refactor Datastore code to be more generic. (#814)
- Move schema.yml from /lib/config to / (#819)
- Use Towncrier for changelog management (#821)
- Internal conversions of model classes to Typescript (#822)
- Convert ClientPool and associated dependencies to Typescript (#826)
- Convert logging to Typescript (#827)
- Convert DebugApi to Typescript (#829)
- Typescriptify QuitDebouncer (#830)
- Typescriptify BridgedClient and dependencies (#831)
- Convert generator and formatter functions to Typescript (#832)
- Typescriptify IrcEventBroker (#833)
- Use seperate DBs for each integration test. (#834)
- Typescriptify IrcBridge (#836)
- Typescriptify irc syncer classes (#839)
- Do not call keepalive() callbacks if the user doesn't need to be kept alive. (#844)
- Typescriptify matrix handler class (#845)
- Remove
crc
andprom-client
packages. (#846) - Swap to using promises over timers for queuing messages on IRC connections. (#848)
- Typescriptify irc handler class (#850)
- Updates to Dockerfile to add multiple stages and support Typescript (#853)
- Rewrite provisioner/* in Typescript (#861)
- Refactor bot command handling into own class. (#863)
- Move some IRC specific functions from IrcBridge to ClientPool (#877)
- Use the DB to prefill some membership caches, reducing the number of HTTP calls made and speeding up bridge startup. (#881)
- Room directory visibility state for bridged rooms is now cached in the database (#882)
- Gracefully close irc connections on SIGTERM (#895)
- Log when a newly discovered irc user's profile is updated. (#896)
develop-2019-11-26
Merge pull request #889 from matrix-org/jaywink/fix-upload-text-file Fix uploaded long message URL's not sent to IRC side