A Golang Matrix framework. https://maunium.net/go/mautrix
  • Go 99.8%
  • PLpgSQL 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-29 19:45:50 +01:00
.github/workflows main: bump minimum Go version to 1.26 2026-08-20 17:29:23 +03:00
appservice all: use omitzero for ints and bools for jsonv2 compatibility 2026-08-25 15:49:53 +03:00
beeperstream beeperstream: add framework for streaming using to-device events (#473) 2026-03-25 15:25:26 +01:00
bridgev2 bridgev2/matrix: return 403 to backfill requests when not logged in (#562) 2026-08-29 19:45:50 +01:00
commands event/cmdschema: disallow positional optional parameters and add tail parameters 2026-01-11 23:42:24 +02:00
crypto crypto/sqlstore: retry saving next batch on database is locked 2026-08-29 01:44:24 +03:00
event event: copy profiles returned by PickPerMessageProfile 2026-08-29 20:16:35 +03:00
example pre-commit: ban log.Str(x.String()) 2025-08-29 11:07:16 +03:00
federation all: use omitzero for ints and bools for jsonv2 compatibility 2026-08-25 15:49:53 +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 main: bump minimum Go version to 1.26 2026-08-20 17:29:23 +03:00
pushrules all: use omitzero for ints and bools for jsonv2 compatibility 2026-08-25 15:49:53 +03:00
sqlstatestore crypto: plumb history visibility to megolm session creation 2026-07-18 19:36:55 +03:00
synapseadmin all: use omitzero for ints and bools for jsonv2 compatibility 2026-08-25 15:49:53 +03: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 main: bump minimum Go version to 1.26 2026-08-20 17:29:23 +03:00
CHANGELOG.md Bump version to v0.30.0 2026-08-16 14:30:48 +03:00
client.go all: use omitzero for ints and bools for jsonv2 compatibility 2026-08-25 15:49:53 +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: use omitzero for ints and bools for jsonv2 compatibility 2026-08-25 15:49:53 +03:00
go.mod main: bump minimum Go version to 1.26 2026-08-20 17:29:23 +03:00
go.sum main: bump minimum Go version to 1.26 2026-08-20 17:29:23 +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 all: use omitzero for ints and bools for jsonv2 compatibility 2026-08-25 15:49:53 +03:00
responses.go all: use omitzero for ints and bools for jsonv2 compatibility 2026-08-25 15:49:53 +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.30.0 2026-08-16 14:30:48 +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