2021-02-28 23:54:22 +01:00
# Changelog
All notable changes to this project will be documented in this file.
2022-08-31 00:49:08 +02:00
Given the high speed of development in the first phase, changes are being
reported only starting from v0.20.2.
## [Unreleased]
### Added
- Added support for web hooks returning their hook method responses back to the
HTTP client.
2021-02-28 23:54:22 +01:00
2022-08-28 15:27:45 +02:00
## [0.23.4] - 2022-08-28
### Added
- Added `matrix` integration
([issue](https://git.platypush.tech/platypush/platypush/issues/2),
[PR ](https://git.platypush.tech/platypush/platypush/pulls/217 )).
### Changed
2022-06-04 12:32:02 +02:00
- Removed `clipboard` backend. Enabling the `clipboard` plugin will also enable
clipboard monitoring, with no need for an additional backend.
2022-06-01 23:08:10 +02:00
## [0.23.3] - 2022-06-01
### Added
- Added `ntfy` integration (see #219 ).
- Support for a default `config.yaml` if one isn't specified in the default
locations.
### Changed
- The HTTP server dependencies are now marked as required, since the default
`config.yaml` will have the HTTP backend enabled by default in order to allow
the creation of a first user.
- Updated Vue.js frontend dependencies to the latest version.
- Removed bulma from the frontend dependencies, making the frontend much
lighter and loading times much faster.
- Other UI improvements.
### Fixed
- More reliable cronjobs in case of DST change or any clock changes in general
(see #217 ).
- Fixed `--redis-queue` argument.
2022-03-27 16:28:26 +02:00
## [0.23.2] - 2022-03-27
2022-03-12 02:04:07 +01:00
### Added
2022-03-27 16:28:26 +02:00
- Support for asynchronous events over GPIO PINs. It is now possible to specify
a list of `monitored_pins` in the [`gpio`
plugin](https://git.platypush.tech/platypush/platypush/-/blob/master/platypush/plugins/gpio/__init__.py)
configuration. A change in the value on those GPIO PINs (caused by e.g. a
button, a binary sensor or a probe) will trigger a
`platypush.message.event.gpio.GPIOEvent` that you can use in your automation
scripts.
- Simplified script API to interact with platform variables
(closes [#206 ](https://git.platypush.tech/platypush/platypush/-/issues/206 )).
You can now read and write stored variables in your Platypush scripts through
a much more intuitive interface compared to explicitly using the `variable`
plugin explicitly:
```python
from platypush.context import Variable
# ...
my_var = Variable.get('my_var')
my_var = int(my_var) + 1
Variable.set(my_var=my_var)
```
2022-03-12 02:04:07 +01:00
2022-03-01 01:32:50 +01:00
## [0.23.0] - 2022-03-01
### Added
- Added [Jellyfin integration ](https://git.platypush.tech/platypush/platypush/-/issues/208 ).
### Fixed
- Merged several PRs from `dependabot` .
- Fixed management of the `CN` field in the `calendar.ical` plugin.
2022-02-07 15:58:57 +01:00
## [0.22.10] - 2022-02-07
### Added
- Refactored the `dbus` integration. The plugin and backend have been merged into a
single plugin component, and the ability to subscribe to custom signals has been
added.
### Fixed
- Proper support for empty payloads on the integrations that trigger a `SensorDataChangeEvent` .
- Fixed possible infinite recursion on the Pushbullet integration in case of errors where the
error and close handlers keep calling each other in a loop.
2022-01-06 14:07:03 +01:00
## [0.22.9] - 2022-01-06
### Added
- Added `rss` integration (replaces the cumbersome and deprecated `backend.http.poll` ).
### Fixed
- Fixed timezone handling in calendar integrations.
- Fixed handling of ignored directories in the `file.monitor` backend.
2021-12-13 21:21:12 +01:00
## [0.22.8] - 2021-12-13
2021-12-13 20:46:21 +01:00
### Added
- Added support for audio tracks in Plex integration.
### Changed
- Web server uWSGI wrapper changed from `uwsgi` to `gunicorn` .
### Fixed
- Fixed client ID assignment logic in MQTT backends to prevent client ID clashes and reconnections
(closes #205 ).
- Updated LTR559 integration to be compatible with the new API.
- Updated Chromecast integration to be compatible with `pychromecast >= 10` .
- Better handling of media errors.
2021-11-27 10:56:05 +01:00
## [0.22.6] - 2021-11-27
### Added
- Added support for converting webpages to markdown in `http.webpage.simplify`
even if no `outfile` is specified.
### Fixed
- Improved robustness of the ICal calendar parser in case some fields (e.g. `*status` )
are not defined.
2021-11-15 00:12:06 +01:00
## [0.22.5] - 2021-11-15
2021-10-26 00:48:05 +02:00
2021-11-07 01:00:29 +01:00
### Added
2021-11-14 19:43:19 +01:00
- Added `mastodon` plugin.
- Added `chat.irc` plugin.
2021-11-14 22:40:59 +01:00
- Added `mailgun` plugin.
2021-11-07 01:00:29 +01:00
2021-10-26 00:48:05 +02:00
### Fixed
2021-11-14 19:43:19 +01:00
- Fixed `switchbot.status` method in case of virtual devices.
2021-11-14 22:40:59 +01:00
- Fixed `platypush[alexa]` optional package installation.
2021-10-26 00:48:05 +02:00
2021-10-19 22:23:23 +02:00
## [0.22.4] - 2021-10-19
2021-10-02 23:53:21 +02:00
2021-10-03 22:27:44 +02:00
### Added
2021-10-02 23:53:21 +02:00
- Support for IR virtual devices in Switchbot plugin.
2021-10-16 22:35:37 +02:00
- Added [`google.maps.get_travel_time` ](https://docs.platypush.tech/platypush/plugins/google.maps.html#platypush.plugins.google.maps.GoogleMapsPlugin.get_travel_time )
method (closes #115 ).
2021-10-17 02:55:26 +02:00
- Support for custom YouTube video/audio formats on media plugins.
2021-10-02 23:53:21 +02:00
2021-10-17 16:54:57 +02:00
### Fixed
- Responses for requests received over an MQTT backend are now delivered to the right topic
(`< device_base_topic > /responses/< msg_id > `).
- Various fixes on media plugins.
2021-10-01 23:50:53 +02:00
## [0.22.3] - 2021-10-01
2021-10-03 22:27:44 +02:00
### Added
2021-10-01 23:50:53 +02:00
- `gotify` integration (see #198 ).
2021-09-25 12:53:30 +02:00
## [0.22.2] - 2021-09-25
2021-09-25 01:34:45 +02:00
2021-10-03 22:27:44 +02:00
### Added
2021-09-25 01:34:45 +02:00
- `ngrok` integration (see #196 ).
2021-09-22 00:27:30 +02:00
## [0.22.1] - 2021-09-22
### Fixed
- `zigbee.mqtt` backend now no longer requires the MQTT backend/plugin to be enabled.
- Fixed bug on empty popcorn API responses.
2021-10-03 22:27:44 +02:00
### Changed
2021-09-22 00:27:30 +02:00
- Created CI Gitlab pipeline to replace the Platypush event-based pre-existing pipeline.
2021-10-03 22:27:44 +02:00
### Removed
2021-09-22 00:27:30 +02:00
- Removed docs references to removed/abstract integrations.
2021-09-16 23:28:00 +02:00
## [0.22.0] - 2021-09-16
### Changed
- Platypush now uses manifest files to describe plugins and backends. Each extension is now
expected to provide a `manifest.yaml` file in its folder, reporting its package name, pip
dependencies, required system packages and optional extra installation commands.
- Refactored `platyvenv` , `platydock` , documentation generation and plugin management engine.
They are now both faster and more robust, since they can rely on the manifest definition to
operate instead of pydoc strings conventions or `config.yaml` conventions.
- `platyvenv start` now starts the environment process synchronously and it prints
2022-03-12 02:04:07 +01:00
stdout/stderr instead of redirecting it to the logs dir (previous behaviour:
2021-09-16 23:28:00 +02:00
`platyvenv start` used to start the process asynchronously and the logs were stored
to `~/.local/share/platypush/venv/<env>/logs/<stdout|stderr>.log` ).
### Removed
- Removed `Homeseer` integration - it was based on a Python integration that has now been
pulled out of PyPI and GitHub. A new integration may come in the future if there is enough
demand for it.
2021-08-24 23:01:12 +02:00
## [0.21.4] - 2021-08-24
### Fixed
- Fixed JWT token generation, since python-jwt >= 2.0 always returns strings (not bytes) upon `jwt.encode` .
2021-07-28 01:09:09 +02:00
## [0.21.3] - 2021-07-28
2021-07-22 01:02:15 +02:00
### Added
- Added `sun` plugin for sunrise/sunset events.
2021-07-28 01:09:09 +02:00
- Added `slack` integration.
2021-07-20 01:35:49 +02:00
## [0.21.2] - 2021-07-20
### Added
2021-06-25 22:47:40 +02:00
2021-07-17 22:14:15 +02:00
- Added `music.spotify` backend to emulate a Spotify Connect receiver through Platypush.
- Added `music.spotify` plugin.
2021-06-25 22:47:40 +02:00
2021-07-20 01:35:49 +02:00
- Added `music.spotify` UI integration.
2021-06-22 23:40:42 +02:00
## [0.21.1] - 2021-06-22
2021-05-10 18:43:00 +02:00
### Added
- Added `switchbot` plugin to interact with Switchbot devices over the cloud API instead of
directly accessing the device's Bluetooth interface.
2022-03-12 02:04:07 +01:00
2021-05-10 18:43:00 +02:00
- Added `marshmallow` dependency - it will be used from now own to dump and document schemas
and responses instead of the currently mixed approach with `Response` objects and plain
dictionaries and lists.
2022-03-12 02:04:07 +01:00
2021-05-13 21:37:45 +02:00
- Support for custom MQTT timeout on all the `zwavejs2mqtt` calls.
2021-05-10 18:43:00 +02:00
2021-05-15 23:27:38 +02:00
- Added generic joystick backend `backend.joystick.jstest` which uses `jstest` from the
standard `joystick` system package to read the state of joysticks not compatible with
`python-inputs` .
2022-03-12 02:04:07 +01:00
2021-05-16 17:28:18 +02:00
- Added PWM PCA9685 plugin.
2021-05-15 23:27:38 +02:00
2021-05-17 14:51:53 +02:00
- Added Linux native joystick plugin, ``backend.joystick.linux``, for the cases where
``python-inputs`` doesn't work and ``jstest`` is too slow.
2021-05-10 18:43:00 +02:00
### Changed
- `switch.switchbot` plugin renamed to `switchbot.bluetooth` plugin, while the new plugin
that uses the Switchbot API is simply named `switchbot` .
2021-06-22 23:40:42 +02:00
### Fixed
- More robust reconnection logic on the Pushbullet backend in case of websocket errors.
2021-05-06 23:20:49 +02:00
## [0.21.0] - 2021-05-06
2021-05-06 23:18:47 +02:00
### Added
- Support for custom PopcornTime API mirror/base URL.
- Full support for TV series search.
### Fixed
- Fixed torrent search (now using a different PopcornTime API mirror).
- Migrated SASS engine from `node-sass` (currently deprecated and broken on Node 16) to `sass` .
- Fixed alignment of Z-Wave UI header on Chrome/Webkit.
2021-04-28 23:05:22 +02:00
## [0.20.10] - 2021-04-28
### Fixed
- Fixed zwave/zwavejs2mqtt interoperability.
## [0.20.9] - 2021-04-12
2021-04-05 00:58:44 +02:00
2021-04-12 02:45:59 +02:00
### Added
- Added zwavejs2mqtt integration (see [#186 ](https://git.platypush.tech/platypush/platypush/-/issues/186 ).
2021-04-05 00:58:44 +02:00
### Fixed
- Major LINT fixes.
2021-04-06 21:10:48 +02:00
### Removed
2021-04-05 00:58:44 +02:00
- Removed unmaintained integrations: TorrentCast and Booking.com
2021-04-04 00:14:10 +02:00
## [0.20.8] - 2021-04-04
2021-03-27 12:26:55 +01:00
### Added
2021-03-29 21:13:36 +02:00
- Added `<Camera>` dashboard widget.
2022-07-06 22:01:25 +02:00
- Added support for custom dashboard widgets with customized (see https://git.platypush.tech/platypush/platypush/wiki/Backends#creating-custom-widgets).
2021-03-27 12:26:55 +01:00
2021-04-04 00:14:10 +02:00
- Added support for controls on `music.mpd` dashboard widget.
2021-04-01 22:46:45 +02:00
### Fixed
- Fixed zigbee2mqtt backend error in case of messages with empty payload (see [#184 ](https://git.platypush.tech/platypush/platypush/-/issues/184 )).
2021-04-02 19:30:57 +02:00
- Fixed compatibility with all versions of websocket-client - versions >= 0.58.0 pass a `WebSocketApp` object as a first
argument to the callbacks, as well as versions < 0.54.0 do , but the versions in between don ' t pass this argument .
2021-03-26 23:08:57 +01:00
## [0.20.7] - 2021-03-26
2021-03-18 01:35:03 +01:00
### Fixed
- Fixed race condition on `media.vlc.stop` when clearing the VLC instance.
- Fixed dashboard widgets custom classes being propagated both to the container and to the widget content [see #179 ]
2021-03-26 23:08:57 +01:00
- Fixed compatibility with SQLAlchemy >= 1.4.
2021-03-16 21:22:36 +01:00
## [0.20.6] - 2021-03-16
2021-03-12 20:58:35 +01:00
2021-03-14 00:07:17 +01:00
### Added
2021-03-16 00:17:20 +01:00
- Added `log.http` backend to monitor changes to HTTP log files
(see [#167 ](https://git.platypush.tech/platypush/platypush/-/issues/167 )).
2021-03-14 00:07:17 +01:00
- Added `file.monitor` backend, which replaces the `inotify` backend
(see [#172 ](https://git.platypush.tech/platypush/platypush/-/issues/172 )).
2021-03-12 20:58:35 +01:00
### Removed
- Removed legacy `pusher` script and `local` backend.
2021-03-16 21:22:36 +01:00
### Fixed
- Fixed support for Z-Wave switches.
- Fixed possible race condition on VLC stop.
2021-03-12 01:39:33 +01:00
## [0.20.5] - 2021-03-12
2021-03-09 00:18:33 +01:00
2021-03-09 12:54:43 +01:00
### Added
2021-03-12 01:17:29 +01:00
- Added support for a static list of devices to actively scan to the `bluetooth.scanner` backend
(see [#174 ](https://git.platypush.tech/platypush/platypush/-/issues/174 )).
2022-03-12 02:04:07 +01:00
2021-03-12 01:17:29 +01:00
- Added `weather.openweathermap` plugin and backend, which replaces `weather.darksky` , since the
Darksky API will be completely shut down by the end of 2021.
2021-03-09 12:54:43 +01:00
2021-03-09 00:18:33 +01:00
### Fixed
- Cron expressions should adhere to the UNIX cronjob standard and use the machine local time,
not UTC, as a reference (closes [#173 ](https://git.platypush.tech/platypush/platypush/-/issues/173 )).
2022-03-12 02:04:07 +01:00
2021-03-12 01:17:29 +01:00
- Better management of Z-Wave values types from the UI.
- Disable logging for `ZwaveValueEvent` events - they tend to be very verbose and
can impact the performance on slower devices. They will still be published to the
websocket clients though, so you can still debug Z-Wave values issues from the browser
developer console (enable debug traces).
2022-03-12 02:04:07 +01:00
2021-03-12 01:17:29 +01:00
- Added suffix to the `zigbee.mqtt` backend default `client_id` to prevent clashes with
the default `mqtt` backend `client_id` .
2021-03-09 00:18:33 +01:00
2021-03-08 01:25:23 +01:00
## [0.20.4] - 2021-03-08
### Added
- Added SmartThings integration.
- Support for custom Redis message queue name over the `--redis-queue` argument.
### Fixed
- Refactored tests to use `pytest` instead of `unittest` .
- Some major bug fixes on procedures and hooks context evaluation.
2021-02-28 23:54:22 +01:00
## [0.20.3] - 2021-02-28
### Fixed
- Several bug fixes on the VLC plugin, including proper management of stop/end-of-stream, volume set and missing integration requirements in `requirements.txt` and `setup.py` .
## [0.20.2] - 2021-02-27
### Fixed
- More stable ZeroConf backends registration logic in case of partial or missing results.
- Improved and refactored integration tests.
### Added
- Support for passing context variables (${}) from YAML procedures/hooks/crons to Python procedure/hooks/crons.
- New integration test for testing procedures.