What's Changed
First off, a huge kudos to the large increase in community support! A lot of bugfixes from a number of very active contributors that make a huge bulk of this release. 12 new services supported in this release bringing the total (Apprise) supported plugin count to170! 🔥
📣 New Notification Services:
- GoAlert notification support in #1767
- Added OneBot (QQ) Support in #1768
- AMQP v0.9.1 and v1.0 support in #1809
- GitHub issue, discussions and pull request notifications in #1815
- Add Gorush push notification support in #1818
- Add Better Stack support in #1819
- incident.io support added in #1822
- Squadcast support added in #1830
- Added ilert support in #1833
- LFG Alarm support added by @LFGWin in #1832
- Added Zalo support in #1836
- Zoho Cliq support added in #1835
🐞 Bugfixes
- YAML config no longer drops plugin ?tags= from URLs by @TheFiZi in #1782
- tags= and tag= on urls not supported in #1783
- notify decorator honours common URL options in #1784
- Close MQTT connection when the notifier is freed by @LuisFigueroaG in #1773
- Matrix E2EE no longer publishes unused one-time keys by @Cassian433 in #1770
- Keep from=, flash= and label= in seven:// url() by @LuisFigueroaG in #1774
- Keep the from= sender address in Pingram url() by @SulimanAbdulrazzaq in #1776
- Keep the from= sender address in Mailgun url() by @SulimanAbdulrazzaq in #1777
- Do not re-send message pieces that were already accepted when retrying by @SulimanAbdulrazzaq in #1779
- Clear LC_MESSAGES in translation tests by @wolfgang-aura in #1775
- Hide a bare access token in matrix:// privacy url() by @LuisFigueroaG in #1786
- Improve persistent storage namespaces path handling in #1796
- Hide the password in smpp:// privacy url() by @LuisFigueroaG in #1785
- fix(matrix): use standard Base64 for E2EE attachment IV by @vampywiz17 in #1788
- Use the default file expiry as a cutoff date in disk_prune() by @cristianchiriac in #1808
- Fail for empty or invalid storage env variables by @cristianchiriac in #1807
- Do not send an empty piece when overflow=split breaks at a leading line break or space by @SulimanAbdulrazzaq in #1792
- Keep an invalid backslash sequence as written when interpret_escapes is on by @SulimanAbdulrazzaq in #1791
- Fix renewal of persistent files read with the default key by @Dcastroro in #1814
- Keep pending persistent writes after a non-persistent set() by @cristianchiriac in #1813
- Keep custom from= address in email url() round trips by @cestercian in #1811
- Keep cc/bcc/reply display names intact in email url() by @cristianchiriac in #1812
- Keep encoded slashes and other escapes intact in URL paths in #1816
- Hide the API key in twilio:// privacy url() by @LuisFigueroaG in #1817
- Make incident plugins consistent and let PagerDuty, PagerTree and SIGNL4 resolve alerts in #1824
- Stop uppercasing name=, identifier= and sound_href= in strmlabs:// by @LuisFigueroaG in #1821
- Fix email reply= failing after the first recipient by @LuisFigueroaG in #1827
- Honor +Arg=Val and -Arg in ifttt:// URLs by @MaxFreedomPollard in #1831
- Fix SendPulse sending only the last cc/bcc address by @LuisFigueroaG in #1834
💡 Features
- Keep line breaks and indentation of
<pre>blocks in html to text conversion by @SulimanAbdulrazzaq in #1778 - Accept a semicolon between URLs in a URL list by @SulimanAbdulrazzaq in #1780
- Plugin alias alignment improvements in #1789
- Support Discord emoji overrides (ability to turn them off) in #1805
- improved type hinting in #1825
- Send Pushover markup with no text as plain text by @theluckystrike in #1829
❤️ Life-Cycle Support
- docs: target master in contribution instructions by @shabeeth2 in #1771
- Decommission Amazon Chime (no longer in service) in #1826
Installation
Apprise is available on PyPI through pip:
# Install Apprise v2.1.0 from PyPI
pip install apprise==2.1.0If you use uv, you can install the apprise command in its own isolated environment, or add Apprise to your uv project:
# Install the apprise command
uv tool install apprise==2.1.0
# Or add it to your own project
uv add "apprise>=2.0.0,<3.0.0"New Contributors
- @shabeeth2 made their first contribution in #1771
- @TheFiZi made their first contribution in #1782
- @LuisFigueroaG made their first contribution in #1773
- @Cassian433 made their first contribution in #1770
- @wolfgang-aura made their first contribution in #1775
- @cristianchiriac made their first contribution in #1808
- @Dcastroro made their first contribution in #1814
- @cestercian made their first contribution in #1811
- @theluckystrike made their first contribution in #1829
- @LFGWin made their first contribution in #1832
Full Changelog: v2.0.1...v2.1.0