Repository navigation
Comparing changes
Open a pull request
base repository: dstackai/dstack
base: 0.22.5
head repository: dstackai/dstack
compare: master
- 9 commits
- 89 files changed
- 3 contributors
Commits on Oct 22, 2026
-
Add orphan cleanup for cloud resources (#4401)
* Prototype OrphanCleanupPipeline * Clean up * Fix orphan classification order * Batch owner record lookups in orphan cleanup * Log orphan resources of stuck pending instances * Emit events for orphaned resources * Add migrations for orphan cleanup * Recommend separate migrations for concurrent indexes * Clarify resource listing contract * Register OrphanCleanupPipeline * Pass provider_ref to backends * Match orphaned resources of failed job provisioning by job * Add provider_ref naming helpers * Implement orphan resource listing for AWS * Move AWS Elastic IP helpers to resources.py * Enroll backends in orphan cleanup * Mention orphan cleanup when instance termination gives up * Document orphan cleanup settings * Reword resource listing contract * List AWS instances without Elastic IP permissions * Detect orphan cleanup support of registered backends * Report partial resource listings in orphan cleanup * Ignore unsupported owner types in orphan cleanup * Test OrphanCleanupPipeline fetching and processing * Document orphan cleanup support for backends * Fix AWS resource listing edge cases * Simplify orphan cleanup result handling and logging * Tidy orphan cleanup docstrings and tests * Check orphan cleanup activity in worker instead of fetcher * Skip orphan groups of owners changed around listing and drop backoff for skips * Report orphan owner resources whose deletion is requested * Load orphan owner jobs before instances * Keep superseded job submissions until orphan cleanup * Bound how long superseded submissions wait for orphan cleanup * Clarify orphan cleanup filter docstring * Fix compute group provider_ref TODO * Replace em dash in release_eip docstring * Derive superseded submission max wait from orphan cleanup interval * Document orphan cleanup in contributing * Record issued provider refs in a ledger Placeholder instances carry the provider_ref of run_job() instead of jobs, and ProviderRefModel keeps refs after owners are deleted, so superseded job submissions no longer need to wait for orphan cleanup. * Wrap AWS errors when deleting orphaned resources
Configuration menu - View commit details
-
Copy full SHA for 6361caf - Browse repository at this point
Copy the full SHA 6361cafView commit details
Commits on Oct 23, 2026
-
Support orphaned resources cleanup for RunPod (#4404)
* Support orphaned resources cleanup for RunPod * Fix RunPod orphan cleanup enrollment and pods pagination * Delete RunPod orphan pods without a region * Use parse_datetime for API, logs and CLI datetimes * Make orphan cleanup enrollment interval configurable * Document that orphan reports are not deduplicated
Configuration menu - View commit details
-
Copy full SHA for e99ed86 - Browse repository at this point
Copy the full SHA e99ed86View commit details -
Rework Dynamo docs around a dedicated etcd group (#4402)
Update the Dynamo example and the Dynamo tabs in concepts/services.md to run etcd as its own replica group that the frontend and workers reach via ${{ groups[0].replicas[0].IP_ADDRESS }}. etcd and NATS no longer run inside the router job, so the docs no longer depend on DSTACK_ROUTER_INTERNAL_IP, which is going to be deprecated. The examples now use Dynamo 1.5.1 with vLLM workers. Dynamo's default ZMQ event plane removes the need for NATS, and the frontend uses vLLM's GLM parsers because Dynamo's glm47 parser drops GLM-4.5 tool call arguments. Prefill workers publish KV events for KV-aware routing. The Router section's Dynamo tab switches from Qwen3.8-Flash-Next to GLM-4.5-Air-FP8, which Dynamo 1.5.1 supports. Also fix the dynamo router description and a code comment that said workers are discovered via etcd/NATS. Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>Configuration menu - View commit details
-
Copy full SHA for 24f7d7a - Browse repository at this point
Copy the full SHA 24f7d7aView commit details -
[CLI] Write logs, errors and warnings to stderr (#4405)
stdout should carry only command output so that `--json` stays parseable. Logging, fatal errors from `main()`, `warn()`, the update notice, `get` "not found" errors, and preset mirroring warnings now go to stderr. `error_console` resolves `sys.stderr` on each write. A plain `Console(stderr=True)` unwraps the proxy that `rich.live.Live` installs, so its output would garble an active spinner or live table. While `Live` is active, `error_console` also reports no fileno. Otherwise, on consoles without VT support, rich writes and flushes each styled segment separately, and the proxy prints each one on a separate line. Fixes: #4403 Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0f6db9d - Browse repository at this point
Copy the full SHA 0f6db9dView commit details
Commits on Oct 26, 2026
-
Support orphaned resources cleanup for GCP (#4408)
* Support orphaned resources cleanup for GCP * Drop GCP create_instance label test
Configuration menu - View commit details
-
Copy full SHA for 9150a3a - Browse repository at this point
Copy the full SHA 9150a3aView commit details -
Use sys.exit() instead of exit() in CLI (#4409)
exit() is added by the site module and is meant for the interactive shell. It is not defined under `python -S` or in some embedded interpreters, and it closes sys.stdin before raising SystemExit. Replace all exit() calls and hand-written `raise SystemExit(1)` with sys.exit(), and enable Ruff's PLR1722 to keep exit() from coming back. Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 05fc4e0 - Browse repository at this point
Copy the full SHA 05fc4e0View commit details -
Support orphaned resources cleanup for Azure (#4410)
* Support orphaned resources cleanup for Azure * Show Azure VM size values in orphan descriptions * Clarify that Azure orphan resource groups are not Azure resource groups
Configuration menu - View commit details
-
Copy full SHA for 1c5179e - Browse repository at this point
Copy the full SHA 1c5179eView commit details -
Fix Ctrl+C handling in CLI (#4411)
confirm_ask turned Ctrl+C into sys.exit(1), so handlers that catch a second Ctrl+C at a prompt never ran: `dstack apply` didn't abort the run, and preset creation left the agent and its runs going. Handle KeyboardInterrupt once in main(): print "Interrupted" and re-raise with the traceback hidden. On an uncaught KeyboardInterrupt, Python shuts down normally and then kills itself with SIGINT, so a calling shell script stops too. Exiting with 130 doesn't do that: bash assumes the child handled SIGINT itself and continues. - Drop the interrupt handlers in confirm_ask, login, _repo_diff_verbose (library code), and the apply and preset catch-alls, which exited 0. - Re-raise after aborting a run on a second Ctrl+C. - Let Ctrl+C through questionary menus (unsafe_ask). - Respect -y when interrupting fleet provisioning on old servers. Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c7208bb - Browse repository at this point
Copy the full SHA c7208bbView commit details -
Support orphaned resources cleanup for Nebius (#4412)
* Support orphaned resources cleanup for Nebius * Drop redundant Nebius orphan cleanup tests
Configuration menu - View commit details
-
Copy full SHA for 15f890b - Browse repository at this point
Copy the full SHA 15f890bView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.22.5...master