A Golang Matrix framework.
  • Go 99.7%
  • PLpgSQL 0.3%
Find a file
Tulir Asokan c243dad24a
Some checks are pending
Go / Lint (latest) (push) Waiting to run
Go / Build (old, libolm) (push) Waiting to run
Go / Build (latest, libolm) (push) Waiting to run
Go / Build (old, goolm) (push) Waiting to run
Go / Build (latest, goolm) (push) Waiting to run
bridgev2/portal: include portal receiver in logs
2026-03-09 14:27:28 +02:00
.github/workflows main: bump minimum Go version to 1.25 2026-02-11 21:34:47 +02:00
appservice client: add type parameter to UIA request bodies (#469) 2026-03-07 14:26:42 +00:00
bridgev2 bridgev2/portal: include portal receiver in logs 2026-03-09 14:27:28 +02:00
commands event/cmdschema: disallow positional optional parameters and add tail parameters 2026-01-11 23:42:24 +02:00
crypto client: add type parameter to UIA request bodies (#469) 2026-03-07 14:26:42 +00:00
event client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01:00
example pre-commit: ban log.Str(x.String()) 2025-08-29 11:07:16 +03:00
federation federation/pdu: add AddSignature helper method 2026-03-01 12:37:13 +02:00
format format: add MarkdownMentionRoomID helper 2025-08-24 00:47:55 +03:00
id crypto: save source of megolm sessions 2026-02-21 01:06:12 +02:00
mediaproxy mediaproxy: handle federation thumbnail requests 2026-02-15 21:47:10 +02:00
mockserver client: add type parameter to UIA request bodies (#469) 2026-03-07 14:26:42 +00:00
pushrules all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
sqlstatestore statestore: save join rules for rooms 2025-11-12 21:46:23 +02:00
synapseadmin all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
.editorconfig bridgev2/matrix: add OpenAPI spec for provisioning API 2024-08-10 17:43:53 +03:00
.gitignore Add draft of high-level client framework 2024-05-26 18:29:22 +03:00
.pre-commit-config.yaml ci: update actions and pre-commit hooks 2025-12-13 10:54:58 +02:00
CHANGELOG.md Bump version to v0.26.3 2026-02-16 14:33:21 +02:00
client.go client: add type parameter to UIA request bodies (#469) 2026-03-07 14:26:42 +00:00
client_ephemeral_test.go client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01:00
error.go error: add RespError.CanRetry field (#456) 2026-01-29 15:01:48 +00:00
filter.go all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
go.mod dependencies: update 2026-02-19 22:51:37 +02:00
go.sum dependencies: update 2026-02-19 22:51:37 +02:00
LICENSE treewide: fixup for pre-commit 2022-01-27 09:35:41 -07:00
README.md readme: update 2026-03-05 11:59:11 +02:00
requests.go client: add type parameter to UIA request bodies (#469) 2026-03-07 14:26:42 +00:00
responses.go client: update MSC2666 implementation 2026-03-06 20:58:18 +02:00
responses_test.go crypto: add basic group session sharing benchmark 2025-09-26 20:37:58 +03:00
room.go all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
statestore.go statestore: fix missing JoinRules map when initializing MemoryStateStore (#432) 2025-11-17 20:18:46 +02:00
sync.go crypto/helper: don't block on decryption 2025-10-05 12:30:54 +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.26.3 2026-02-16 14:33:21 +02:00
versions.go client: update MSC2666 implementation 2026-03-06 20:58:18 +02: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