Releases: caronc/apprise
Release v1.9.3
What's Changed
It has been some time since I pushed a release; so this one just bundles all of the outstanding fixes/enhancments together.
📣 New Notification Services:
🐞 Bugfixes
- Fix flaky test in translation tests by @dg98 in #1298
- Set default port for Mattermost notifications by @sochotnicky in #1293
💡 Features
- Office 365 posts include subject and body now in #1274
- Telegram messages leverage caption field when attachments in #1290
- Extend options for plugin Seven by @matthiez in #1301
- Ntfy.sh Internationalized URL support added for click= in #1312
❤️ Life-Cycle Support
- Improved SMS transmission documentation in #1291
- apprise.urls() bulletproofing/bugfix in #1302
- Add option label for plugin seven by @matthiez in #1304
- Minor and insignifigant changes (typos and alike) in #1218
New Contributors
- @dg98 made their first contribution in #1298
- @sochotnicky made their first contribution in #1293
Installation
Apprise is available on PyPI through pip:
# Install Apprise v1.9.3 from PyPI
pip install apprise==1.9.3
Full Changelog: v1.9.2...v1.9.3
Release v1.9.2
What's Changed
This is a mini release to tuck some of the recent changes requested so they're available to all.
💡 Features
- discord:// now supports the kwarg of 'botname' in #1261
- Better support for reverse-url construction containing whitespace in #1267
❤️ Life-Cycle Support
- Updated reference to BSDv2 clause in RPM in #1260
🐞 Bugfixes
- Resolved chanify:// naming confusion in #1266
Installation
Apprise is available on PyPI through pip:
# Install Apprise v1.9.2 from PyPI
pip install apprise==1.9.2
Full Changelog: v1.9.1...v1.9.2
Release v1.9.1
What's Changed
This is a very long over-due release that includes all of the accumulated changes in Apprise. Happy Holidays!
📣 New Notification Services:
- Plivo Support Added in #143
- Support for PGP Email Support (DeltaChat Compatible) #1205
- Seven (SMS Provider) Added by @matthiez in #1242
💡 Features
- Matrix Well Known URI Server Discovery #1198
- Eliminated non-essential warning log in mailto:// parsing #1216
- Improved voipms:// phone number parsing #1230
- CLI environment variable over-ride support #1231
- Unpin paho-mqtt version by @kruton in #1238
- Note: This triggered returning issues with
?verify=no
provided in Apprise URLs. This still continues to work with the previously pinned version ofpaho-mqtt
< 2.0) but not with the newer versions. (see #802 for more details).
- Note: This triggered returning issues with
- Improved hostname verification #1243
- Bark - add critical level alert plus ?volume= argument by @pb8DvwQkfRR in #1239
- Refactored Office 365 Plugin #1225
- Refactored Apprise mailto:// and apprise.utils module #1255
- feat: Add support for latest MSTeams webhook URL format by @anothermwilson in #1253
- mmost:// supports legacy url webhooks (http://) #1258
❤️ Life-Cycle Support
- Added disclaimer for AES-CBC-128 weakness with simplepush:// #1215
- Fix print statement in test run function. by @tjni in #1220
- Dropped Python v3.7 GH Action Test Support (deprecated) #1224
- Removed python-xdist development dependency due to it not being used #1223
- Remove Boxcar due to it no longer being available upstream #1222
🐞 Bugfixes
- Remove duplicate entry for Burst SMS by @ksmarty in #1204
- Matrix: Allow token only client API authorization with token parameter by @voc0der in #1236
- Matrix Long Lived Token: Don't logout, and use UUIDv4 for transactionIds by @voc0der in #1249
- miskey:// visibility flags updated #1257
New Contributors
- @ksmarty made their first contribution in #1204
- @tjni made their first contribution in #1220
- @kruton made their first contribution in #1238
- @voc0der made their first contribution in #1236
- @matthiez made their first contribution in #1242
- @pb8DvwQkfRR made their first contribution in #1239
- @anothermwilson made their first contribution in #1253
Installation
Apprise is available on PyPI through pip:
# Install Apprise v1.9.1 from PyPI
pip install apprise==1.9.1
New Contributors 🎉
Full Changelog: v1.9.0...v1.9.1
Release v1.9.0
What's Changed
The largest change introduced in this build is the new Persistent Storage setup which will greatly reduce and optimize a lot of existing and new supported plugins.
📣 New Notification Services:
- WxPusher Support Added in #1135
💡 Features
- 🚀 ⭐ Persistent Storage in #1131 (more then 6,500+ lines of code added to the code base) 🔥
- This feature is very big and better documented here. Some general details can also be found here on the main README.md file.
- Long overdue, plugins can now safely cache some of the query results returned from upstream endpoints to disk. This saves the need to make future extra web requests later (overall causing a performance boost to Apprise).
- It's a cache engine done right; content is contained, and those using the CLI can clean/reset it. You can also easily turn it off.
- Not all plugins that can fully leverage this for it's added boost do so... *Yet*, but just give me some time and I'll get there.
- mqtt:// support for publishing retain flag in #1185
- SendGrid Attachment Support Added in #1190
- Refactored base64 attachment handling in #1191
❤️ Life-Cycle Support
- Documentation and CLI Tidying in #1187
- Cleaner usage of Apprise CLI (0d19db8)
- RPM Testing/Building Docker Containers smaller in size (1a2eecc and 1dc22e1) refs #948
🐞 Bugfixes
- Fix typo in readme by @khaffner in #1176
- Fix Telegram Thread/Topic handling in #1177
- Fixed mattermost channel handling n #1180
- Escape unsupported Telegram MarkdownV2 characters in #1181
- Telegram MarkdownV2 has turned out to be a VERY different style of markdown. For consistency, the default telegram mode is version 1. Simply add
?format=markdown&mdv=v2
to your URL to change this.
- Telegram MarkdownV2 has turned out to be a VERY different style of markdown. For consistency, the default telegram mode is version 1. Simply add
Installation
Apprise is available on PyPI through pip:
# Install Apprise v1.9.0 from PyPI
pip install apprise==1.9.0
New Contributors 🎉
Full Changelog: v1.8.1...v1.9.0
Release v1.8.1
Details
A lot of new changes; this release was long overdue. It was really great to see so much user contribution this time around! Very impressive and much appreciated! 🎉
📣 New Notification Services:
- Added Splunk/VictorOps Support (#1125)
- Added Africas Talking Support (#1167)
- Added Microsoft Power Automate / Workflows Support (MSTeams Successor) (#1172)
- Add Société Française du Radiotéléphone (SFR) Support by @Anghille (#1132)
💡 Features
- Slack supports <@userid> in message body (#1134)
- Turn large ntfy messages into a attachments (#1136)
- Refactored the way Notifiarr Discord users are mentioned (#1153)
- OneSignal to support custom data in payload (#1163)
- Twilio WhatsApp support added (#1173)
- Allow json data in OneSignal template arguments by @phantom943 (#1171)
❤️ Life-Cycle Support
- Refactor: update streamlabs.py by @eltociear (#1160)
- Fixed series of pep8 fixes surfacinging in python 3.11 flake8 checks (#1149)
- Drop support for Python v3.6 and EPEL 8 from Apprise (#1155)
- setup.py deprecation workaround with --use-pep517 (#1168)
🐞 Bugfixes
- Automatically increment Matrix v3 transaction IDs by @nmaggioni (#1128)
- Slack files upload deprecation by @delenamalan (#1130)
- Update token regex in ServerChan by @easychen (#1148)
- Add missing % string in import failed trace message by @jpbede (#1151)
- This will fix issues with Home Assistant
- Fixes random matrix:// unittest failures (#1166)
- fix: conversion html_to_text hr tags rstrip non string object by @fabiottini (#1162)
Installation
Apprise is available on PyPI through pip:
# Install Apprise v1.8.1 from PyPI
pip install apprise==1.8.1
New Contributors 🎉
- @nmaggioni made their first contribution in #1128
- @delenamalan made their first contribution in #1130
- @Anghille made their first contribution in #1132
- @easychen made their first contribution in #1148
- @jpbede made their first contribution in #1151
- @eltociear made their first contribution in #1160
- @fabiottini made their first contribution in #1162
Full Changelog: v1.8.0...v1.8.1
Release v1.8.0
Details
☝️ Attention Developers: there is a potential Breaking Change in this release. CLI users will not be impacted.
🛠️ Potential Breaking Change
PR #1119 involved the refactoring of all the internal file/module structure of the Apprise library. The hope is I didn't break anything in your source code 🙏 . The change was required in order to remain compatible with Python v3.11+ in conjunction with library importing and how it works under the hood. More details on the specific issue can be found here demonstrating it. The Python Issue I opened in reguards to this made it clear I needed to adapt the fix on my side and conform to a better file based structure.
The side effect of this massive change developers may see (if any at all) is just the way your import
calls are made. If you always followed the examples provided on this GitHub project, you'll have no issues at all. However, if you got clever and leveraged some of the under-the-hood compontents Apprise is built upon, then you may have an issue. The good news is the ONLY thing impacted is the way you imported your libraries (they just slightly moved around). An example of this is someone who may have had:
# For example:
from apprise.plugins.NotifyEmail import NotifyEmail
# This has changed to :
from apprise.plugins.email import NotifyEmail
# All other object functionality has not changed at all
Documented imports still work perfectly (both before and after this major refactor) such as:
from apprise import Apprise
from apprise import AppriseAsset
# etc...
📣 New Notification Services:
n/a
💡 Features
- Custom Plugin Attachment Support Enforced + Added Testing in #1115
- Do not sanitize
http://
attachment URLs (#1122)- This allows the successful fetching of very complicated http based Attachment URL's where the case sensitivity of the keys matter.
- The side effect of this change, is built in switches like
cache=
become case sensitive too (e.gCache=
will no longer be parsed).
❤️ Life-Cycle Support
- Enhancement: Refactor Test Code for Efficiency and Quality by @freddiewanah in #1100
- 💣 Python Module Naming & Namespacing Harmonization by in #1119
- This was a major change that eliminated
ClassName.py
to not include aclass ClassName
inside. Python has issues withimport
andunittest
references when this is done.unittests
break completely in Python v3.11 using this method making this massive refactoring essential.
- This was a major change that eliminated
🐛 Bugfixes
- Added JSON Content-Type header to freemobile:// in #1109
- Fix mailto://ip.addr support in #1114
clicksend://
authentication bugfix in #1121- Update Apprise API (
apprise//
) token length by @isometimescode in #1120
Installation
Apprise is available on PyPI through pip:
# Install Apprise v1.8.0 rom PyPI
pip install apprise==1.8.0
New Contributors
- @freddiewanah made their first contribution in #1100
- @isometimescode made their first contribution in #1120
Release v1.7.6
Details
📣 New Notification Services:
💡 Features
❤️ Life-Cycle Support
- Fixed deprication warnings for Markdown extensions in #1108
- Default locale logical compatibility with Python 3.12 by @liushuyu in #1054
- Retired faast.io - It is no longer responding in #1096
- ntfy loaded topic count bugfix in #1094
🐛 Bugfixes
- freemobile:// msg moved from GET parameters and into payload in #1106
- Honor overflow=truncate when sending attachments by @pomeloy in #1097
host
parsed from user login (if present) for Emails in #1095
Installation
Apprise is available on PyPI through pip:
# Install Apprise v1.7.6 from PyPI
pip install apprise==1.7.6
New Contributors
Release v1.7.5
Details
📣 New Notification Services:
- Free-Mobile Support added in #1090
💡 Features
- Improved markdown to html conversions in #1089
❤️ Life-Cycle Support
- Added test case to strengthen YAML configuration validation in #1043
🐛 Bugfixes
- Improved async/threading attachment support in #1086
- Improved variable parsing in YAML files in #1088
Installation
Apprise is available on PyPI through pip:
# Install Apprise v1.7.5 from PyPI
pip install apprise==1.7.5
Release v1.7.4
Details
📣 New Notification Services:
💡 Features
.conf
configuration file support added to CLI. This PR also resolved some documentation ambiguity in #1080
❤️ Life-Cycle Support
- n/a
🐛 Bugfixes
- Custom module deadlock import fix in #1077
- This was primary reason for this (Apprise) release; to resolve this bug introduced in #1071 (in Apprise v1.7.3).
Apprise is available on PyPI through pip:
# Install Apprise v1.7.4 from PyPI
pip install apprise==1.7.4
Release v1.7.3
Details
Another minor release to push some outstanding bug-fixes that have accumulated and patched over the past month
📣 New Notification Services:
💡 Features
mailto://
comcast.net email template added (#1059)mailto://
improved custom email server handling (5ae212f)to=
andfrom_addr=
are no longer required in most circumstances and can be automatically determined based on basic information provided.
ntfy://
markdown support added (#1056)- just add
?format=markdown
to format the content accordingly
- just add
❤️ Life-Cycle Support
paho-mqtt
v2.0 was released and it's documentation for v1.6.1 was completely incompatible with it. For the stability of themqtt://
plugin,paho-mqtt
has been pinned to the stable v1.x release (#1065)
🐛 Bugfixes
- Fixed documents with respect to the use of
yaml
files (#1069) - Thank you @samueltardieu- Updated CLI so that it can read both
.yml
and.yaml
files by default (#1073)
- Updated CLI so that it can read both
macosx://
- Update terminal-notifier notify_paths (#1052) - Thank you @joergschultzelutter- Asynchronous Dynamic Module Loading Support (#1071)
- This was a bug introduced with Dynamic Module Loading (in Apprise v1.7.0) preventing threading/async support
Apprise is available on PyPI through pip:
# Install Apprise v1.7.3 from PyPI
pip install apprise==1.7.3