v2026.09.21
abus-aikorea/voice-prov2026.09.21Sep 20, 2026by knu
Upgrading?
AI Summary
Enhanced background job recovery with watchdogs and delayed_job_master, added opt-in proxy routing for Agents, and updated Ruby and Docker runtimes.
Key Highlights
- Background job watchdog and delayed_job_master process
- Opt-in proxy routing for individual Agents
- Ruby upgraded to 4.0.7
- Docker base updated to Ubuntu Noble
New Features
- Background job recovery improvements
- Agent proxy routing
- Ruby 4.0.7 and Ubuntu Noble upgrade
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,193
A collective list of free APIs
NousResearch/hermes-agent★ 256,048
The agent that grows with you
yt-dlp/yt-dlp★ 200,217
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,539
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
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.