huginn v2026.09.09

v2026.09.09
Added 2
  • Add support for routing outbound HTTP(S) requests through an egress proxy via OUTBOUND_PROXY setting or ENABLE_SMOKESCREEN=true to prevent Agents from reaching internal addresses
  • Scenario imports by URL now have a timeout and a size limit
Changed 8
  • Scenario imports by URL follow redirects and report fetch failures as validation errors instead of server errors
  • Agents without a proxy option now honor http_proxy on the net_http backend
  • Docker configurations no longer ship a fixed APP_SECRET_TOKEN and instead generate a random one on container start unless explicitly set
  • rake db:seed generates a random admin password and prints it once unless SEED_PASSWORD is set
  • DataOutputAgent and LiquidOutputAgent now get a random default secret
  • Devise paranoid mode is enabled so password reset, unlock and confirmation forms no longer reveal whether an account exists
  • Building Docker images from development checkouts no longer copies .env.local and other dotenv files into the image
  • Docker images on GHCR and Docker Hub are now tagged with the release version in addition to commit SHA and latest
Removed 1
  • TwitterStreamAgent is retired as the Twitter streaming API it depended on was shut down in 2023
Deprecated 1
  • Per-Agent proxy option is refused when an outbound proxy is enforced

From huginn

This release adds a way to keep Agents from reaching internal addresses on shared instances, and hardens several defaults.

Agents that fetch URLs and the Scenario import form request whatever URL a user configures, so on an instance where untrusted users can create Agents, any user could make the server connect to loopback, private-network or cloud metadata addresses. Huginn can now route every outbound HTTP(S) request through an egress proxy that refuses such destinations at connection time: set OUTBOUND_PROXY to a proxy of your own, or set ENABLE_SMOKESCREEN=true with the official Docker images, which bundle Smokescreen and configure it automatically. The per-Agent proxy option is refused while a proxy is enforced. Operators of instances with untrusted users should enable this; single-user instances need not. Agents speaking FTP, IMAP, MQTT or XMPP are not covered. See doc/manual/outbound-requests.md.

Other changes:

  • Scenario imports by URL have a timeout and a size limit, follow redirects, and report any fetch failure as a validation error instead of a server error.
  • Agents without a proxy option now honor http_proxy on the net_http backend, which they previously ignored.
  • The Docker configurations no longer ship a fixed APP_SECRET_TOKEN. A random one is generated on container start unless APP_SECRET_TOKEN is set; set it yourself to keep sessions valid across container restarts. Deployments still supplying the previously shipped value get a warning and a generated secret instead.
  • rake db:seed generates a random admin password and prints it once unless SEED_PASSWORD is set.
  • DataOutputAgent and LiquidOutputAgent get a random default secret.
  • Devise paranoid mode is enabled, so the password reset, unlock and confirmation forms no longer reveal whether an account exists.
  • TwitterStreamAgent is retired, as the Twitter streaming API it depended on was shut down in 2023. Existing Agents remain loadable but new ones cannot be created.
  • Building a Docker image from a development checkout no longer copies .env.local and other dotenv files into the image.
  • The Docker images on GHCR and Docker Hub are now also tagged with the release version, e.g. ghcr.io/huginn/huginn:v2026.09.09, in addition to the commit SHA and latest.

Full details:

Full Changelog: https://github.com/huginn/huginn/compare/v2026.09.08...v2026.09.09

View original

Upgraded? How did it go?

Discussion