github caronc/apprise v0.8.8
Apprise Release v0.8.8

Details

📣 New Notification Services:

  • n/a

💡 Features

  • ⭐ Message notifications are now asynchronous for Python 3 users! (#273) 🚀
    • CLI user can set --disable-async or -Da on the command line to disable this and go back to the legacy synchronous method which much slower when dealing with more then one notification.
    • Developers can set AppriseAsset(async_mode=False) before passing the asset into the Apprise() object to disable this.
  • ⭐ Configuration files can now contain the keyword include allowing further (Apprise) configuration files to be parsed. (#226) 🚀
    • text base example:

      include http://localhost/path/to/more/configuration/entries
      # No limit to the number of includes you specify
      include file:///path/to/another/configuration/file/on/your/system
      
    • The following restrictions apply to the new include value:

      1. Developers: By default include entries are disabled unless the developer sets recursion to a value greater than it's default of zero (0) when initializing a AppriseConfig() object. e.g: AppriseConfig(recursion=1). A value of 1 allows 1 level of includes to work. However, if the configuration include also contains an include statement, it would be ignored. You can increase the level of recursion to whatever you wish.
      2. CLI: The apprise tool by default has a recursion of one (1) allowing one level of include statements to be executed. This can be altered by setting the --recursion-depth=<value> (-R <value>) switch.
      3. include statements have restrictions on the content being included. For example, a file:// can include another file://. But a http:// can not include a file://. A file:// can however include a http://. All of this has been put in place for security reasons. A server hosting Apprise through a website by default will never allow a user to include local files into the configuration. Developers can disable this feature by setting insecure_includes to True when initializing a AppriseConfig() object. e.g: AppriseConfig(recursion=1, insecure_includes=True).
  • Advance Email Parsing added (#276)! All notification services that take email addresses as input can now support the (additional) formats:
    • Full Name user@domain.com
    • Full Name: user@domain.com
    • Full Name <user@domain.com>
    • Full Name : <user@domain.com>

      Services that can utilize the Full Name will make it part of the To or Cc delivery if specified (accompanied with the email it's associated with).
  • Added a /bin directory to repository which just contains a few test tools that make it easier to test the code in development.
    • ⚙️ apprise: a way of executing the code straight after pulling down the source code. This really helps in testing new features being developed right within the very branch you're working in.
    • ⚙️ test.sh: a simple script you can use to run the unit tests and/or even a very specific one (or set of them).
    • ⚙️ checkdone.sh: a simple script that runs a few checks against the entire code checked out to verify if there are any errors (instead of waiting for the Travis-Ci to inevitably catch them)
  • Lametric Time now supports an icon= URL argument so that you can over-ride the default icon assigned and instead choose from any of the ones provided on their website here.

❤️ Life-Cycle Support

  • Removed deprecated code along with their paired notices that have been all lingering for more than a year now (#283)

🐛 Bugfixes

  • Reverse URL broke in previous release (v0.8.7); this bug was fixed restoring the correct functionality of Apprise.url() (#275)

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v0.8.8 from PyPI
pip install apprise==0.8.8
latest releases: v0.9.4, v0.9.3, v0.9.2...
12 months ago