Skip to content

stable

Latest
Compare
Choose a tag to compare
@fphammerle fphammerle released this 04 Jan 04:53
· 3 commits to master since this release
v1.0.0
a15ebeb

Added

  • suspend when receiving message on topic systemctl/[hostname]/suspend (#97)
  • birth & last will message on topic systemctl/[hostname]/status ("online" / "offline", #38)
  • command-line option --monitor-system-unit [unit_name] enables reports on topic systemctl/[hostname]/unit/system/[unit_name]/active-state (#56)
  • automatic discovery in home assistant:
    • availability status
    • entity button.[hostname]_logind_lock_all_sessions
    • entity button.[hostname]_logind_poweroff
    • entity button.[hostname]_logind_suspend
    • entity sensor.[hostname]_unit_system_[unit_name]_active_state
      for each command-line parameter --monitor-system-unit [unit_name]
  • command-line option --log-level {debug,info,warning,error,critical}
  • suggest polkit rule when poweroff & locking fails due to org.freedesktop.DBus.Error.InteractiveAuthorizationRequired (#67)
  • declare compatibility with python3.11, python3.12 & python3.13

Changed

  • disable retain flag on topic systemctl/[hostname]/preparing-for-shutdown
  • migrated from dbus-python to pure-python jeepney (removes indirect dependency on libdbus, glib, PyGObject and pycairo, fixes #39)
  • migrate from paho-mqtt to its async wrapper aiomqtt
  • automatic discovery in home assistant:
    • replaced component-based (topic: <discovery_prefix>/binary_sensor/<node_id>/preparing-for-shutdown/config) with device-based discovery (<discovery_prefix>/device/<object_id>/config)
    • replaced command-line option --homeassistant-node-id with --homeassistant-discovery-object-id
    • renamed entity binary_sensor.[hostname]_preparing_for_shutdown to binary_sensor.[hostname]_logind_preparing_for_shutdown
    • disabled "retain" flag for discovery messages (to avoid reappearing ghost devices)
  • container image / dockerfile:
    • upgraded alpine base image from 3.13.1 to 3.21.0 including upgrade of python from 3.8 to 3.12
    • support build without git history by manually setting build argument SETUPTOOLS_SCM_PRETEND_VERSION
  • changed default log level from debug to info

Fixed

  • apparmor profile for architectures other than x86_64/amd64 (ImportError: Error loading [...]/_gi.cpython-38-aarch64-linux-gnu.so: Permission denied)
  • fatal org.freedesktop.DBus.Error.InteractiveAuthorizationRequired when attempting to lock sessions
  • container image / dockerfile:
    • split pipenv install into two stages to speed up image builds
    • chmod files copied from host to no longer require o=rX perms on host
    • added registry to base image specifier for podman build
    • added --force flag to rm invocation to avoid interactive questions while running podman build

Removed

  • compatibility with python3.5, python3.6, python3.7 & python3.8

Internal

  • pipeline:
    • build container image for armv6 & arm64 (in addition to amd64 & armv7)
    • push container images to ghcr.io
    • create tags & labels for container image via docker/metadata-action