github rhizomatics/supernotify v1.3.0

latest releases: v2.15.0-beta1, v2.14.1-beta1, v2.14.0...
11 months ago

1.3.0

Features

  • Notify Entity transport now only selects unique targets, so if a Notify Entity has been delivered
    in the same notification call, for example by Alexa Devices, it won't be called again for a duplicate
    announcement. Closes issue#8
  • Deliver can now have a list of target inclusion regexes, useful for excluding Alexa _speak devices
    or for custom notifications using Generic transport
  • Target definition for Delivery or Transport can now be more flexible
    • Allows a structured dict, a single value, or list of strings.
    • Structure only required where category can't be inferred, so entity_ids, device_ids, email and phone numbers are fine
  • Deliver has a new target_usage key, taking values of:
    • no_action only uses the Delivery target if there's no target on the notification action call
    • no_delivery only uses the Delivery target if there's no target applicable to this delivery
    • merge_delivery combines the targets in the Delivery with any on the action call, only where delivery already has a target
    • merge_always combines the targets in the Delivery with any on the action call, or if there's
      no target on the notification, it defaults to the Delivery target
    • fixed only ever delivers to the targets in the Delivery config, ignoring any direct or indirect (for example person_id) in the action call
  • Entity states for Delivery and Transport now directly reflect configuration
  • target_required is no longer boolean (although backward compatible), and now has values always,never and optional.
    • If set to never it speeds up delivery and debug traces by not computing targets when they're not needed
  • Improved DebugTrace - more stages, shows NO_CHANGE when no effect
  • Documentation improved - core concepts and principles, transports, more schema definitions

Internal

  • Transport implementations simplified, select_targets now replaced by options to select
    target categories, for example entity_id and a list of inclusions regexs
  • Target now has dunder method to support subtraction, for the targets only, and a safe_copy method
  • Notification object now maintains a list of all the target values selected by deliveries, and this
    is archived for debug purposes ( and supports the new unique target value functionality)
  • Snoozer now uses timedelta rather than integer seconds to measure snooze length
  • More tests for common

Full Changelog: v1.2.3...v1.3.0

Don't miss a new supernotify release

NewReleases is sending notifications on new releases.