Releases: mautrix/go
Releases Β· mautrix/go
v0.15.0
No changes since beta.3
Changes since v0.14.0
- Bumped minimum Go version to 1.19.
- Breaking changes
- (all) Switched to zerolog for logging.
- The
ClientandBridgestructs still include a legacy logger for backwards compatibility.
- The
- (client, appservice) Moved
SQLStateStorefrom appservice module to the top-level (client) module. - (client, appservice) Removed unused
Typingmap inSQLStateStore. - (client) Removed unused
SaveRoomandLoadRoommethods inStorer. - (client, appservice) Removed deprecated
SendVideoandSendImagemethods. - (client) Replaced
AppServiceUserIDfield withSetAppServiceUserIDboolean.
TheUserIDfield is used as the value for the query param. - (crypto) Renamed
GobStoretoMemoryStoreand removed the file saving features. The data can still be persisted, but the persistence part must be implemented separately. - (crypto) Removed deprecated
DeviceIdentityalias
(renamed toid.Devicelong ago). - (client) Removed
Stringifableinterface as it's the same asfmt.Stringer. - (appservice) Removed
Load()andAppService.Init()functions. The struct should just be created withCreate()and the relevant fields should be filled manually. - (appservice) Removed public
HomeserverURLfield and replaced it with aSetHomeserverURLmethod.
- (all) Switched to zerolog for logging.
- (client) Renamed
Storerinterface toSyncStore. A type alias exists for backwards-compatibility. - (crypto/cryptohelper) Added package for a simplified crypto interface for clients.
- (example) Added e2ee support to example using crypto helper.
- (client) Changed default syncer to stop syncing on
M_UNKNOWN_TOKENerrors. - (bridge) Added option to require room power level to run commands.
- (event) Added structs for MSC3952: Intentional Mentions.
- (util/variationselector) Added
FullyQualifymethod to add necessary emoji variation selectors without adding all possible ones. - (appservice) Added support for unix sockets for homeserver URL and appservice HTTP server.
- (crypto) Added message index to log after encrypting/decrypting megolm events, and when failing to decrypt due to duplicate index.
- (sqlstatestore) Fixed warning log for rooms that don't have encryption enabled.
v0.15.0-beta.3
- Breaking change (appservice) Removed
Load()andAppService.Init()functions. The struct should just be created withCreate()and the relevant fields should be filled manually. - Breaking change (appservice) Removed public
HomeserverURLfield and replaced it with aSetHomeserverURLmethod. - (appservice) Added support for unix sockets for homeserver URL and appservice HTTP server.
- (client) Changed request logging to log durations as floats instead of strings (using zerolog's
Dur(), so the exact output can be configured). - (bridge) Changed zerolog to use nanosecond precision timestamps.
- (crypto) Added message index to log after encrypting/decrypting megolm events, and when failing to decrypt due to duplicate index.
- (sqlstatestore) Fixed warning log for rooms that don't have encryption enabled.
v0.15.0-beta.2
- (bridge) Fixed building with
nocryptotag. - (bridge) Fixed legacy logging config migration not disabling file writer when
file_name_formatwas empty. - (bridge) Added option to require room power level to run commands.
- (event) Added structs for MSC3952: Intentional Mentions.
- (util/variationselector) Added
FullyQualifymethod to add necessary emoji variation selectors without adding all possible ones.
v0.15.0-beta.1
- Bumped minimum Go version to 1.19.
- Breaking changes
- (all) Switched to zerolog for logging.
- The
ClientandBridgestructs still include a legacy logger for backwards compatibility.
- The
- (client, appservice) Moved
SQLStateStorefrom appservice module to the top-level (client) module. - (client, appservice) Removed unused
Typingmap inSQLStateStore. - (client) Removed unused
SaveRoomandLoadRoommethods inStorer. - (client, appservice) Removed deprecated
SendVideoandSendImagemethods. - (client) Replaced
AppServiceUserIDfield withSetAppServiceUserIDboolean. TheUserIDfield is used as the value for the query param. - (crypto) Renamed
GobStoretoMemoryStoreand removed the file saving features. The data can still be persisted, but the persistence part must be implemented separately. - (crypto) Removed deprecated
DeviceIdentityalias (renamed toid.Devicelong ago).
- (all) Switched to zerolog for logging.
- (client) Renamed
Storerinterface toSyncStore. A type alias exists for backwards-compatibility. - (crypto/cryptohelper) Added package for a simplified crypto interface for clients.
- (example) Added e2ee support to example using crypto helper.
- (client) Changed default syncer to stop syncing on
M_UNKNOWN_TOKENerrors.
v0.14.0
- Breaking change (format) Refactored the HTML parser
Contextto have more data. - (id) Fixed escaping path components when forming matrix.to URLs or
matrix:URIs. - (bridge) Bumped default timeouts for decrypting incoming messages.
- (bridge) Added
RawArgsto commands to allow accessing non-split input. - (bridge) Added
ReplyAdvancedto commands to allow setting markdown settings. - (event) Added
notificationskey toPowerLevelEventContent. - (event) Changed
SetEditto cut off edit fallback if the message is long. - (util) Added
SyncMapas a simple generic wrapper for a map with a mutex. - (util) Added
ReturnableOnceas a wrapper forsync.Oncewith a return value.
v0.13.0
- Breaking change: Removed
IsTypingandSetTypinginappservice.StateStoreand removed theTypingStateStorestruct implementing those methods. - Breaking change: Removed legacy fields in Beeper MSS events.
- Added knocked rooms to sync response structs.
- Added wrapper for
/timestamp_to_eventendpoint added in Matrix v1.6. - Fixed MSC3870 uploads not failing properly after using up the max retry count.
- Fixed parsing non-positive ordered list start positions in HTML parser.
v0.11.1
v0.12.4
- Added
SendReceiptto support private read receipts and thread receipts in the same function.MarkReadWithContentis now deprecated. - Changed media download methods to return errors if the server returns a non-2xx status code.
- Removed legacy
sql_store_upgrade.Upgrademethod. Usingstore.DB.Upgrade()afterNewSQLCryptoStore(...)is recommended instead (the bridge module does this automatically). - Added missing
suggestedfield tom.space.childcontent struct. - Added
device_unused_fallback_key_typesto/syncresponse and appservice transaction structs. - Changed
ReqSetReadMarkersto omit empty fields. - Changed bridge configs to force
sqlite3-fk-walinstead ofsqlite3. - Updated bridge helper to close database connection when stopping.
- Fixed read receipt and account data endpoints sending
nullinstead of an empty object as the body when content isn't provided.
v0.12.3
- Breaking change: Added logging for row iteration in the dbutil package. This changes the return type of
Querymethods from*sql.Rowsto a newdbutil.Rowsinterface. - Added flag to disable wrapping database upgrades in a transaction (e.g. to allow setting
PRAGMAs for advanced table mutations on SQLite). - Deprecated
MessageEventContent.GetReplyToin favor of directly usingRelatesTo.GetReplyTo. RelatesTo methods are nil-safe, so checking if RelatesTo is nil is not necessary for using those methods. - Added wrapper for space hierarchyendpoint (thanks to @mgcm in #100).
- Added bridge config option to handle transactions asynchronously.
- Added separate channels for to-device events in appservice transaction handler to avoid blocking to-device events behind normal events.
- Added
RelatesTo.GetNonFallbackReplyToutility method to get the reply event ID, unless the reply is a thread fallback. - Added
event.TextToHTMLas an utility method to HTML-escape a string and replace newlines with<br/>. - Added check to bridge encryption helper to make sure the e2ee keys are still on the server. Synapse is known to sometimes lose keys randomly.
- Changed bridge crypto syncer to crash on
M_UNKNOWN_TOKENerrors instead of retrying forever pointlessly. - Fixed verifying signatures of fallback one-time keys.
v0.12.2
- Added utility method to redact bridge commands.
- Added thread ID field to read receipts to match Matrix v1.4 changes.
- Added automatic fetching of media repo config at bridge startup to make it easier for bridges to check homeserver media size limits.
- Added wrapper for the
/register/availableendpoint. - Added custom user agent to all requests mautrix-go makes. The value can be customized by changing the
DefaultUserAgentvariable. - Implemented MSC3664, MSC3862 and MSC3873 in the push rule evaluator.
- Added workaround for potential race conditions in OTK uploads when using appservice encryption (MSC3202).
- Fixed generating registrations to use
.+instead of[0-9]+in the username regex. - Fixed panic in megolm session listing methods if the store contains withheld key entries.
- Fixed missing header in bridge command help messages.