A Golang Matrix framework.
  • Go 99.7%
  • PLpgSQL 0.3%
Find a file
Tulir Asokan ed9820356e
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/portalreid: try to fix deadlock when racing with room creation
2026-03-04 13:58:24 +02:00
.github/workflows main: bump minimum Go version to 1.25 2026-02-11 21:34:47 +02:00
appservice client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01:00
bridgev2 bridgev2/portalreid: try to fix deadlock when racing with room creation 2026-03-04 13:58:24 +02:00
commands event/cmdschema: disallow positional optional parameters and add tail parameters 2026-01-11 23:42:24 +02:00
crypto client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01: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 crypto: add basic group session sharing benchmark 2025-09-26 20:37:58 +03: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,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01: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 Update readme 2024-06-11 21:08:24 +03:00
requests.go client: add support for sending MSC4354 sticky events 2026-01-18 14:49:06 +02:00
responses.go client: add MemberCount helper method for lazy load summary 2026-01-18 22:41:34 +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,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01: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. interactive SAS verification)
  • High-level module for building puppeting bridges
  • High-level module for building chat clients
  • Wrapper functions for the Synapse admin API
  • Structs for parsing event content
  • Helpers for parsing and generating Matrix HTML
  • Helpers for handling push rules