v2026.09.21
OpenMOSS/MOSS-TTS-Nanov2026.09.21Sep 20, 2026by knu
Upgrading?
AI Summary
Improves background job recovery mechanisms, introduces opt-in proxy routing for individual Agents, and upgrades the Ruby and Docker runtimes.
Key Highlights
- Adds optional `delayed_job_master` process for on-demand single-threaded workers
- Introduces watchdog for master-managed workers with configurable shutdown grace periods
- Adds opt-in proxy routing for specific Agents via `AGENT_PROXY` and `use_agent_proxy`
- Upgrades Ruby to 4.0.7 and Docker base to Ubuntu Noble
New Features
- Background job watchdog and recovery
- Agent-level proxy routing
- Ruby 4.0.7 upgrade
- Docker runtime updates
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,148
A collective list of free APIs
NousResearch/hermes-agent★ 255,992
The agent that grows with you
yt-dlp/yt-dlp★ 200,099
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,501
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,704
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.