A Golang Matrix framework. https://maunium.net/go/mautrix
  • Go 99.7%
  • PLpgSQL 0.3%
Find a file
2026-08-10 01:09:12 +03:00
.github/workflows ci: add gotestfmt for goolm tests 2026-05-12 17:44:06 +03:00
appservice bridgev2/matrix: Propagate start errors to caller (#488) 2026-04-15 14:45:37 +03:00
beeperstream beeperstream: add framework for streaming using to-device events (#473) 2026-03-25 15:25:26 +01:00
bridgev2 bridgev2/provisioning: redo client HTTP to be transparent for bridges (#540) 2026-08-04 14:33:40 +03:00
commands event/cmdschema: disallow positional optional parameters and add tail parameters 2026-01-11 23:42:24 +02:00
crypto crypto/goolm: validate signing key seed length 2026-08-08 19:45:21 +03:00
event event: implement keep_trigger for MSC4461 2026-08-10 01:09:12 +03:00
example pre-commit: ban log.Str(x.String()) 2025-08-29 11:07:16 +03:00
federation federation/eventauth: allow providing precomputed auth events (#543) 2026-08-09 22:55:55 +03:00
format format: deduplicate users in m.mentions when parsing html 2026-08-03 21:41:11 +03:00
id crypto/decryptmegolm: add new trust level for imported keys 2026-05-12 16:27:29 +03:00
mediaproxy mediaproxy: improve internal error messages 2026-05-11 15:32:18 +03:00
mockserver client: add type parameter to UIA request bodies (#469) 2026-03-07 14:26:42 +00:00
oauth oauth: remove old account management actions 2026-07-31 15:33:01 +03:00
pushrules pushrules: deprecate DontNotify and Coalesce, remove NotifySpecified 2026-06-09 13:03:20 +03:00
sqlstatestore crypto: plumb history visibility to megolm session creation 2026-07-18 19:36:55 +03:00
synapseadmin synapseadmin: Add support for /_synapse/admin/v1/user/redact/... and the relevant status endpoint (#466) 2026-03-20 16:43:16 +00:00
.editorconfig bridgev2/matrix: add OpenAPI spec for provisioning API 2024-08-10 17:43:53 +03:00
.gitignore beeperstream: add framework for streaming using to-device events (#473) 2026-03-25 15:25:26 +01:00
.pre-commit-config.yaml ci: update actions and pre-commit hooks 2025-12-13 10:54:58 +02:00
CHANGELOG.md changelog: fix typo in link 2026-07-29 20:13:41 +03:00
client.go client: only refresh token on M_UNKNOWN_TOKEN rather than any 401 2026-08-08 19:31:30 +03:00
client_retry_test.go client: Rework network request retries (#492) 2026-05-14 08:40:54 -04:00
error.go error: add nil safety 2026-07-16 21:17:46 +03:00
filter.go all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
go.mod crypto: make megolm decrypt locking more customizable 2026-07-19 16:07:52 +03:00
go.sum crypto: make megolm decrypt locking more customizable 2026-07-19 16:07:52 +03:00
LICENSE treewide: fixup for pre-commit 2022-01-27 09:35:41 -07:00
oauth.go oauth: add more buffer for refreshing tokens with long lifetimes 2026-07-12 12:48:23 +03:00
README.md readme: update 2026-03-05 11:59:11 +02:00
requests.go client: add support for oauth login 2026-07-12 02:33:49 +03:00
responses.go client: add wrapper for /rtc/transports endpoint 2026-07-22 19:34:27 +03:00
responses_test.go crypto/canonicaljson: disable old code entirely when jsonv2 is enabled 2026-05-14 17:56:02 +03:00
room.go all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
statestore.go crypto: plumb history visibility to megolm session creation 2026-07-18 19:36:55 +03:00
sync.go sync: add sticky events support 2026-04-06 19:59:23 +03:00
syncstore.go Merge remote-tracking branch 'recht/synccontext' 2024-01-07 15:37:18 +02:00
url.go all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
url_test.go Switch to /v3 paths everywhere 2022-04-17 12:59:34 +03:00
version.go Bump version to v0.29.0 2026-07-16 12:45:31 +03:00
versions.go client: add wrapper for /rtc/transports endpoint 2026-07-22 19:34:27 +03:00
versions_test.go Parse spec version numbers in /versions response 2022-05-06 14:31:38 +03:00

mautrix-go

GoDoc

A Golang Matrix framework. Used by gomuks, go-neb, mautrix-whatsapp and others.

Matrix room: #go:maunium.net

This project is based on matrix-org/gomatrix. The original project is licensed under Apache 2.0.

In addition to the basic client API features the original project has, this framework also has:

  • Appservice support (Intent API like mautrix-python, room state storage, etc)
  • End-to-end encryption support (incl. key backup, cross-signing, interactive verification, etc)
  • High-level module for building puppeting bridges
  • Partial federation module (making requests, PDU processing and event authorization)
  • A media proxy server which can be used to expose anything as a Matrix media repo
  • Wrapper functions for the Synapse admin API
  • Structs for parsing event content
  • Helpers for parsing and generating Matrix HTML
  • Helpers for handling push rules