v2026.09.21
facebookresearch/sam-audiov2026.09.21Sep 20, 2026by knu
Upgrading?
AI Summary
Improves background job recovery with watchdogs and adds optional proxy routing for individual Agents, alongside runtime upgrades.
Key Highlights
- Add watchdog for master-managed workers
- Limit execution lock acquisition to 30 seconds
- Add optional proxy routing for individual Agents
- Upgrade Ruby to 4.0.7 and Docker base to Ubuntu Noble
New Features
- Background job watchdogs
- Proxy routing for Agents
- Ruby 4.0.7 upgrade
- Configurable timeouts
Full Release Notes
# v2026.09.21 This release improves recovery from stalled background jobs, adds opt-in proxy routing for individual Agents, and updates the Ruby and Docker runtimes. ## Background jobs - Add an optional `delayed_job_master` process that forks single-threaded workers on demand. Set `DELAYED_JOB_WORKERS` to control concurrency and `DELAYED_JOB_MAX_MEMORY` to recycle workers after jobs that exceed the memory limit. The existing threaded runner remains the default; see the separate-process example in [Procfile](https://github.com/huginn/huginn/blob/v2026.09.21/Procfile). - Add a watchdog for master-managed workers. It monitors the full reservation, execution and cleanup cycle independently of the database. When `DELAYED_JOB_MAX_RUNTIME` is exceeded, it requests cancellation and allows `DELAYED_JOB_SHUTDOWN_GRACE` seconds (default: 10) for cleanup before forcibly terminating the worker. Abandoned jobs are recovered through the normal failure and retry policy. This watchdog applies to master-managed workers, not the threaded runner or directly executed scheduler work. [#3755](https://github.com/huginn/huginn/pull/3755) - Limit Agent execution-lock acquisition to 30 seconds by default, configurable with `AGENT_EXECUTION_LOCK_TIMEOUT`. Background jobs that cannot acquire the lock fail and can be retried. [#3745](https://github.com/huginn/huginn/pull/3745) - Apply configurable outbound connection and I/O timeouts through `OUTBOUND_NETWORK_OPEN_TIMEOUT` and `OUTBOUND_NETWORK_TIMEOUT`, capped below the background job runtime limit. [#3745](https://github.com/huginn/huginn/pull/3745) - Fix "Run now" for failed jobs by clearing exhausted attempts and stale reservation state before requeuing. [#3755](https://github.com/huginn/huginn/pull/3755) ## Proxy routing Trusted-user instances can set `AGENT_PROXY` and enable `use_agent_proxy` on selected Agents, including JavaScriptAgent's `Agent.fetch` and `Agent.fetchAll`. The Docker images support `START_SMOKESCREEN=true` to start the bundled filtering proxy without forcing all requests through it. Existing `ENABLE_SMOKESCREEN` and `OUTBOUND_PROXY` enforcement takes precedence and is unchanged. See [outbound request configuration](https://github.com/huginn/huginn/blob/v2026.09.21/doc/manual/outbound-requests.md). ## Runtime and Docker fixes - Upgrade Ruby to 4.0.7 and the Docker base to Ubuntu Noble, fixing a `mini_racer` load error during asset precompilation. [#3753](https://github.com/huginn/huginn/pull/3753) - Make single-process Docker workers wait for pending migrations before starting. [#3746](https://github.com/huginn/huginn/issues/3746) - Fix FtpsiteAgent initialization on Ruby 4 when FTP timeout options were mistaken for the host. - Refresh dependencies and keep `json` below 3.0 pending dependency compatibility. Docker images are available for amd64 and arm64 on GHCR and Docker Hub, tagged `v2026.09.21`. **Full Changelog**: https://github.com/huginn/huginn/compare/v2026.09.09...v2026.09.21
Related Repositories
public-apis/public-apis★ 491,231
A collective list of free APIs
NousResearch/hermes-agent★ 256,109
The agent that grows with you
yt-dlp/yt-dlp★ 200,274
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,568
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,700
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.