Apprise Versions Save

Apprise - Push Notifications that work with just about every platform!

v1.4.5

10 months ago

Details

:mega: New Notification Services:

:bulb: Features

  • Custom sound effects now supported by Pushover (pover://) (#843)
  • Ntfy plugin (ntfy://) now correctly displays attached images inline (#892)
  • Telegram attachments can now optionally be displayed before or after the provided text/body.

:heart: Life-Cycle Support

  • Use UTC Aware Timezones throughout code to eliminate (Naive Time Based) deprecation warnings for Python v3.12

:bug: Bugfixes

  • Matrix (matrix://) bugfix with the internal URL generation when a port is not provided. (#900)
  • Telegram (tgram://) correctly places attachments in thread when specified (#893)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v1.4.5 from PyPI
pip install apprise==1.4.5

v1.4.0

1 year ago

Details

:bulb: Features

  • Apprise API apprise:// attachment support added! :rocket: . (#873 and #877)
    • That's right, if you have an Apprise API instance running, you can now post attachments to it and it will store them and relay them along to the endpoints that support it.
      apprise -vv -b "Test" "apprise://localhost/config_id" \
         --attach=/path/to/something.jpeg
      
  • Support custom field mappings for JSON, FORM and XML Services (#842)
    • Up until now you could leverage :value=key and add data into the payload of the custom supported Apprise endpoints (JSON, FORM and XML). But now you can change the mapping of the fixed ones that were always present. Hence :message=body would cause the payload to no longer put the message passed by apprise in the hard-coded message field. In this example, the payload would appear under a new tag called body.

      You can also set the values to be empty if you want to strip them from the payload. For example :version= would eliminate the version (previously hard-coded) payload element from the response.
  • Apprise CLI Global Configuration Added (#875) -/etc/apprise among other paths added to the default search for configuration files when the apprise CLI tool is used.
  • Telegram tgram:// Topic ID Support Added (#854)
  • Better slack:// Channel Support (#856)
    • Supports <!channel|desc> & <!channel>

:heart: Life-Cycle Support

  • Return target count from len(Service) calls #874
    • This under-the-hood fix is just good for developers who wish to see how many targets (or endpoints) have been associated with one Apprise URL.
  • More async re-factoring improvements; the overhead of creating a thread-pool is now bypassed if it is detected that only one (1) notification is required to be sent. (#846)

:bug: Bugfixes

  • Windows notifications: Correct WM_DESTROY return value (#863)
  • Custom Plugins (.py files hand-written) handling improvements. No longer is every file found interpreted. It must be a .py file (#853)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v1.4.0 from PyPI
pip install apprise==1.4.0

v1.3.0

1 year ago

Details

:mega: New Notification Services:

  • Pagertree Support added. (#817) - Thanks @armiiller
  • Voip.ms Support added. (#814) - Thanks @phea
  • Misskey Support added. (#831)

:bulb: Features

  • ntfy:// added support for Icons now.
    • In addition to this, one can specify avatar_url= keyword argument to point to their own custom one (#822)
  • ntfy:// support for Authentication Tokens (in addition to user/pass) (#830)
  • form// has a new parameter called attach-as which allows you to over-ride the meta field id (such as file01, file02, etc) assigned to files (attachments) in the payload. (#827)
    • Some servers expect the post to come as meta01, or document, etc. Setting this value does not have any impact until 1 or more attachments are also part of the payload.
    • Simply set this ?attach-as=document, or ?attach-as=meta*. the * allows for support of multiple files. Apprise will spit out a warning if you don't provide a * when over-riding this AND you send more then 1 attachment up.

:heart: Life-Cycle Support

  • License change to BSD 3 Clause. (#813)
    • :point_up: Know that Apprise will always remain open source!
  • Matrix messages soft limit increased from 1000 to 65000 as identified in spec (58f9e6484399b95fff11f98b16b4d7f779f91299)
  • Massive re-factoring of the async section of the Apprise code. (#817) - Thank you @YoRyan :rocket:
    • This could show up as a breaking change for some people who leveraged async_notify() in the past. Please read below.
  • Pushover soft limit increased to 1024 characters (#820)
  • Cisco webex:// updated to support the new API servers used by them (#815)

The async Re-factoring

The async_notify() handling was completely re-factored in this release. The changes properly implement the function as how it was intended to work. Previously the design was arranged in such a way to remain backwards compatible with Python v2.

After this release the following works for those who want to leverage it:

from apprise import Apprise

async my_async_function():

    # Now you can use the async_notify() call
    await apobj.async_notify(
        body='what a great notification service!',
        title='my notification title',
    )

Note: There is no breaking change to those using the notify() call however the the asynchronous handling was changed beneath it.

:bug: Bugfixes

  • mqtt:// unsigned certificates can skip their verification if the user chooses to verify=No to behave like other services (#825)
  • Added missing dependency python3-certifi to Apprise RPM (093cc272b15b70e9e5d1101e2ea4878e6947d225)
  • form:// now no longer throws an exception when an attachment is provided (#826)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v1.3.0 from PyPI
pip install apprise==1.3.0

v1.2.1

1 year ago

Details

This release just includes some minor enhancements and bug-fixes to bundle that accumulated since v1.2.0.

:mega: New Notification Services:

n/a

:bulb: Features

  • macosx:// added support for click= keyword argument to support hyperlinks (#789)
    • this is a wrapper to -open in the terminal-notifier underlining tool
  • mailto:// better handling of emails that contain a + in their username (#779)

:heart: Life-Cycle Support

  • mailto:// re-factored bulk email transfers to re-use already open connection ( #774) - thanks @amotl
  • GitHub Workflow and Environment/Testing improvements (#728, #771, #783) - thanks @amotl
  • Complete rewrite of D7 Networks (d7sms:// ) to support its new API (not backwards compatible with previous) (#791)

:bug: Bugfixes

  • slack:// correctly returns success message when applicable (#777)
  • TEXT Configuration parsing improved for better tag/URL distinction (#768)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v1.2.1 from PyPI
pip install apprise==1.2.1

v1.2.0

1 year ago

Details

:mega: New Notification Services:

:bulb: Features

  • mailto:// handling of name= and from= are now synonymous. (#738)
  • gchat:// supports threadKey argument (#753)
  • pagerduty:// allows manual over-ride of severity= option (which prevents the Apprise auto-assignment from kicking in). (#726)
  • mailto:// efficiency improvements (#679)
  • slack:// URL Markdown support added (#737)

:heart: Life-Cycle Support

  • Testing Backend and C/I completely re-done (#701) Thank you @amotl :rocket:
    • Travis CI dropped and changed to GitHub Actions (#706, #705 and #702)
    • Python v2.7 left-over cleanup (#686)

:bug: Bugfixes

  • mailto:// handles outlook.com domains correctly now (#755)
  • discord:// improved markdown support (#718)
  • Config yaml files correctly parse rto and cto correctly (#751)
  • nctalk:// improvements to fix it's handling with API. (#669)
  • opsgenie:// bugfix introduced in Apprise v1.1.0 resolved (#688)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v1.2.0 from PyPI
pip install apprise==1.2.0

v1.1.0

1 year ago

Details

:mega: New Notification Services:

:bulb: Features

  • RedHat/Rocky/Alma Linux v9 Support (also now available on EPEL) (#658)
    # Redhat/Rocky/ALMA/Scientific/Oracle Linux 9 instructions:
    sudo dnf config-manager --set-enabled crb
    sudo dnf install epel-release epel-next-release
    
    # Now install Apprise
    sudo dnf install apprise
    

:heart: Life-Cycle Support

  • :boom: Python v2.7 support dropped (#680)

:bug: Bugfixes

  • signal:// to support groups ending with an = (equal) symbol (#670)
  • opsgenie:// no longer double stacks body in larger messages (#655)
  • bark:// correctly handles custom ports (#672)
  • mailto:// delivery improvements to better follow mail guidelines (less likely to get email identified as spam) (#660)
  • pagerduty:// bug-fix to correct sending

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v1.1.0 from PyPI
pip install apprise==1.1.0

v1.0.0

1 year ago

Details

:rocket: Finally after 2 years the v1.0.0 release is a reality; the code has been deemed stable enough!

:bulb: Features

  • :rocket: Custom Notification Support (#454)
    • Users can now leverage @notify decorator and trigger their own notifications that they define.
    • See Here for more details how you can do this.
  • Discord Apprise URL supports thread= directive (#630)

:heart: Life-Cycle Support

  • Dropped XMPP Support due to instability; will re-add down the road

:bug: Bugfixes

  • vonage:// support (in replace of legacy nexmo:// (#605)
  • Async bullet proofing (b34051ccafb1d4649440258282633523fd240357) for cases when the event loop is already running
  • Fixed parsing of custom nid for Home Assistant plugin (#627)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v1.0.0 from PyPI
pip install apprise==1.0.0

v0.9.9

1 year ago

Details

:mega: New Notification Services:

  • Guilded Support added. (#578)
  • Bark Notification Support Added (#582)
  • Line Notification Support Added (#594)
  • PagerDuty Notification Support Added (#522)

:bulb: Features

  • :books: Signal File Attachment Support Added (#580)

:heart: Life-Cycle Support

  • Dropped Pronto Mail support (as it no longer has an SMTP access point in the cloud) (3ffac7c372686a058155c16f545a5b42247b7f31)

:bug: Bugfixes

  • More Telegram HTML bulletproofing added (#579)
  • Zulip to support dashes (-) (#581)
  • Signal Improvements (#592 and #580)
  • Apprise accepts 10 digit phone numbers as being valid now (previously they had to be 11 digits or more) (#591)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v0.9.9 from PyPI
pip install apprise==0.9.9

v0.9.8.3

2 years ago

Details

:mega: New Notification Services:

  • Signal API Support added. (#568)
  • Ntfy Support added. (#524 and #571)

:bulb: Features

  • :books: Twitter File Attachment Support Added (#536)
  • :zap: Gotify API Key removed from URL Parameters and into Header Files (more secure) (#558)
  • Custom Override support for JSON and XML Notifications
  • always special tag added. Any notifications tagged with this will always be notified regardless of additional tag filters provided there-after. It's like placing a trump card onto one or more notification defined notification services to ensure they are always triggered.

:heart: Life-Cycle Support

  • Hotmail SMTP Server changed (updated in Email Template) (#557)

:bug: Bugfixes

  • Title correctly shows in Matrix posts (#545)

Additional Notes:

  • v0.9.8.1 (2022-04-20) - was created to resolve a Telegram issue introduced a case where <br/> was inserted into all new messages (and is unsupported by the upstream service.
  • v0.9.8.2 (2022-04-23) - was introduced to allow Telegram more bulletproofing around other additional HTML characters that are unsupported (stripping them off for more compatibility) handling without disrupting other services.
  • v0.9.8.3 (2022-04-28) - Re-factored Telegram handling of HTML when provided MARKDOWN

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v0.9.8.3 from PyPI
pip install apprise==0.9.8.3

v0.9.7

2 years ago

Details

:mega: New Notification Services:

  • Amazon SNS Support added. (#491)
  • ServerChan Support added. (#494)
  • DAPNET Support added. (#506)
  • Custom FORM Posts Support added. (#512)
    • If you set the new ?method=get then payload is placed in the URL parameters (encoded) instead of payload/response.
  • Nextcloud Talk Support added. (#515)

:bulb: Features

  • :rocket: Apprise can now convert from HTML -> TEXT if specified to do so (#527 and #530)
    • Up until this version, if the input was HTML, there was no way Apprise could attempt to format the content to a TEXT look/feel for upstream services (such as text messages, twitter, etc).
  • /opt/homebrew/bin/terminal-notify added to search path added of MacOSX Notification (#509)
  • Custom XML, JSON and FORM notifications support a ?method= option allowing you to change the default (from POST) to GET, DELETE, PUT, and HEAD).
  • FCM Plugin Supports much more Payload Options (#489) allowing for the passing of image_url, priority, and color.
  • Foxmail (qq.com) and 163.com template support added to E-Mail Plugin (#529)
    • Foxmail URLs can now look like mailto://user:[email protected] and Apprise will look after the rest for you
    • 163.com URLs can now look like mailto://user:[email protected] and Apprise will look after the rest for you

:heart: Life-Cycle Support

n/a

:bug: Bugfixes

  • Reddit Posting Improvements (#510 and #528)
  • Telegram bulletproofing on bot owner detection (#517)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v0.9.7 from PyPI
pip install apprise==0.9.7