Skip to content

Releases: mautrix/go

v0.23.1

16 Feb 15:20
Compare
Choose a tag to compare
  • (client) Added FullStateEvent method to get a state event including metadata (using the ?format=event query parameter).
  • (client) Added wrapper method for MSC4194's redact endpoint.
  • (pushrules) Fixed content rules not considering word boundaries and being case-sensitive.
  • (crypto) Fixed bugs that would cause key exports to fail for no reason.
  • (crypto) Deprecated ResolveTrust in favor of ResolveTrustContext.
  • (crypto) Stopped accepting secret shares from unverified devices.
  • Breaking change (crypto) Changed GetAndVerifyLatestKeyBackupVersion to take an optional private key parameter. The method will now trust the public key if it matches the provided private key even if there are no valid signatures.
  • Breaking change (crypto) Added context parameter to IsDeviceTrusted.

v0.23.0

16 Jan 11:19
Compare
Choose a tag to compare
  • Breaking change (client) Changed JoinRoom parameters to allow multiple vias.
  • Breaking change (bridgev2) Updated capability system.
    • The return type of NetworkAPI.GetCapabilities is now different.
    • Media type capabilities are enforced automatically by bridgev2.
    • Capabilities are now sent to Matrix rooms using the com.beeper.room_features state event.
  • (client) Added GetRoomSummary to implement MSC3266.
  • (client) Added support for arbitrary profile fields to implement MSC4133 (thanks to @nexy7574 in #337).
  • (crypto) Started storing olm message hashes to prevent decryption errors if messages are repeated (e.g. if the app crashes right after decrypting).
  • (crypto) Improved olm session unwedging to check when the last session was created instead of only relying on an in-memory map.
  • (crypto/verificationhelper) Fixed emoji verification not doing cross-signing properly after a successful verification.
  • (bridgev2/config) Moved MSC4190 flag from appservice to encryption.
  • (bridgev2/space) Fixed failing to add rooms to spaces if the room create call was made with a temporary context.
  • (bridgev2/commands) Changed help command to hide commands which require interfaces that aren't implemented by the network connector.
  • (bridgev2/matrixinterface) Moved deterministic room ID generation to Matrix connector.
  • (bridgev2) Fixed service member state event not being set correctly when creating a DM by inviting a ghost user.
  • (bridgev2) Fixed RemoteReactionSync events replacing all reactions every time instead of only changed ones.

v0.22.1

16 Dec 14:04
Compare
Choose a tag to compare
  • (crypto) Added automatic cleanup when there are too many olm sessions with a single device.
  • (crypto) Added helper for getting cached device list with cross-signing status.
  • (crypto/verificationhelper) Added interface for persisting the state of in-progress verifications.
  • (client) Added GetMutualRooms wrapper for MSC2666.
  • (client) Switched JoinRoom to use the via query param instead of server_name as per MSC4156.
  • (bridgev2/commands) Fixed pm command not actually starting the chat.
  • (bridgev2/interface) Added separate network API interface for starting chats with a Matrix ghost user. This allows treating internal user IDs differently than arbitrary user-input strings.
  • (bridgev2/crypto) Added support for MSC4190 (thanks to @onestacked in #288).

v0.22.0

16 Nov 14:06
Compare
Choose a tag to compare
  • (hicli) Moved package into gomuks repo.
  • (bridgev2/commands) Fixed cookie unescaping in login commands.
  • (bridgev2/portal) Added special DefaultChatName constant to explicitly reset portal names to the default (based on members).
  • (bridgev2/config) Added options to disable room tag bridging.
  • (bridgev2/database) Fixed reaction queries not including portal receiver.
  • (appservice) Updated MSC2409 stable registration field name from push_ephemeral to receive_ephemeral. Homeserver admins must update existing registrations manually.
  • (format) Added support for img tags.
  • (format/mdext) Added goldmark extensions for Matrix math and custom emojis.
  • (event/reply) Removed support for generating reply fallbacks (MSC2781).
  • (pushrules) Added support for sender_notification_permission condition kind (used for @room mentions).
  • (crypto) Added support for json.RawMessage in EncryptMegolmEvent.
  • (mediaproxy) Added GetMediaResponseCallback and GetMediaResponseFile to write proxied data directly to http response or temp file instead of having to use an io.Reader.
  • (mediaproxy) Dropped support for legacy media download endpoints.
  • (mediaproxy,bridgev2) Made interface pass through query parameters.

v0.21.1

16 Oct 07:34
Compare
Choose a tag to compare
  • (bridgev2) Added more features and fixed bugs.
  • (hicli) Added more features and fixed bugs.
  • (appservice) Removed TLS support. A reverse proxy should be used if TLS is needed.
  • (format/mdext) Added goldmark extension to fix indented paragraphs when disabling indented code block parser.
  • (event) Added Has method for Mentions.
  • (event) Added basic support for the unstable version of polls.

v0.21.0

16 Sep 10:56
Compare
Choose a tag to compare
  • Breaking change (client) Dropped support for unauthenticated media. Matrix v1.11 support is now required from the homeserver, although it's not enforced using /versions as some servers don't advertise it.
  • (bridgev2) Added more features and fixed bugs.
  • (appservice,crypto) Added support for using MSC3202 for appservice encryption.
  • (crypto/olm) Made everything into an interface to allow side-by-side testing of libolm and goolm, as well as potentially support vodozemac in the future.
  • (client) Fixed requests being retried even after context is canceled.
  • (client) Added option to move /sync request logs to trace level.
  • (error) Added Write and WithMessage helpers to RespError to make it easier to use on servers.
  • (event) Fixed org.matrix.msc1767.audio field allowing omitting the duration and waveform.
  • (id) Changed MatrixURI methods to not panic if the receiver is nil.
  • (federation) Added limit to response size when fetching .well-known files.

v0.20.0

16 Aug 08:59
Compare
Choose a tag to compare
  • Bumped minimum Go version to 1.22.
  • (bridgev2) Added more features and fixed bugs.
  • (event) Added types for MSC4144: Per-message profiles.
  • (federation) Added implementation of server name resolution and a basic client for making federation requests.
  • (crypto/ssss) Changed recovery key/passphrase verify functions to take the key ID as a parameter to ensure it's correctly set even if the key metadata wasn't fetched via GetKeyData.
  • (format/mdext) Added goldmark extensions for single-character bold, italic and strikethrough parsing (as in *foo* -> foo, _foo_ -> foo and ~foo~ -> foo)
  • (format) Changed RenderMarkdown et al to always include m.mentions in returned content. The mention list is filled with matrix.to URLs from the input by default.

v0.19.0

16 Jul 08:16
Compare
Choose a tag to compare

Also note the v0.19.0-beta.1 changelog, there were some slightly breaking changes.

  • Renamed master branch to main.
  • (bridgev2) Added more features.
  • (crypto) Fixed bug with copying m.relates_to from wire content to decrypted content.
  • (mediaproxy) Added module for implementing simple media repos that proxy requests elsewhere.
  • (client) Changed Members() to automatically parse event content for all returned events.
  • (bridge) Added /register call if /versions fails with M_FORBIDDEN.
  • (crypto) Fixed DecryptMegolmEvent sometimes calling database without transaction by using the non-context version of ResolveTrust.
  • (crypto/attachment) Implemented io.Seeker in EncryptStream to allow using it in retriable HTTP requests.
  • (event) Added helper method to add user ID to a Mentions object.
  • (event) Fixed default power level for invites (thanks to @rudis in #250).
  • (client) Fixed incorrect warning log in State() when state store returns no error (thanks to @rudis in #249).
  • (crypto/verificationhelper) Fixed deadlock when ignoring unknown cancellation events (thanks to @rudis in #247).

v0.19.0-beta.1

16 Jun 20:40
Compare
Choose a tag to compare
v0.19.0-beta.1 Pre-release
Pre-release
  • (bridgev2) Added experimental high-level bridge framework.
  • (hicli) Added experimental high-level client framework.
  • Slightly breaking changes
    • (crypto) Added room ID and first known index parameters to SessionReceived callback.
    • (crypto) Changed ImportRoomKeyFromBackup to return the imported session.
    • (client) Added error parameter to ResponseHook.
    • (client) Changed Download to return entire response instead of just an io.Reader.
  • (crypto) Changed initial olm device sharing to save keys before sharing to ensure keys aren't accidentally regenerated in case the request fails.
  • (crypto) Changed EncryptMegolmEvent and ShareGroupSession to return more errors instead of only logging and ignoring them.
  • (crypto) Added option to completely disable megolm ratchet tracking.
    • The tracking is meant for bots and bridges which may want to delete old keys, but for normal clients it's just unnecessary overhead.
  • (crypto) Changed Megolm session storage methods in Store to not take sender key as parameter.
    • This causes a breaking change to the layout of the MemoryStore struct. Using MemoryStore in production is not recommended.
  • (crypto) Changed DecryptMegolmEvent to copy m.relates_to in the raw content too instead of only in the parsed struct.
  • (crypto) Exported function to parse megolm message index from raw ciphertext bytes.
  • (crypto/sqlstore) Fixed schema of crypto_secrets table to include account ID.
  • (crypto/verificationhelper) Fixed more bugs.
  • (client) Added UpdateRequestOnRetry hook which is called immediately before retrying a normal HTTP request.
  • (client) Added support for MSC3916 media download endpoint.
    • Support is automatically detected from spec versions. The SpecVersions property can either be filled manually, or Versions can be called to automatically populate the field with the response.
  • (event) Added constants for known room versions.

v0.18.1

16 Apr 11:00
Compare
Choose a tag to compare
  • (format) Added a context.Context field to HTMLParser's Context struct.
  • (bridge) Added support for handling join rules, knocks, invites and bans (thanks to @maltee1 in #193 and #204).
  • (crypto) Changed forwarded room key handling to only accept keys with a lower first known index than the existing session if there is one.
  • (crypto) Changed key backup restore to assume own device list is up to date to avoid re-requesting device list for every deleted device that has signed key backup.
  • (crypto) Fixed memory cache not being invalidated when storing own cross-signing keys