Changelog
Changelog
All notable changes to MatrixCtl will be documented in this file.
You can find the issue tracker on GitHub.
0.15.2 (2025-06-02)
Features
yaml: simplify tree_printer a little (424874d)
Bug Fixes
print_helpers: use new token method (0c39f05)
Miscellaneous Chores
release 0.15.2 (62077fa)
0.15.1 (2025-06-01)
Features
Miscellaneous Chores
release 0.15.1 (4092ccd)
0.15.0 (2025-05-26)
Features
command: do not redefine variable from outer scope (9fe9e2f)
command: nest commands in subcommands (d7401a5)
commands: add send_event command (e966c0b)
commands: add send_message command (f53ed74)
commands: Revisit the help texts (17329d5)
commands: Revisit the help texts for main (fc8b89b)
config: add an option to ger_username, to either return the user_id or just the localpart (d431b38)
renovate: enable pre-commit and schedule lock file maintenance (d800c70)
Bug Fixes
Miscellaneous Chores
release 0.15.0 (71f013d)
0.14.1 (2025-03-17)
Features
rows: render avatars in membership events (d152b44)
Bug Fixes
Miscellaneous Chores
release 0.14.1 (bf27865)
0.14.0 (2025-01-12)
Features
put the functionallity for rendering an image in terminal from a mxc into its own helper function (2053965)
Bug Fixes
0.13.0 (2024-12-31)
Features
Documentation
readme: Improve wording (007e292)
Miscellaneous Chores
[0.12.1b2] - 2024-12-28
🐛 Bug Fixes
Move versioning from semver to PyPA spec due to normalization
[0.12.1-beta.1] - 2024-12-28
🏗️ Breaking changes
Remove Jitsi related features.
⚙️ Miscellaneous Tasks
(deps) Update pypa/gh-action-pypi-publish action to v1.8.14
(deps) Update pandoc/core docker tag to v2.19.2
(deps) Update dependency ubuntu to v22
(deps) Update pandoc/core docker tag to v3
(deps) Update softprops/action-gh-release action to v2
(dependabot) Remove Dependabot config as we use Renovate from now on
(classifiers) Add 3.12
(deps) Update actions/checkout action to v4.1.7
(deps) Update dependency ruff to v0.4.9
(deps) Update pypa/gh-action-pypi-publish action to v1.9.0
(deps) Update dependency flake8 to v7.1.0
(deps) Update dependency sphinx-autodoc-typehints to v2.2.0
(deps) Update dependency ruff to v0.4.10
(deps) Update dependency sphinx-autodoc-typehints to v2.2.1
(deps) Update dependency sphinx-autodoc-typehints to v2.2.2
(deps) Update dependency coverage to v7.5.4
(deps) Update dependency mypy to v1.10.1
(deps) Update dependency pylint to v3.2.4
(deps) Update pandoc/core docker tag to v3.2.1
(deps) Update dependency pylint to v3.2.5
(deps) Update actions/setup-python action to v5.1.1
(deps) Update dependency tox to v4.16.0
(deps) Update dependency ruff to v0.5.1
(deps) Update dependency coverage to v7.6.0
(deps) Update pandoc/core docker tag to v3.3.0
(deps) Update actions/setup-python action to v5.2.0
(deps) Update snok/install-poetry action to v1.4
(deps) Update pypa/gh-action-pypi-publish action to v1.10.1
(deps) Update pandoc/core docker tag to v3.4.0
(deps) Update pypa/gh-action-pypi-publish action to v1.10.2
(deps) Update dependency ruff to v0.6.8
(deps) Update dependency vulture to v2.12
(deps) Update dependency ubuntu to v24
(deps) Update actions/checkout action to v4.2.0
(deps) Update dependency pylint to v3.3.1
(deps) Update dependency tox to v4.20.0
(deps) Update dependency types-setuptools to v75
(deps) Update pypa/gh-action-pypi-publish action to v1.10.3
(deps) Update dependency ruff to v0.6.9
(deps) Update dependency tox to v4.21.2
(deps) Update dependency vulture to v2.13
(deps) Update actions/cache action to v4.1.0
(deps) Update dependency pre-commit to v4
(deps) Update actions/checkout action to v4.2.1
(deps) Update pandoc/core docker tag to v3.5.0
(deps) Update dependency pre-commit to v4.0.1
(deps) Update actions/checkout action to v4.2.1 (#856)
Update dependencies
(deps) Update actions/checkout action to v4.2.2 (#857)
(deps) Update astral-sh/setup-uv action to v5 (#860)
(deps) Lock file maintenance (#861)
Bump version from v0.12.0 to v0.12.1-beta.1
🚀 Features
(addon) Add download command
Remove unused dependencies
Add
rye run doccommand for building the docs[breaking] Move from git-flow to GitHub Flow branching model
Rename addons to commands and remove
api_pathas well asapi_versionfrom the API handler(ci) Add codeql workflow
🐛 Bug Fixes
(deps) Update dependency psycopg to v3.2.1
(docs) Add docs for the download feature
Break out the the sync status code handler from
_requestof the API handler intohandle_sync_response_status_codeand re-use it instreamed_download(renovate) Add missing
:(deps) Update dependency psycopg to v3.2.2
(deps) Update dependency paramiko to v3.5.0
(deps) Update dependency psycopg to v3.2.3
(deps) Update dependency rich to v13.9.2
(docs) Replace master branch with main branch
(ci) Replace master/develop branch with main branch
(ci) Rye run sync regardless of cache hit; remove old codeql workflow
(ci) Add
tomlisince it seems to be required for ci to build the docsAdd dependency
exceptiongroupfor python < 3.11 to build docs(ci) Use a version matrix and let rye pin the python version
(ci) Create
.python-versionbefore installing rye to avoid multiple toolchains(ci) Create
.python-versionbefore installing rye to avoid multiple toolchains(ci) Remove
--no-lockfromrye sync(ci) Remove
--no-lockfromrye sync(docs) Wrap make in ‘uv run’
(ci) Wrap make for docs in ‘uv run’
(pre-commit) Ignore all
lockfiles
📚 Documentation
(changelog) Make the old changelog available under changelog
Replace rye with uv
(readme) Typo
[0.12.0] - 2024-06-05
⚙️ Miscellaneous Tasks
(dependencies) Update mypy v0.991 -> v1.1.1
(dependencies) Bump sphinx v5.2.3 -> v6.1.3
(dependencies) Bump xdg v5.1.1 -> v6.0.0
(dependencies) Bump paramiko v2.11.0 -> v3.1.0
(dependencies) Bump some linters
Update all dependencies
Update ruff, towncrier pylint yapf attrs, httpx, ruamel.ymal
(pre-commit) Update sources
(matrixctl) Bump version from v0.12.0-beta.2 to v0.12.0
🚀 Features
Use ruff instead of flake8 and isort (and addons); refactor
Update pre-commit, also run tests on 3.11
Add largest-rooms command
🐛 Bug Fixes
(deepsource) Add skipcq: PYL-W0212 for intentionally use of private type _SubParsersAction
(largest-rooms) Use processed variable to produce output for table instead of the input variable
Build process due to poetry having new optional group config
(ci) Use Python 3.11 in CI
Make linters happy
(rtd) Add ‘–all-extras’ to the install arguments
(rtd) Follow the latest guidelines
[0.12.0-beta.2] - 2023-03-23
⚙️ Miscellaneous Tasks
Update dependencies
(workflow) Update Python 3.9 -> 3.10
(workflow) Fix Python version
Update pre-commit dependencies
Update poetry lock file
Bump version from v0.12.0-beta.1 to v0.12.0-beta.2
Bump version from v0.12.0-beta.1 to v0.12.0-beta.2
🚀 Features
(tests) Add tests for sanitizers
Add force-purge argument to delroom
🐛 Bug Fixes
Lazy formatting of message string passed to logging module
False positive BAN-B601
(ssh) Lazy formatting of message string passed to logging module
(tox) Update label from py39 -> py310
(yaml) Don’t log the database password for synapse in debug mode
Formatting strings passed to logging module
Formatting strings passed to logging module
(table) Use correct types in docs
Formatted string passed to logging module
[0.12.0-beta.1] - 2021-12-02
⚙️ Miscellaneous Tasks
Add breaking newsfragment
🐛 Bug Fixes
(purge-remote-media) Message rooms -> media files
(purge-remote-media) Message rooms -> media files
(doctest) Ignore example (not meant as doctest)
(api) Remove f-string without any expression
(table) Error when table_data is empty
(table) Dicstring
[0.11.4] - 2021-12-01
⚙️ Miscellaneous Tasks
(pre-commit) Update dependencies
🐛 Bug Fixes
(api) Typehints
[0.11.3] - 2021-11-16
🚀 Features
Implement make-room-admin API
Implement get context API
(rooms) Add switch argument
(purge-history) Add switch
Implement
Implement delete-local-media addon
(delroom) Update delroom to use the “Delete Room API”
(help) Debloat
(README) Update help output
(action) Generate the release body with a script
Add missing newsfragment and reorder release workflow
🐛 Bug Fixes
(users) Set timeout to 10s
Wrap long line
[0.11.2] - 2021-09-26
🐛 Bug Fixes
Unguarded next()
[0.10.1] - 2021-06-17
🐛 Bug Fixes
Use secure, temporary directory for ansible_runner’s private data (#120)
[0.9.0] - 2021-04-23
📚 Documentation
[0.8.6] - 2021-04-17
🚀 Features
🐛 Bug Fixes
📚 Documentation
Add changelog to docs
Minor
Add rest of docstrings; set min. coverage 100%
Changelog (deprecated)
This is the changelog of MatrixCtl. You can find the issue tracker on GitHub.
0.12.0 (2024-06-05)
(No significant changes)
0.12.0-beta.2 (2023-03-24)
Bugfixes
Removals & Deprecations
Add a deprecation warning to the adduser-jitsi and deluser-jitsi commands. They are planned for removal in MatrixCtl v0.13.0. (#453)
Miscellaneous
0.12.0-beta.1 (2021-12-02)
Behavior & Breaking Changes
This release changes how MatrixCtl connects to the database. Therefore the configuration file must be changed. Please check the documentation for more information. (#313)
Features & Improvements
get-eventandget-eventsare not using psycopg instead of a docker command (#313)
Bugfixes
0.11.5 (2021-12-01)
No significant changes.
0.11.4 (2021-12-01)
Features & Improvements
Update to Delete Room API v2. (#305)
Bugfixes
Fix a bug introduced in
be411cf0c1a9413bf25ca1b72004150c032555c2, after the last release because thehttpxtypehints are incorrect. (#307)
Miscellaneous
Fix incorrect typehints in the API handler (#287)
0.11.3 (2021-11-16)
Features & Improvements
Add
is-adminaddon to determine if a user is a server admin. (#252)Add
set-adminaddon to promote/demote users to/from homeserver admin (#254)Add make-room-admin addon (#265)
Add
get-event-contextaddon. (#267)Add
-f|--forceswitch topurge-historyto answer all questions withyes. (#271)Add
-e|--emptyswitch argument torooms, to only show empty rooms. (#273)Add
purge-remote-mediaaddon. (#275)delroomnow uses the “Delete Room API” instead of the old “Purge Room API”, which is deprecated. (#277)Add
delete-local-mediaaddon. (#278)Debloat
matrixctl --help(#281)
Miscellaneous
0.11.2 (2021-09-26)
Features & Improvements
Add the
joinroom(join a user to a room) addon to MatrixCtl. (#89)
Miscellaneous
The API handler was refactored, which results roughly in a 10% speed increase for asynchronous requests. (#235)
0.11.1 (2021-09-25)
Features & Improvements
paramikonow creates aknown_hostsentry, if it does not exist. (#231)
Bugfixes
Fix:
adduser,deluser,delroom,server-notice,purge-history. (#233)
0.11.0 (2021-09-21)
Behavior & Breaking Changes
The config file now is using the
YAMLformat instead of theTOMLformat. (#174)Drop support for python 3.8. (#181)
The password generation of MatrixCtl has been removed (#193)
All servers in the config (
config.yaml) file now need too be grouped belowservers:. (#213)Remove
--numberand-nin theroomsaddon and replace it with[limit]. (#217)
Features & Improvements
Add
rust-synapse-compress-stateto the maintenance command. (#163)Multiple servers can be specified in the config file. (#174)
Per-server maintenance task configuration. (#184)
Optimized startuptime by lazy importing commands by a factor of 10. Added a
addon_managerwhich now manages imports of the addon (sub)parsers. (#187)Add
get_eventsaddon, which gets user-events from the DB. (#198)Add
reportsaddon. (#200)Add
reportaddon. (#202)Replace
tabulatewith the newtablehandler. (#206)With the
-jor--to-jsonargument, the output ofreports,rooms,usersandusercan be set to the JSON format. (#211)All API requests which need multiple requests to collect all data are now asynchronous. Add a optional
[limit]argument to theusersandreportsaddon. (#217)Add (one-pass) Jinja2 support for the configuration file. (#229)
Miscellaneous
0.10.3 (2021-06-26)
Features & Improvements
The docks have moved back to (https://matrixctl.readthedocs.io/)`. (#69)
Bugfixes
Make MatrixCtl compatible with Python 3.8. (#146)
Improved Documentation
Add Contribution Guidlines (#149)
Miscellaneous
The
event_idof the commandget-eventnow gets sanitized. (#143)
0.10.2 (2021-06-24)
Features & Improvements
Miscellaneous
0.10.1 (2021-06-17)
Features & Improvements
Update type hinting according to PEP 585. (#123)
0.10.0 (2021-06-17)
Behavior & Breaking Changes
Drop support for Python 3.8 for tests and typing. (#121)
Features & Improvements
Miscellaneous
0.9.0 (2021-04-23)
Behavior & Breaking Changes
add
shadow-banned(needs synapse v1.28 or greater) anddisplaynameto the table output of`matrixctl users. (#30)
Features & Improvements
Add the
stopcommand tomatrixctl, which stops all OCI containers. (#74)
Improved Documentation
0.8.6 (2021-04-17)
Features & Improvements
Bugfixes
Fix
TypeErrorwhen enabling debug mode and using the API. (#45)
Miscellaneous
Add
CHANGELOG.rstto project root generated bytowncrier. This is the first release using the new changelog generation procedure. If you want to see the previous changelog please check our releases on GitHub. (#61)
0.8.5 (2021-02-24)
Bugfixes
Add the new
serve-noticefeature.
0.8.4 (2021-02-24)
Note
This version of MatrixCtl has not been released.
0.8.3 (2021-02-24)
Note
This version of MatrixCtl has not been released.
0.8.2 (2021-02-24)
Note
This version of MatrixCtl has not been released.
Features & Improvements
feature
uploadwhich makes it possible to upload files and images. It returns themxc://uri.feature
server-notice.
Miscellaneous
Changed docs to classic python theme.
0.8.1 (2020-12-02)
Behavior & Breaking Changes
The
updatecommand now uses config:[SYNAPSE]->Playbookinstead of[SYNAPSE]->Path
Features & Improvements
Add missing
[SYNAPSE](config file) documentation.
0.8.0 (2020-12-02)
Behavior & Breaking Changes
Features & Improvements
0.7.0 (2020-09-25)
Behavior & Breaking Changes
Removed the
--with-bots, “bots” are now shown by default (#15)
Bugfixes
Fixed the deploy control logic (#18)
0.6.3 (2020-09-17)
Features & Improvements
With the help of two args it is possible to deploy the two playbooks independently: -
-s/--synapse: Only deploy the synapse playbook, --a/--ansible: Only deploy your own playbook.
0.6.2 (2020-09-16)
Bugfixes
It is now possible to deploy, when only one of
[ANSIBLE]or[SYNAPSE]are configured.
0.6.1 (2020-06-02)
Features & Improvements
If the access-token has changed or is wrong, MatrixCtl now throws a specific error, which tells the user, what went wrong. (#12)
Replace the assertions from the API handler with proper
TypeError.
0.6.0 (2020-05-12)
Behavior & Breaking Changes
Changed
users --no-botsorusers -btousers --with-botsorusers -bChanged
users --guestsorusers -gtousers --with-guestsorusers -g
Features & Improvements
users --with-deactivatedorusers -d(#2)
Bugfixes
SSH handler logs an error if unable to connect (#7)
0.5.0 (2020-04-30)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Behavior & Breaking Changes
Fixed typo in the
maintenancecommand.
Removals & Deprecations
Removed
run-postgres-synapse-janitorfrom maintenance because it may destroy the DB (#8)(#465 (spantaleev/matrix-docker-ansible-deploy))
0.4.0 (2020-04-22)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Behavior & Breaking Changes
roomssubmodule: Changed argument--order_by_sizeto--order-by-size.
Features & Improvements
Add the
versioncommand.Add the
delroomcommand.Add more debug output to the API handler (
params,data,methodand censoredheaders)
0.3.2 (2020-04-21)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Features & Improvements
Add the
roomscommand.
0.3.1 (2020-04-21)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Note
This version of MatrixCtl has not been released.
0.3.0 (2020-04-20)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Note
No significant changes to the Project.
Project restructured.
0.2.2 (2020-04-13)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Features & Improvements
Added docs to the Project (
gh-pagesbranch).
Bugfixes
matixctl adduser --ansible. MatrixCtl was not able to create a user with the--ansibleargument.
0.2.1 (2020-04-13)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Note
This version of MatrixCtl has not been released.
0.2.0 (2020-04-12)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Behavior & Breaking Changes
The command
list-userhas been renamed tousers.
Features & Improvements
Add the command
user.
0.1.4 (2020-04-10)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Features & Improvements
Add the command
start.Add the command
restart(alias forstart).Add the command
check.
0.1.3 (2020-04-10)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Features & Improvements
Add the command
adduser-jitsi.Add the command
deluser-jitsi.
0.1.2 (2020-04-07)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
First official release.
Features & Improvements
Add the command
list-users.
0.1.1 (2020-04-07)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Note
No significant changes to the Project.
Trivial Changes
Fixed GitHub Wokflow.
0.1.0 (2020-04-07)
Warning
Since the synapse-janitor is not safe to use anymore, please
do not use the maintenance command for any MatrixCtl
version below 0.5.0!
Note
No significant changes to the Project.
Internal Release