Skip to content

Releases: mautrix/go

v0.11.0

16 May 17:30
Compare
Choose a tag to compare
  • Bumped minimum Go version to 1.17.
  • Switched from /r0 to /v3 paths everywhere.
    • The new v3 paths are implemented since Synapse 1.48, Dendrite 0.6.5, and Conduit 0.4.0. Servers older than these are no longer supported.
  • Switched from blackfriday to goldmark for markdown parsing in the format module and added spoiler syntax.
  • Added EncryptInPlace and DecryptInPlace methods for attachment encryption. In most cases the plain/ciphertext is not necessary after en/decryption, so the old Encrypt and Decrypt are deprecated.
  • Added wrapper for /rooms/.../aliases.
  • Added utility for adding/removing emoji variation selectors to match recommendations on reactions in Matrix.
  • Added support for async media uploads (MSC2246).
  • Added automatic sleep when receiving 429 error (thanks to @ownaginatious in #44).
  • Added support for parsing spec version numbers from the /versions endpoint.
  • Removed unstable prefixed constant used for appservice login.
  • Fixed URL encoding not working correctly in some cases.

v0.10.12

15 Mar 23:37
Compare
Choose a tag to compare
  • Added option to use a different Client to send invites in IntentAPI.EnsureJoined.
  • Changed MessageEventContent struct to omit empty msgtypes in the output JSON, as sticker events shouldn't have that field.
  • Fixed deserializing the thumbnail_file field in FileInfo.
  • Fixed bug that broke SQLCryptoStore.FindDeviceByKey.

v0.10.11

15 Mar 23:35
Compare
Choose a tag to compare
  • Added automatic updating of state store from IntentAPI calls.
  • Added option to ignore cache in IntentAPI.EnsureJoined.
  • Added GetURLPreview as a wrapper for the /preview_url media repo endpoint.
  • Moved base58 module inline to avoid pulling in btcd as a dependency.

v0.10.10

16 Jan 18:10
Compare
Choose a tag to compare
  • Added event types and content structs for server ACLs and moderation policy lists (thanks to @qua3k in #59 and #60).
  • Added optional parameter to Client.LeaveRoom to pass a reason field.

v0.10.9

04 Jan 18:15
Compare
Choose a tag to compare
  • Breaking change: Changed Messages() to take a filter as a parameter instead of using the syncer's filter (thanks to @qua3k in #55 and #56).
    • The previous filter behavior was completely broken, as it sent a whole filter instead of just a RoomEventFilter.
    • Passing nil as the filter is fine and will disable filtering (which is equivalent to what it did before with the invalid filter).
  • Added Context() wrapper for the /context API (thanks to @qua3k in #54).
  • Added utility for converting media files with ffmpeg.

v0.10.8

30 Dec 11:04
Compare
Choose a tag to compare
  • Added OlmSession.Describe() to wrap olm_session_describe.
  • Added trace logs to log olm session descriptions when encrypting/decrypting to-device messages.
  • Added space event types and content structs.
  • Added support for power level content override field in CreateRoom.
  • Fixed ordering of olm sessions which would cause an old session to be used in some cases even after a client created a new session.

v0.10.7

30 Dec 11:01
Compare
Choose a tag to compare
  • Changed Client.RedactEvent to allow arbitrary fields in redaction request.

v0.10.5

06 Dec 12:15
Compare
Choose a tag to compare
  • Fixed websocket disconnection not clearing all pending requests.
  • Added OlmMachine.SendRoomKeyRequest as a more direct way of sending room key requests.
  • Added automatic Olm session recreation if an incoming message fails to decrypt.
  • Changed Login to only omit request content from logs if there's a password or token (appservice logins don't have sensitive content).

v0.10.4

30 Nov 10:33
Compare
Choose a tag to compare
  • Added reason field to invite and unban requests (thanks to @ptman in #48).
  • Fixed AppService.HasWebsocket() returning true even after websocket has disconnected.

v0.10.3

30 Nov 10:32
Compare
Choose a tag to compare
  • Added logs about incoming appservice transactions
  • Added support for message send checkpoints (as HTTP requests, similar to the bridge state reporting system)