Releases: anoadragon453/matrix-reminder-bot
v0.4.0
This release has been simmering for a while. Rather than features, it brings some quality of life improvements to existing features.
Creating reminders is now more sane; you can't set a reminder for a few minutes ago any more and daylight saving time zone handling was improved to calculate the right offset year-round.
When inviting the bot to an existing room with recent messages, the bot will not anymore try to read and react to them, which would previously fail especially in encrypted rooms.
From the technical side, all dependencies have been updated, and Python 3.12 is now supported.
We have also added the GitHub container registry to our release CI, making releases available from both Docker Hub and GHCR at your choice.
Thanks to all who contributed to this release: @svierne, @th0mcat, @cyb3rko!
Features
- Add support for Python 3.12 (#112, #151)
- Ignore messages that were sent before the bot joined (#141)
- Improve formatting of cron reminders when listing (#165)
- List currently firing alarms (#162)
- Require setting a non-empty password (#142)
- Provide container images additionally via GHCR (#132, #135)
Bugfixes
- Reminders can't be set in the recent past (#145, #160)
- Calculate current UTC offset with correct daylight saving time zone (#147)
Documentation
- Add TWIM to release instructions (a74b62e)
- Update container documentation (#132)
- Fix typo in blocklist config (#171) - contributed by @svierne
- Prefer the native Python venv setup (#181)
- Reference MDAD installation method (#185)
- List related projects (#97)
- Add iOS shortcuts (#144) - contributed by @th0mcat
- Update the badge to use the room summary API (#192) - contributed by @cyb3rko
Internal Changes
- Make functions static (#146)
- Add issue template (#179)
- Only run publishing CI on upstream repo (#201)
- Bump
matrix-nioto 0.24.0 (#112) - Bump CI to Python 3.12 (#163)
- Bump
flake8to 7.3.0 (#133, #183, #188, #198, #199) - Bump
flake8-comprehensionsto 3.17.0 (#187, #191, #203) - Bump
libolmto 3.2.16 (#112) - Bump
blackto 25.9.0 (#140, #143, #152, #170, #173, #178, #189, #190, #194, #204) - Bump
Markdownto 3.5.2 (#151) - Bump
PyYAMLto 6.0.1 (#151) - Bump
dateparserto 1.2.0 (#151) - Bump
apschedulerto 3.10.4 (#151) - Bump
pytzto 2024.01 (#151) - Bump
arrowto 1.3.0 (#151) - Bump
psychopg2to 2.9.9 (#151) - Bump
isortto 6.0.1 (#197) - Configure Dependabot to update GitHub actions (#131)
- Bump
actions/setup-pythonto 6 (#134, #202) - Bump
actions/checkoutto 5 (#200)
v0.3.0
This release brings you a new feature thanks to @svierne, who added allowlist and blocklist!
You can use either or both at the same time, giving you lots of options to manage access to your bot instance across the Matrix federation, and bringing a step up in security for everyone hosting an instance.
Both lists default to being disabled for backward compatibility with previous versions.
To make use of this feature, add the relevant new allowlist and blocklist sections from the updated sample.config.yaml to your config.yaml.
Further, this release brings improved support for the Matrix specification's new m.mentions, fixes for missing and superfluous pills, updated dependencies, and we spent some time adding a lot of CI.
More details below:
Features
Bugfixes
- Add pills in missing places and remove invalid pills for room pings #124 by @svierne.
- Fixup for room pills #129.
Documentation
- Update contributing guidelines #116.
Internal Changes
- Add automatic Python dependency version update checking dependabot config #103.
- Bump
black#103, #105, #113, #121. - Bump
flake8#106. - Bump
isort#107, #117, #119. - Bump
flake8-comprehensions#104. - Bump the version of Python in the CI and docker image to 3.11 #108.
- Bump
libolmto 3.2.15 #108. - Add CI building containers with all supported Python versions and both amd64 and arm64 for PRs, pushes to master branch (
devtag), and releases. See https://github.com/anoadragon453/matrix-reminder-bot/pkgs/container/matrix-reminder-bot for development artifacts. #108, #110, #125. - Bump GitHub actions #111.
v0.2.1
Quick release to bump matrix-nio to version >=0.18, as otherwise that is required for the bot to work with Synapse 1.38+.
See #86 for details on the bug.
Otherwise, full changelog below:
-
Improve the '!listreminders' output.
-
Add one-letter aliases to each command.
-
Add 'remind' as an alias for the 'remindme' command.
-
Use a pill when reminding a user.
-
Timezone errors due to daylight savings times will be corrected after a bridge restart.
-
Prevent timezone-related errors when creating a reminder.
-
Better parsing of reminders that have newlines.
-
Add release instructions.
-
Update setup.py to indicate Python 3.6+ is required.
-
Bump minimum version of matrix-nio to 0.18.
-
Bump the version of libolm to 3.2.4.
-
Bump the version of Python in the CI to 3.9.
v0.2.0
Lots of changes, updates and polishing! Find the list below:
Features
- Better support for command prefixes other than the default
!. - Just writing
!silencenow silences the currently active alarm. - The bot will now print the correct syntax of a command if the user fails to follow it.
- The bot will reply to events if it cannot decrypt them, as well as offer helpful tips that both the user and bot operator can try to fix things.
Bugfixes
- Timezones. They should finally work correctly! ...no 100% guarantees though.
- Alarms were a bit broken. They're fixed now.
- Fix commands with formatting and newlines not being picked up by the bot.
- Fix non-latin characters preventing reminders from being deleted.
Internal changes
- Add a dev-optimised Dockerfile for quicker iteration during development.
- Better wording revolving alarms. They're just reminders that alarm repeatedly when they go off.
- Log why the bot is unable to start.
- Don't print "Unknown help topic" in case the user is trying to ask another bot for help.
- The config dict is now a singleton.
- Type hints everywhere!
The minimum Python version is now 3.6.
v0.1.0
Initial release! If the issue tracker is to be believed, there are no more show-stopping bugs for the moment, only new feature requests.
So... seems like a good time to do a release!