Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update dependency apprise to v1.7.1 #2964

Merged
merged 1 commit into from
Jan 10, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 10, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
apprise 1.4.5 -> 1.7.1 age adoption passing confidence

Release Notes

caronc/apprise (apprise)

v1.7.1

Compare Source

Details

This was just a small release to patch a small bug (#​1032) preventing Apprise v1.7.0 from being compatible with the Apprise API.

See the release notes for Apprise v1.7.0 to see all of the bells and whistles now available!

πŸ› Bugfixes
  • Resolved ConfigMemory AttributeError Exception (#​1032)
Installation Instructions

Apprise is available on PyPI through pip:

### Install Apprise v1.7.1 from PyPI
pip install apprise==1.7.1

v1.7.0

Compare Source

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..

πŸš€ would become πŸš€ and πŸ‘ 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`
         ```bash

again ... πŸš€ would become πŸš€ and πŸ‘ would become πŸ‘

         apprise --title=":+1: Great work everyone!" \
                --body="So proud of you all! :rocket:." \
                --interpret-emojis
                "myschema://credentials"
         ```
    1. 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.
         ```python
         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](https://togithub.com/caronc/apprise/wiki/CLI_Usage#ok_hand-emoji-support) 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: <@&#8203;123>
      • role: <@&#8203;&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

v1.6.0

Compare Source

Details

πŸ“£ New Notification Services:
πŸ’‘ Features
  • mqtt:// added log entry on successful transmission for both consistency and to align with other plugins (#​946)

  • Refactored URLBase() object to prepare for API Webhook support in the Apprise API (#​973)

  • A global change to handles user= directive a better and auto-solves ambiguous situations where the URL looks like this: schema://username@hostname?user=username2 (#​947).

    In the past the username would get lost and be trumped with username2. This is fine, but to may Apprise more versatile, Now in these circumstances Apprise will interpret it as: schema://password@hostname?user=username. This change does not disrupt other common formatting such as:

    • schema://username:password@hostname
    • schema://username@hostname
    • schema://hostname?user=username&password=password
  • Default Attachment maximum attachment size changed from 5MB to 1GB (be3baed). This just makes it easier to use the API and CLI without issues. It lets the upstream service complain if the attachment is too large instead of Apprise restricting you.

  • xml:// custom URL parsing better handles customized XML elements (inserted, renamed and deleted); (#​945).

  • Configuration now supports Groups. You can now assign pre-defined tags to groups and trigger your notifications off of them. (#​967)

    • Groups are processed at the end, so there is no requirement to define it at the front or end of your configuration files.
    • Group definitions stack as well (so defining the same group again with append any entries to what was already assigned.
    • You can assign more groups to groups
    • You can assign multiple groups in one single declaration
    • Here is a simple TEXT example:

assign "tag1" and "tag2" to the group "group"

  group = tag1, tag2

Group assigned to a group plus another tag

  groupA = group, tag3

Support multi-assignments (also stackable)

both groupB and groupC would acquire tag1 and tag4

  groupB, groupC = tag1, tag4

Append another tag into a group already defined

  group = tag4

Just some URLs defined as examples

  tag1 = mailto://credentials
  tag2 = mailto://credentials
  tag3 = mailto://credentials
  tag4 = mailto://credentials
  ```

  If you were to send your notification to the tag `group` it would in fact trigger both `tag1`, `tag2`, and `tag4`:
  ```bash
  apprise -g 'group' -b "Test Message!"
  • Here is a simple YAML example:

You must define a groups section

  groups:
      group: tag1, tag2
      groupA: group, tag3
      group: tag4

Support multi assignments:

      groupB, groupC: tag1, tag4

Another way you can define your groups:

      groupD:
        - tagX: Place an optional comment here; this is ignored and only tagX is retrieved
        - tagY: Another spot to place an optional comment

You can also just list them:

      groupG:
         - tag1
         - tag3
         - group

Define your tags as usual here:

  urls:
     - json://localhost:
        - tag: tag1
     - form://localhost:
        - tag: tag2
     - mailto://credentials:
        - tag: tag3
     - mailto://credentials:
        - tag: tag4
  ```
❀️ Life-Cycle Support
  • MSG91 Rewrite due to massive upstream changes to their API. (#​966)
    • It's basically a completely new plugin with zero backwards compatibility with it's previous design. Functionality restored in this release.
  • Twitter plugin supports x:// in addition to tweet:// and twitter:// to align with re-branding (#​971)
  • Matrix updated to handle API v3. Attachment support not there, but works for v2. Simply add ?v=2 to your Apprise URL to use the older API for now. (#​970)
  • Downgraded License to BSDv2 (BSDv3 is too strict) (#​976)
πŸ› Bugfixes
  • n/a
Installation Instructions

Apprise is available on PyPI through pip:

### Install Apprise v1.6.0 from PyPI
pip install apprise==1.6.0

v1.5.0

Compare Source

Details

πŸ“£ New Notification Services:
πŸ’‘ Features
  • Matrix Attachment support! πŸ“š πŸš€
  • Discord:
    • Rate Limiting (429 Error code) handling/support (#​901)
      • basically retry our post once our limit timer has elapsed
    • Added href= variable that can be set on the Apprise URL which allows you to leverage the embed part of the API and turn your title into a hyperlink to the specified location. You can also use url= (as an alias to href=) (#​927)
  • All notifications now no longer require a body if at least 1 attachment was provided. This expands the use of Apprise to not constrict you to always include a body when the only intent you had was to post an attachment.

For the CLI you are still required to set the --body to "", but this no longer

generates an error

  apprise --attach="/path/to/attachment.zip  --body ""
  ```
  • Apprise.details() improvements
  • Added Matrix Attachment Support (#​921)
  • Support for Serialization via Pickle Library added. (#​929)

as an example ...

import apprise
import pickle

Instantiate our object

apobj = apprise.Apprise()

Add our URLs

apobj.add("json://localhost")
apobj.add("xml://localhost")
apobj.add("form://localhost")
apobj.add("mailto://user:pass@localhost")

Now serialize our object for any purpose

serialized = pickle.dumps(apobj)

do what you will; write this to disk, send it to a remote

server, etc.

We can re-load our serialized content and turn it back into

and object like so:

apobj_n2 = pickle.loads(serialized)

##### :heart: Life-Cycle Support
- Python 3.11 `getdefaultlocale()` deprecation warnings now handled (#&#8203;754)
- Gitter support removed as it is now leveraging [Matrix which Apprise already supports](https://togithub.com/caronc/apprise/wiki/Notify_matrix). (#&#8203;924)
##### :bug: Bugfixes
- Reddit RateLimit variables should be unique per instance (d7a5a60508c9fa57f8dfce9cf419973fbe86dbb0)
- `&nbsp;` placed in the Title/Subject of some notifications; this has now been fixed. (#&#8203;914)
- `gettext()` no longer installs `_` into the global namespace, but instead keeps the `_` at an `apprise` module scope. (#&#8203;821)
##### Installation Instructions
Apprise is available [on PyPI](https://pypi.org/project/apprise/) through _pip_:
```bash
### Install Apprise v1.5.0 from PyPI
pip install apprise==1.5.0

Configuration

πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/apprise-1.x-lockfile branch 7 times, most recently from 7ccce27 to bbc3a98 Compare January 10, 2024 20:20
@renovate renovate bot force-pushed the renovate/apprise-1.x-lockfile branch from bbc3a98 to 99a639d Compare January 10, 2024 20:32
@michael-genson michael-genson enabled auto-merge (squash) January 10, 2024 20:53
@michael-genson michael-genson merged commit e0fca5e into mealie-next Jan 10, 2024
9 checks passed
@michael-genson michael-genson deleted the renovate/apprise-1.x-lockfile branch January 10, 2024 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant