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 doc
command for building the docs[breaking] Move from git-flow to GitHub Flow branching model
Rename addons to commands and remove
api_path
as well asapi_version
from 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
_request
of the API handler intohandle_sync_response_status_code
and 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
tomli
since it seems to be required for ci to build the docsAdd dependency
exceptiongroup
for python < 3.11 to build docs(ci) Use a version matrix and let rye pin the python version
(ci) Create
.python-version
before installing rye to avoid multiple toolchains(ci) Create
.python-version
before installing rye to avoid multiple toolchains(ci) Remove
--no-lock
fromrye sync
(ci) Remove
--no-lock
fromrye sync
(docs) Wrap make in ‘uv run’
(ci) Wrap make for docs in ‘uv run’
(pre-commit) Ignore all
lock
files
📚 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-event
andget-events
are 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 thehttpx
typehints are incorrect. (#307)
Miscellaneous
Fix incorrect typehints in the API handler (#287)
0.11.3 (2021-11-16)
Features & Improvements
Add
is-admin
addon to determine if a user is a server admin. (#252)Add
set-admin
addon to promote/demote users to/from homeserver admin (#254)Add make-room-admin addon (#265)
Add
get-event-context
addon. (#267)Add
-f|--force
switch topurge-history
to answer all questions withyes
. (#271)Add
-e|--empty
switch argument torooms
, to only show empty rooms. (#273)Add
purge-remote-media
addon. (#275)delroom
now uses the “Delete Room API” instead of the old “Purge Room API”, which is deprecated. (#277)Add
delete-local-media
addon. (#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
paramiko
now creates aknown_hosts
entry, 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
YAML
format instead of theTOML
format. (#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
--number
and-n
in therooms
addon and replace it with[limit]
. (#217)
Features & Improvements
Add
rust-synapse-compress-state
to 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_manager
which now manages imports of the addon (sub)parsers. (#187)Add
get_events
addon, which gets user-events from the DB. (#198)Add
reports
addon. (#200)Add
report
addon. (#202)Replace
tabulate
with the newtable
handler. (#206)With the
-j
or--to-json
argument, the output ofreports
,rooms
,users
anduser
can 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 theusers
andreports
addon. (#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_id
of the commandget-event
now 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) anddisplayname
to the table output of`matrixctl users
. (#30)
Features & Improvements
Add the
stop
command tomatrixctl
, which stops all OCI containers. (#74)
Improved Documentation
0.8.6 (2021-04-17)
Features & Improvements
Bugfixes
Fix
TypeError
when enabling debug mode and using the API. (#45)
Miscellaneous
Add
CHANGELOG.rst
to 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-notice
feature.
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
upload
which 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
update
command now uses config:[SYNAPSE]
->Playbook
instead 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-bots
orusers -b
tousers --with-bots
orusers -b
Changed
users --guests
orusers -g
tousers --with-guests
orusers -g
Features & Improvements
users --with-deactivated
orusers -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
maintenance
command.
Removals & Deprecations
Removed
run-postgres-synapse-janitor
from 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
rooms
submodule: Changed argument--order_by_size
to--order-by-size
.
Features & Improvements
Add the
version
command.Add the
delroom
command.Add more debug output to the API handler (
params
,data
,method
and 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
rooms
command.
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-pages
branch).
Bugfixes
matixctl adduser --ansible
. MatrixCtl was not able to create a user with the--ansible
argument.
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-user
has 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