Mqttwarn Versions Save

A highly configurable MQTT message router, where the routing targets are notification plugins, primarily written in Python.

0.35.0

6 months ago

What's Changed

  • Fix sending ntfy notifications with longer messages than 76 characters. Thanks, @codebude.
  • Modernize Pushbullet service plugin. Thanks, @DNicholai.
  • Documentation: Clarify data type of "target address descriptor"
  • [Pushover]: Switch to using base64.b64decode() to support decoding a string. Thanks, @sumnerboy12.
  • Add configuration variable expansion. Thanks, @jhakonen.
  • [ntfy] Fix submitting newline characters in notification message text. Thanks, @zoic21 and @codebude.
  • Core: Fix decoding non-JSON messages, which negatively impacted outbound templating. Thanks, @Sc0th.
  • Add support for Python 3.12
    • Use importlib instead of imp
    • Use importlib.resources instead of pkg_resources
    • [http,pushsafer] Remove dependency on future package

Full Changelog: https://github.com/mqtt-tools/mqttwarn/compare/0.34.1...0.35.0

0.34.1

11 months ago

What's Changed

  • Add example "Simple MQTT media player". Thanks, @nagyrobi.
  • Add example "Forwarding data from IoT devices to Zabbix"
  • Remove support for Secure Sockets Layer Version 3.0 (SSLv3). As per RFC 7568, SSLv3 has been deprecated in 2015 already.
  • Tests: Add more test cases to increase mqttwarn core coverage to ~100%
  • Improve example "Forward OwnTracks low-battery warnings to ntfy"
  • Migrate documentation to https://mqttwarn.readthedocs.io/

Full Changelog: https://github.com/mqtt-tools/mqttwarn/compare/0.34.0...0.34.1

0.34.0

1 year ago

What's Changed

  • [core] Fix: Don't crash when receiving non-UTF8 payloads. Thanks, @sevmonster.
  • [core] Improve exception logging in is_filtered, get_topic_data, and get_all_data context functions. Thanks, @sevmonster.
  • [core] Allow processing of binary, non-UTF8 message payloads, for example images. Thanks, @sevmonster.
  • [file] Allow writing of binary content. Thanks, @sevmonster.
  • [ux] Rename subcommand mqttwarn make-samplefuncs to mqttwarn make-udf, and adjust naming.
  • [ntfy] Add dedicated service plugin ntfy
  • [ntfy] Use RFC 2047 for encoding HTTP header values. Thanks, @binwiederhier.
  • [ntfy] Add more fields: icon, cache, firebase, unifiedpush
  • [ntfy] Also interpolate outbound ntfy option fields
  • [ntfy] [Frigate] Improve example/tutorial about Frigate event notifications
  • [ntfy] [Frigate] Synchronize JSON event and snapshot image receive order
  • [ntfy] [Frigate] Tests: Verify notification was properly received by ntfy
  • [cli] Fix --config-file command line option

Full Changelog: https://github.com/jpmens/mqttwarn/compare/0.33.0...0.34.0

0.33.0

1 year ago

What's Changed

Thanks to @appzer, the Pushsafer service received significant improvements.

  • Pushsafer: Fix to prevent submitting empty parameters to upstream API.
  • Pushsafer: Modernize configuration layout for target addresses, see GH-629.
  • Pushsafer: Add parameters for "Confirm", "Answer Options", and "Force Answer", see GH-630.
  • Pushsafer: Update handbook with more information about Pushsafer

Full Changelog: https://github.com/jpmens/mqttwarn/compare/0.32.0...0.33.0

0.32.0

1 year ago

What's Changed

  • Modernize Docker configuration, now using Debian bullseye and Python 3.11.
  • Improve nightly and on-PR Docker builds.
  • Add versioning based on Git tags, using versioningit. This will aid in telling PR- and nightly releases apart from GA releases when running mqttwarn --version.
  • Improve Apprise integration by propagating the mqttwarn data dictionary into the Apprise plugin template arguments. Thanks, @zoic21.

Full Changelog: https://github.com/jpmens/mqttwarn/compare/0.31.0...0.32.0

0.31.0

1 year ago

What's Changed

  • Make the PushOver API retry and expire options configurable. Thanks, @jlrgraham.
  • Add new configuration setting filteredmessagesloglevel, to optionally set the log level for filtered messages. Thanks, @jlrgraham.
  • CI and tests: Improvements and maintenance
  • Documentation: Improve section about Apprise
  • Documentation: Notifications to ntfy via Apprise. Thanks, @binwiederhier, @particledecay, and @caronc.

Full Changelog: https://github.com/jpmens/mqttwarn/compare/0.30.0...0.31.0

0.30.0

1 year ago

What's Changed

  • Make LWT alive/dead payload configurable. Thanks, @sumnerboy12.
  • Upgrade to future>=0.18.0,<1. Thanks, @arieroos.
  • Several adjustments to log messages
  • Several improvements to the test harness, code coverage, project tooling, code linting and formatting, and CI
  • Refactoring of some data model components
  • Fix job sorting by priority after migration to Python 3
  • Remove some Python 2 compatibility snippets. mqttwarn is Python 3 only.

Breaking changes

  • Rework and rename service plugin osxnotify to desktopnotify, it should work on all popular operating systems now. Thanks, @portalzine.

New Contributors

Full Changelog: https://github.com/jpmens/mqttwarn/compare/0.29.1...0.30.0

0.29.1

1 year ago

What's Changed

  • Improve documentation about logging on Docker. Thanks, @psyciknz.
  • Improve documentation about Discord, via Apprise. Thanks, @psyciknz.
  • Improve launching with an additional set of --config arguments.

Full Changelog: https://github.com/jpmens/mqttwarn/compare/0.29.0...0.29.1

0.29.0

1 year ago

In a nutshell

This is merely a maintenance release, with some improvements to both the Pushover and the SMTP service plugins, as well as some documentation improvements addressing people on Windows 10 using PowerShell.

Official changelog

  • Improve error handling: Remove the exception_traceback() helper function again, and use logger.exception() instead.
  • Improve error messages: Remove all ellipsis
  • SMTP service plugin: Add software tests
  • SMTP service plugin: Fix evaluation of htmlmsg parameter
  • SMTP service plugin: Add support for minimal configuration w/o TLS and AUTH. Thanks, @symonjim.
  • Update dependencies: Use Jinja2 3.x; Remove configparser, it is built into Python 3
  • Add support for Python 3.11
  • Pushover service plugin: Enable passing of parameters html, url, url_title. Thanks, @jlrgraham.
  • Add test for exercising configuration file scaffolding
  • Improve README regarding configuration file scaffolding on Windows 10/PowerShell. Thanks, @symonjim.
  • Improve support for VSCode. Thanks, @psyciknz.
  • Improve mqttwarn command line entry point testing

What's Changed

New Contributors

Full Changelog: https://github.com/jpmens/mqttwarn/compare/0.28.1...0.29.0

0.28.1

2 years ago
  • Fix documentation about Docker images. Thanks, @psyciknz!
  • Fix enumerating addrs in pushsafer service. Thanks, @ykuzmenko!