Skip to content

Release v1.7.0

Compare
Choose a tag to compare
@caronc caronc released this 28 Dec 01:49
· 130 commits to master since this release

Details

📣 New Notification Services:

💡 Features

  • Massive Refactoring of Dynamic Module Loading (now on demand) (#1020)
  • YAML (Configuration) Tag Group Support enhancement (#998)
  • Emoji support added 🚀 (#1011)
    • You can now provide :slightly_smiling_face: (as an example) in your apprise message body and have it swap to 🙂
    • All supported emoji's were based on @ikatyang's Emoji Cheat Sheet
    • The emoji engine is not active by default but can be turned on in several ways:
      1. In your Apprise URL, simply add the parameter emojis=yes and they will be ran against that service only:

        # The below would run the title and body through the emoji engine to produce their unicode
        # emoji equivalent..
        # :rocket: would become  🚀 and :+1: would become  👍
        apprise --title=":+1: Great work everyone!" \
               --body="So proud of you all! :rocket:." \
               "myschema://credentials?emojis=yes"

        You can also ensure that the emoji engine is always turned on via the CLI using the switch --interpret-emojis or it's synonymous equivalent -j

        # again ... :rocket: would become  🚀 and :+1: would become  👍
        apprise --title=":+1: Great work everyone!" \
               --body="So proud of you all! :rocket:." \
               --interpret-emojis
               "myschema://credentials"
      2. In your Apprise Asset object, just set emojis=True. This becomes a bit more of a global switch and turns on the emoji support for all notifications regardless if the emojis=yes is set on the URL.

        import apprise
        # if set to True:
        #      Emoji Engine is enabled by default (but can be over-ridden on a per-url base ?emojis=no
        # if set to False:
        #      Emoji Engine is never enabled (regardless of URL definition)
        # if set to None (Default):
        #      Emoji Engine is enabled on demand (per URL definition only)
        
        asset = apprise.AppriseAsset(emojis=True)
        apobj = apprise.Apprise(asset=asset)
        
        # The below will be passed through the emoji engine because the asset enabled it
        # by default
        apobj.add("myschema://credentials")
        
        # The below will never use the emoji engine, regardless if it is enabled or not:
        apobj.add("myschema://credentials?emojis=no")
    • This is documented here as well on the wiki
    • Note that if the emoji engine is enabled, but the URL specifically says ?emojis=no, then the engine will never be applied against it.
  • Telegram (tgram://) supports topics inline per target specified (#1028)
    • Previously Supported:
      • tgram://{bot_token}/
      • tgram://{bot_token}/{chat_id}/
      • tgram://{bot_token}/{chat_id1}/{chat_id2}/{chat_id3}/
    • Newly Supported (in addition to the above):
      • tgram://{bot_token}/{chat_id}:{topic}/
      • tgram://{bot_token}/{chat_id1}:topic1}/{chat_id2}:{topic2}/{chat_id3}:{topic3}/
    • You are not required to provide a topic as it is purely optional:
      • tgram://{bot_token}/{chat_id1}/{chat_id2}:{topic2}/{chat_id3}/
  • Discord (discord://) support for user and role ping support (#1004).
    • The discord message body can contain content such as the following to trigger the appropriate pings
      • user: <@123>
      • role: <@&456>
      • tag: @everyone

❤️ Life-Cycle Support

🐛 Bugfixes

  • n/a

Installation Instructions

Apprise is available on PyPI through pip:

# Install Apprise v1.7.0 from PyPI
pip install apprise==1.7.0