Skip to content

v0.7.0

Latest

Choose a tag to compare

@stryan stryan released this 16 Jun 02:29
282f4b0

Changelog

Best effort list of major changes and bugfixes

Deprecations

  • source.URL source kind autoguessing has been removed
  • The autoUpdate snippet has been removed

0.7.0

  • feat: Components with instanced systemd units (i.e. unit@.service) can now be instanced at the component level
  • refactor: removed autoUpdate snippet, added onBoot and harden snippets.
  • feat: Added m_quadletDir, m_outputDir, m_scriptsDir, m_serviceDir macros
  • feat: simplified volume compression. containers.compression_command and containers.compression_suffix have been simplified into one containers.compression setting that can be blank, gzip, or zstd
  • refactor/note: volume dump file are now in the format volumename-volume.tar(.gz/zst).
  • feat: PreCommand and PostCommand component manifest settings for running scripts before or after an update. Experimental.
  • feat: Remote components can specify a subpath to use.
  • tests: new testcontainers based setup to replace virter tests
  • feat: clean command now attempts to gracefully remove components. Skippable with --force.
  • feat: server mode can now listen on a webhook for sync/update requests.
    • server.webhook is now server.notify_webhook, though see also the new notify config block
    • server.update_webhook = true|false
    • server.update_secret = "shared secret"
    • server.update_url = URL to listen on. Default :6284/webhook
  • feat: lock setting causes materia to create a dbus or file lock, preventing multiple instances from running destructive actions.
  • feat: materia server now exposes a varlink api over its socket
  • feat: materia agent now uses new varlink api
  • refactor: materia now uses native podman bindings instead of wrapping the podman command. If you experience issues with this, use the MATERIA_PODMAN_COMMAND flag to restore the old behaviour.
  • feat: quadlet drop-ins are now left-unchanged by materia update.
  • feat: new service resource config setting: Oneshot.
  • feat: experimental rollback on failure support. Enable with rollback.kind = "service"
    • service state health checks have been rewritten
    • Currently supports git source, OCI coming post 0.7.0
    • If a materia update leads to a failed service or a service is in the wrong state at the end of the update, checkout the last known git commit and run the update again
  • feat: notify config block for configuring all webhook notifications in one place
    • Set notify.triggers.update to replace server.notify_webhook
    • Get notifications when rollback occurs with notify.triggers.rollback
    • server.webhook is now deprecated and will be removed in a future release, server mode uses same notification code as everywhere else.
  • refactor: removed source.URL guessing. source.URL is now passed directly to the sources config.

Full Changelog: v0.6.4...v0.7.0