What's Changed
This release has a few bugfixes, but introuces a slew of (12) new services bringing the total supported services up to 183. The foundation of the Apprise library has now made it very easy to just scan missing service's upstream APIs and add them to our catalog. There are so many examples now to use as reference. A big kudos to @LuisFigueroaG for all of your contributions for the last 2 releases; I really appeciate it!
Note: There is a security fix in this release: GHSA-cfp4-m43r-v9q4
📣 New Notification Services
- Add Groundmail notification support (groundmail://) by @Ktryberceo in #1838
- Added Infobip support in #1843
- Added CM.com support in #1846
- Added Telesign support in #1847
- Gupshup Support added in #1848
- added Kaleyra Support in #1849
- Added KakaoTalk support in #1852
- Added xMatters support in #1851
- Whapi.Cloud WhatsApp support in #1854 and #1857
- FireHydrant Signals support in #1858
- Nostr support with private messages and attachments in #1861
- Add SMSTunnel SMS notification support (smstunnel://) by @narcisbodea in #1863
🐞 Bugfixes
- Fix rsyslog:// multiplying the facility twice in the PRI value by @LuisFigueroaG in #1837
- Make tag checks on a service case-insensitive in #1844
- Fix d7sms:// batch=yes raising a TypeError on a failed send by @LuisFigueroaG in #1839
- Keep a line break written between inline tags for Telegram by @xubenqiang in #1842
- Fix reddit:// ignoring ad= and replies= by @LuisFigueroaG in #1845
- Fix psafer:// ignoring priority= by @LuisFigueroaG in #1850
- Fix xml:// ignoring GET params (-param=) by @LuisFigueroaG in #1856
- IPV6 hardening and TLS timeouts are tied to same globally defined one in #1862
- support blank data as input on incident reporting in #1859
- Fix burstsms:// ignoring validity= and rejecting uppercase country= by @LuisFigueroaG in #1860
- General hardening of codebase in #1868
- Fix lametric:// cloud mode not sending X-Access-Token by @LuisFigueroaG in #1865
- Add Bark subtitle, copy, action, archive, ttl, id and delete support by @fmontagna in #1869
- Keep CC display names in Postmark, Resend and Groundmail URLs by @Cassian433 in #1875
- Zulip messages without a title no longer fail in #1877
💡 Features
- Apprise works without markdown package installed in #1876
❤️ Life-Cycle Support
- Handle's click v8.5 deprecation notice in #1855
Installation
Apprise is available on PyPI through pip:
# Install Apprise v2.2.0 from PyPI
pip install apprise==2.2.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.2.0
# Or add it to your own project
uv add "apprise>=2.0.0,<3.0.0"New Contributors
- @Ktryberceo made their first contribution in #1838
- @xubenqiang made their first contribution in #1842
- @narcisbodea made their first contribution in #1863
- @fmontagna made their first contribution in #1869
Full Changelog: v2.1.0...v2.2.0