NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1955 most downloaded on pub.dev
Matrix Dart SDK
Last release 13 days ago
22 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
12 years old
250 releases · first in 2015
feat: BREAKING CHANGE v1.11 matrix-spec endpoints (td)
fix: actually make sure clientBox has a account (td)
One column per quarter.
feat: cache .well-known data (The one with the braid)
fix: SQLCipher dylib location on macOS builds (The one with the braid)
feat: support for authenticated media (td)
chore: add info about tests to readme (td)
Nothing published for this version
ci: create release job fix (Karthikeyan S)
feat: Automatically cancel typing indicators after 30 seconds (Krille)
chore: allow clients to set their own voip key delays (td)
fix: Request user causing state update loops for apps (Nicolas Werner)
chore: make ignored call mem logging verbose (td)
chore: bump make and use key delays to have more buffer (td)
refactor: Deprecate Streams in favor of client.onSync (krille-chan)
fix: make sure room is postLoaded before starting calls (td)
fix: nonLocal join/left values (td)
feat: hide \_makeNewSenderKey and expose a new preShareKey function (td)
feat: make voip key generator public (td)
fix: Hotfix create missing objectbox (Krille)
chore: add MatrixSDKVoipException and some more logging (td)
feat: Implement unpublished MSC custom refresh token lifetime (Krille)
chore: Revert check message size before fake sync (Krille)
Refactoring release which fixes a flickering of sent file events in the timeline. The State events in a room are no longer instances of Event but Stri
Refactoring release which fixes a flickering of sent file events in the timeline. The
State events in a room are no longer instances of Event but StrippedStateEvent by
default, which is a base class of Event. Usually in join rooms the state events are
actually Event and can be used as those after a type check if needed.
Example:
// Before:
final event = room.getState(EventTypes.RoomCreate);
// After:
final strippedStateEvent = room.getState(EventTypes.RoomCreate);
final event = strippedStateEvent is Event ? strippedStateEvent : null;
Also be aware that Event.remove() has been renamed to Event.cancelSend() to make
more clear that this is only to delete events from database and cache which have not
been synced yet. They no longer appear in the Client.onEventUpdate stream but on the new
Client.onCancelSendEvent stream.
chore: expose fake matrix api (td)
This release introduces the new famedly calls, it brings 1:1, mesh and livekit calls support to the matrix dart sdk, read more at: voip docs
This release introduces the new famedly calls, it brings 1:1, mesh and livekit calls support to the matrix dart sdk, read more at: voip docs
refactor: Switch to MatrixSdkDatabase as suggested database and deprecate other ones
chore: add noice/echo cancelling flags to getUserMedia (td)
This release adds a new state to the LoginState named softLoggedOut. Learn more about it here: https://spec.matrix.org/v1.9/client-server-api/#soft-lo
This release adds a new state to the LoginState named softLoggedOut. Learn more about it here:
https://spec.matrix.org/v1.9/client-server-api/#soft-logout
When a client is in a soft logout state, it is not yet cleared, but sync has stopped and it expects to perform a token refresh or a new login while providing the old device ID.
chore: Add regression test for invite->join state handling (Nicolas Werner)
refactor: Deprecations after dart upgrade (Krille)
feat: Implement handling soft logout (Krille)
chore: remove state events both in imp and preview events list (td)
fix: group calls terminator having sync glares (td)
chore: Use some call events as last events (Krille)
feat: add SQfLite encryption helper (The one with the braid)
feat: Add missing localizations for key verification messages (Krille)
fix: Another type error when combining lists (Krille)
fix: Type error when combining dynamic lists (Krille)
fix: Delete in transaction on new store does not clear cache correctly (Krille)
fix: Add missing copy map in matrix sdk database (Krille)
ci: Test that database can write and read at least 5mb of data (Krille)
feat: cache getConfig request (Karthikeyan S)
Small hotfix for the new database.
Small hotfix for the new database.
docs: Add issue tracker to pub.dev (Krille)
This release brings a new experimental database based on SQFlite and IndexedDB as a _Drop-In-Replacement_ for Hive and HiveCollections. You can alread
This release brings a new experimental database based on SQFlite and IndexedDB as a Drop-In-Replacement for Hive and HiveCollections. You can already test it out (on your own risk) by using it as the new databaseBuilder and migrate your current users by using the legacyDatabaseBuilder with your current Database:
final client = Client('Client Name',
databaseBuilder: (client) => MatrixSdkDatabase(
'Database Name',
database: await databaseFactory.openDatabase(':memory:'),
),
legacyDatabaseBuilder: yourPreviousDatabase,
);
Breaking change for users of dehydrated devices feature. This feature now implements the latest version of the MSC. It has been adapted to the current…
This release deprecates client.presences in favor of client.fetchCurrentPresence(userId) as part of our journey to a more database centric memory management. However, client.presences is still functional and tested at least until the next major release.
Breaking change for users of dehydrated devices feature. This feature now implements the latest version of the MSC. It has been adapted to the current recent Synapse version and will from now on be incompatible with previous versions.
This release includes a small breaking change. Starting a verification request now always returns a future. Specifically this changes the DeviceKeys s…
This release includes a small breaking change. Starting a verification request now always returns a future. Specifically this changes the DeviceKeys startVerification method to also return a future.
Additionally this release fixes a severe regression in the online key backup (keys only got uploaded once after startup or before logout), excessive linebreaks in markdown messages and a few edge cases around when presence is sent.
chore: incrementally add left rooms to archive (The one with the braid)
fix: Do not convert linebreaks in pre blocks on markdown parsing (Krille)
build(deps): bump http from 0.13.6 to 1.1.0 (dependabot[bot])
refactor: Remove deprecated dart code metrics (Krille)
feat: Add option to not cache users in memory when requesting all of a room (krille-chan)
fix: direct message room name computation (The one with the braid)
chore: add pub release job (td)
chore: pass event to redactedAnEvent and removedBy (td)
chore: cleanup some eventTypes and unused variables (td)
fix: Assign correct type to signedOneTimeKeys (Malin Errenst)
refactor: Use tryGet for type casts whenever possible (Malin Errenst)
chore: fix edited last events breaking db (td)
fix: Do not store global profiles in room states as members (Krille)
Your coding agent can read these notes before it upgrades. Set up the MCP server →