Changelog

Changelog

All notable changes to MatrixCtl will be documented in this file.

You can find the issue tracker on GitHub.

Unreleased

⚙️ Miscellaneous Tasks

Classifiers
  • Add 3.12

Dependabot
  • Remove Dependabot config as we use Renovate from now on

Deps
  • Update pypa/gh-action-pypi-publish action to v1.8.14

  • Update pandoc/core docker tag to v2.19.2

  • Update dependency ubuntu to v22

  • Update pandoc/core docker tag to v3

  • Update softprops/action-gh-release action to v2

  • Update actions/checkout action to v4.1.7

  • Update dependency ruff to v0.4.9

  • Update pypa/gh-action-pypi-publish action to v1.9.0

  • Update dependency flake8 to v7.1.0

  • Update dependency sphinx-autodoc-typehints to v2.2.0

  • Update dependency ruff to v0.4.10

  • Update dependency sphinx-autodoc-typehints to v2.2.1

  • Update dependency sphinx-autodoc-typehints to v2.2.2

  • Update dependency coverage to v7.5.4

  • Update dependency mypy to v1.10.1

  • Update dependency pylint to v3.2.4

  • Update pandoc/core docker tag to v3.2.1

  • Update dependency pylint to v3.2.5

  • Update actions/setup-python action to v5.1.1

  • Update dependency tox to v4.16.0

  • Update dependency ruff to v0.5.1

  • Update dependency coverage to v7.6.0

  • Update pandoc/core docker tag to v3.3.0

  • Update actions/setup-python action to v5.2.0

  • Update snok/install-poetry action to v1.4

  • Update pypa/gh-action-pypi-publish action to v1.10.1

  • Update pandoc/core docker tag to v3.4.0

  • Update pypa/gh-action-pypi-publish action to v1.10.2

  • Update dependency ruff to v0.6.8

  • Update dependency vulture to v2.12

  • Update dependency ubuntu to v24

  • Update actions/checkout action to v4.2.0

  • Update dependency pylint to v3.3.1

  • Update dependency tox to v4.20.0

  • Update dependency types-setuptools to v75

🚀 Features

Addon
  • Add download command

🐛 Bug Fixes

Deps
  • Update dependency psycopg to v3.2.1

  • Update dependency psycopg to v3.2.2

  • Update dependency paramiko to v3.5.0

Docs
  • Add docs for the download feature

Renovate
  • Add missing :

0.12.0 - 2024-06-05

⚙️ Miscellaneous Tasks

Dependencies
  • Update mypy v0.991 -> v1.1.1

  • Bump sphinx v5.2.3 -> v6.1.3

  • Bump xdg v5.1.1 -> v6.0.0

  • Bump paramiko v2.11.0 -> v3.1.0

  • Bump some linters

Matrixctl
  • Bump version from v0.12.0-beta.2 to v0.12.0

Pre-commit
  • Update sources

🚀 Features

🐛 Bug Fixes

Ci
  • Use Python 3.11 in CI

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

Rtd
  • Add ‘–all-extras’ to the install arguments

  • Follow the latest guidelines

0.12.0-beta.2 - 2023-03-23

⚙️ Miscellaneous Tasks

Workflow
  • Update Python 3.9 -> 3.10

  • Fix Python version

🚀 Features

Tests
  • Add tests for sanitizers

🐛 Bug Fixes

Ssh
  • Lazy formatting of message string passed to logging module

Table
  • Use correct types in docs

Tox
  • Update label from py39 -> py310

Yaml
  • Don’t log the database password for synapse in debug mode

0.12.0-beta.1 - 2021-12-02

⚙️ Miscellaneous Tasks

🐛 Bug Fixes

Api
  • Remove f-string without any expression

Doctest
  • Ignore example (not meant as doctest)

Purge-remote-media
  • Message rooms -> media files

Table
  • Error when table_data is empty

  • Dicstring

0.11.4 - 2021-12-01

⚙️ Miscellaneous Tasks

Pre-commit
  • Update dependencies

🐛 Bug Fixes

Api
  • Typehints

0.11.3 - 2021-11-16

🚀 Features

README
  • Update help output

Action
  • Generate the release body with a script

Delroom
  • Update delroom to use the “Delete Room API”

Help
  • Debloat

Purge-history
  • Add switch

Rooms
  • Add switch argument

🐛 Bug Fixes

Users
  • Set timeout to 10s

0.11.2 - 2021-09-26

🐛 Bug Fixes

0.10.1 - 2021-06-17

🐛 Bug Fixes

0.9.0 - 2021-04-23

📚 Documentation

0.8.6 - 2021-04-17

🚀 Features

🐛 Bug Fixes

📚 Documentation

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

  • Fix M_UNKNOWN bug when using purge-history. (#165)

  • Ensure MatrixCtl does not log the database password for synapse in debug mode (#460)

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

  • Add tests to the sanitizers (#315)

  • Update pre-commit plugin flake8 to new repo url (#448)

  • Fix rtd: Invalid configuration option: python.version (#450)

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 and get-events are not using psycopg instead of a docker command (#313)

Bugfixes

  • Empty data for the table handler does no longer raise an error. (#309)

  • The message Deleted Rooms: 0 in purge-remote-media has been corrected to Deleted Media Files: 0 (#311)

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 the httpx 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 to purge-history to answer all questions with yes. (#271)

  • Add -e|--empty switch argument to rooms, 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

  • Remove dependency single_source (#245)

  • Generate the release body with a script while running the release action. (#284)

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 a known_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 the TOML 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 below servers:. (#213)

  • Remove --number and -n in the rooms 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 new table handler. (#206)

  • With the -j or --to-json argument, the output of reports, rooms, users and user 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 the users and reports addon. (#217)

  • Add (one-pass) Jinja2 support for the configuration file. (#229)

Miscellaneous

  • Add tests for the yaml handler. (#174)

  • Commands or subcommands are now located in matrixctl.commands as packages and considered commands. Commands are splitted in parser.py and addon.py. It is now allowed to use multible modules for one addon. (#187)

  • More flexible yaml handler. (#213)

0.10.3 (2021-06-26)

Features & Improvements

Bugfixes

  • Make MatrixCtl compatible with Python 3.8. (#146)

Improved Documentation

  • Add Contribution Guidlines (#149)

Miscellaneous

  • The event_id of the command get-event now gets sanitized. (#143)

0.10.2 (2021-06-24)

Features & Improvements

  • Add start/restart switch to the deploy subcommand to start/restart the server right after the deployment. (#132)

  • Added the new command get-event, which gets an event by event_id from the Database and prints it as JSON. (#139)

Miscellaneous

  • Rewritten API handler. (#136)

  • Fixed: Wrong version while developing in virtual environment. (#141)

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

  • add purge-history to purge historic events from the DB (#86)

  • Modules are using logger instead of logging. (#117)

  • Use secure, temporary directory for ansible_runner’s private data. (#119)

Miscellaneous

  • Moved mypy.ini into pyproject.toml. (#113)

  • Fix of false-positive CWE-798: Use of Hard-coded Credentials. (#115)

  • Update pre-commit and dependencies. (#121)

0.9.0 (2021-04-23)

Behavior & Breaking Changes

  • add shadow-banned (needs synapse v1.28 or greater) and displayname to the table output of `matrixctl users. (#30)

Features & Improvements

  • Add the stop command to matrixctl, which stops all OCI containers. (#74)

Improved Documentation

  • Fixed the commandline tool example in the docs. (#68)

  • Removed the program name from every title of the changelog. We now only use the version number and the date. (#79)

0.8.6 (2021-04-17)

Features & Improvements

  • The application now uses __main__.py instead of application.py. Developers are now able to use python matrixctl from the project root to start the application. (#60)

  • Add tox as simple way to check the changelog, testbuild the docs, run pre-commit and run tests (#64)

Bugfixes

  • Fix TypeError when enabling debug mode and using the API. (#45)

Miscellaneous

  • Add CHANGELOG.rst to project root generated by towncrier. 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 the mxc:// 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

  • The option to run multiple playbooks with matrixctl. The user should use - import_playbook: /PathTo/matrix-docker-ansible-deploy/setup.yml in an own playbook. (#20)(#21)

Features & Improvements

  • The ansible handler now uses ansible-runner instead of subprocess (#20)(#21)

  • The api handler now gives the user a hint, when the admin api is disabled.

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 or users -b to users --with-bots or users -b

  • Changed users --guests or users -g to users --with-guests or users -g

Features & Improvements

  • users --with-deactivated or users -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

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 censored headers)

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 to users.

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 for start).

  • 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