0.18.16
New versioning policy
Starting with this release, dstack adopts a new versioning policy to provide better server and client backward compatibility and improve the upgrading experience. dstack continues to follow semver versioning scheme ({major}.{minor}.{patch}) with the following principles:
- The server backward compatibility is maintained across all minor and patch releases. The specific features can be removed but the removal is preceded with deprecation warnings for several minor releases. This means you can use older client versions with newer server versions.
- The client backward compatibility is maintained across patch releases. A new minor release indicates that the release breaks client backward compatibility. This means you don't need to update the server when you update the client to a new patch release. Still, upgrading a client to a new minor version requires upgrading the server too.
Perviously, dstack never guaranteed client backward compatibility, so you had to always update the server when updating the client. The new versioning policy makes the client and server upgrading more flexible.
Note: The new policy only takes affect after both the clients and the server are upgraded to 0.18.16. The 0.18.15 server still won't work with newer clients.
dstack attach
The CLI gets a new dstack attach command that allows attaching to a run. It establishes the SSH tunnel, forwards ports, and streams run logs in real time:
✗ dstack attach silent-panther-1
Attached to run silent-panther-1 (replica=0 job=0)
Forwarded ports (local -> remote):
- localhost:7860 -> 7860
To connect to the run via SSH, use `ssh silent-panther-1`.
Press Ctrl+C to detach...This command is a replacement for dstack logs --attach with major improvements and bugfixes.
CloudWatch-related bugfixes
The releases includes several important bugfixes for CloudWatchLogStorage. We strongly recommend upgrading the dstack server if it's configured to store logs in CloudWatch.
Deprecations
dstack logs --attachis deprecated in favor ofdstack attachand may be removed in the following minor releases.
What's Changed
- Check client-server compatibility according to new versioning policy by @r4victor in #1730
- [runner] fix MonotonicTimestamp by @un-def in #1728
- Gateway-in-server early prototype by @jvstme in #1718
- Implement dstack attach command by @r4victor in #1733
- Respect CloudWatch timestamp constraints by @un-def in #1732
- Add AMD examples with vLLM, Axolotl and Trl by @Bihan in #1693
- dstack-proxy naming tweaks by @jvstme in #1734
- Fix Failed to attach via Python API by @r4victor in #1739
- Support calling RunCollection.get_plan() without repo by @r4victor in #1741
Full Changelog: 0.18.15...0.18.16