Releases: mlsys-io/FlowMesh
Release list
v0.1.5-rc.1
What's Changed
- chore: bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #84
- fix: reap the MPExecutor process group to free GPU on task failure by @kaiitunnz in #85
- feat: default-on disable_any_whitespace for vLLM structured outputs by @timzsu in #86
- chore: bump version to v0.1.5-rc.1 by @kaiitunnz in #87
Full Changelog: v0.1.4...v0.1.5-rc.1
v0.1.4
What's Changed
- fix: gate SSH dispatch to Docker-capable workers by @kaiitunnz in #74
- chore: bump trl to 1.6.0 and adapt the worker training stack by @kaiitunnz in #75
- feat: extend capability gate to all task types by @kaiitunnz in #76
- feat: report component versions across server, worker, SDK, and CLI by @kaiitunnz in #78
- fix: prevent vllm_omni from breaking Qwen3 vLLM inference by @timzsu in #79
- fix: recover stuck workers when an MPExecutor subprocess dies by @kaiitunnz in #82
- perf: import worker executors lazily via a registry by @kaiitunnz in #83
- chore: bump version to v0.1.4 by @kaiitunnz in #80
Known Issues
v0.1.4 has an issue where the MPExecutor does not clean up the descendant processes of its own child process, leaving them orphaned, on non-ExecutionError exceptions. This is a breaking problem when the executor's child process holds GPU memory indefinitely. The problem has been fixed in v0.1.5-rc.1.
Full Changelog: v0.1.3...v0.1.4
FlowMesh container images for v0.1.4
| Image | Platforms | Digest |
|---|---|---|
ghcr.io/mlsys-io/flowmesh_server:v0.1.4 |
linux/amd64,linux/arm64 |
sha256:2995538223516290253767f32a11462530d3f8ec8dfefbf251f1fd9c4eca6ca1 |
ghcr.io/mlsys-io/flowmesh_worker:v0.1.4-cpu |
linux/amd64,linux/arm64 |
sha256:d11c72dce1240469e02e69d730d7301b52af94617cc1e00871972f956551b88c |
ghcr.io/mlsys-io/flowmesh_worker_builder:v0.1.4-gpu |
linux/amd64,linux/arm64 |
sha256:18f2b9e2f248fb4e916bbd3c9f8335cc16283fb49e969110543c573b409c6233 |
ghcr.io/mlsys-io/flowmesh_worker:v0.1.4-gpu |
linux/amd64,linux/arm64 |
sha256:88c8658043049982e6a0faef277d38723eb0eff0bf4e713b5dc38365e5038b94 |
ghcr.io/mlsys-io/flowmesh_ssh:v0.1.4-cpu |
linux/amd64,linux/arm64 |
sha256:cd9943bd94e25744604b089a1d22ca7987d284c4ecdfd0b58b03e108ef1acf63 |
ghcr.io/mlsys-io/flowmesh_ssh:v0.1.4-gpu |
linux/amd64,linux/arm64 |
sha256:d402933922c080e97bb91ebe222e41594e7080408b7bbbad922bf824dbdabdf4 |
v0.1.3
What's Changed
- fix: include task execution errors in task logs by @kaiitunnz in #60
- fix: make task retry consider eligible worker count by @kaiitunnz in #61
- feat: scope worker names to stack slug and add --name-template by @kaiitunnz in #68
- chore: bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #65
- chore: bump astral-sh/setup-uv from 8.1.0 to 8.2.0 by @dependabot[bot] in #66
- [BREAKING] feat: route data retrieval through lumid-data-app via type:lumid (sql/s3/agent) by @timzsu in #67
- chore: bump version to v0.1.3-rc.1 by @kaiitunnz in #69
- feat: add ImageClassificationExecutor for vision fine-tuning by @J1shen in #62
- feat: persist and rehydrate scheduling state across root restarts by @kaiitunnz in #64
- chore: bump vLLM/vLLM-Omni to 0.22.0 and adapt the worker stack by @kaiitunnz in #70
- fix: preserve reverse-proxy base path in SSH proxy URL by @kaiitunnz in #71
- refactor: commit workflow-registry transitions atomically by @kaiitunnz in #72
- chore: bump version to v0.1.3 by @kaiitunnz in #73
New Contributors
Known issues
v0.1.3 has a bug caused by incompatible TRL and vLLM versions after bumping vLLM to v0.22.0, breaking the DPO executor. vLLM-Omni import also breaks normal vLLM inference for Qwen3 models. Both problems have been fixed in v0.1.4.
Full Changelog: v0.1.2...v0.1.3
FlowMesh container images for v0.1.3
| Image | Platforms | Digest |
|---|---|---|
ghcr.io/mlsys-io/flowmesh_server:v0.1.3 |
linux/amd64,linux/arm64 |
sha256:12b7997e0cb9b9e1ffdb2fd909b6e87224472335a2cdf32bf28000fc7db6d097 |
ghcr.io/mlsys-io/flowmesh_worker:v0.1.3-cpu |
linux/amd64,linux/arm64 |
sha256:fe77c7a702973f9efc445aedad366ae5ccf6f0e7aa503c733a6b0954cc2d6a6e |
ghcr.io/mlsys-io/flowmesh_worker_builder:v0.1.3-gpu |
linux/amd64,linux/arm64 |
sha256:3c355074023776900679f97fdb0f8766c8ace90ef37c05d8a1f9bca68527dc58 |
ghcr.io/mlsys-io/flowmesh_worker:v0.1.3-gpu |
linux/amd64,linux/arm64 |
sha256:85d91f0d10ee831a8fde3911a8eea2a4d388b686b83eaf2e70971d1479a9a35d |
ghcr.io/mlsys-io/flowmesh_ssh:v0.1.3-cpu |
linux/amd64,linux/arm64 |
sha256:912288262ea5ada9ed8ad70d6755cde0085536239b149286348f8a604267339d |
ghcr.io/mlsys-io/flowmesh_ssh:v0.1.3-gpu |
linux/amd64,linux/arm64 |
sha256:e5d82cdbb3e538458ce04094fc6212d9c800894f93e7b749e9854e780c6b7349 |
v0.1.3-rc.1
What's Changed
- fix: include task execution errors in task logs by @kaiitunnz in #60
- fix: make task retry consider eligible worker count by @kaiitunnz in #61
- feat: scope worker names to stack slug and add --name-template by @kaiitunnz in #68
- chore: bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #65
- chore: bump astral-sh/setup-uv from 8.1.0 to 8.2.0 by @dependabot[bot] in #66
- [BREAKING] feat: route data retrieval through lumid-data-app via type:lumid (sql/s3/agent) by @timzsu in #67
- chore: bump version to v0.1.3-rc.1 by @kaiitunnz in #69
Full Changelog: v0.1.2...v0.1.3-rc.1
v0.1.2
What's Changed
- fix: run release workflow on GitHub-hosted runners by @kaiitunnz in #47
- refactor: adopt mixin chain + emit per-phase spans by @timzsu in #49
- fix: resolve artifact refs in flattened multi-image items by @timzsu in #51
- feat: cap SSH session container resources by spec and worker config by @kaiitunnz in #50
- refactor: introduce typed executor result schema by @kaiitunnz in #52
- fix: spawn supervisor child to avoid OpenSSL fork deadlock by @kaiitunnz in #55
- chore: pin lumid-hooks<0.2.0 until reconcile() impls land by @tjluyao in #56
- feat: add ResourceRegistrar wiring, plugin-data mount, and upload auth by @kaiitunnz in #54
- chore: prepare v0.1.2 release by @kaiitunnz in #57
New Contributors
Full Changelog: v0.1.1...v0.1.2
FlowMesh container images for v0.1.2
| Image | Platforms | Digest |
|---|---|---|
ghcr.io/mlsys-io/flowmesh_server:v0.1.2 |
linux/amd64,linux/arm64 |
sha256:650abea506b5709641cb8c670571b9a9fb81a7ca4b8c3bb7af1d25eac55a7c2d |
ghcr.io/mlsys-io/flowmesh_worker:v0.1.2-cpu |
linux/amd64,linux/arm64 |
sha256:eaab7ab0def672a2080b1ea211c43ee1b0ea721a372e434b5e7ba201b8a502e8 |
ghcr.io/mlsys-io/flowmesh_worker_builder:v0.1.2-gpu |
linux/amd64,linux/arm64 |
sha256:db6e443af1b8dc922a40484ba1795da8bc00634862aef885c251ef900485169d |
ghcr.io/mlsys-io/flowmesh_worker:v0.1.2-gpu |
linux/amd64,linux/arm64 |
sha256:dbfa0ca9b887d0902565d709d5d15a61da0cb6c8da4593e4fe672f7cf9793923 |
ghcr.io/mlsys-io/flowmesh_ssh:v0.1.2-cpu |
linux/amd64,linux/arm64 |
sha256:82094c855a9c8510f6f1ce18e3aeaf2c2e5e928c061ca3a974dfa3dce2dc2fda |
ghcr.io/mlsys-io/flowmesh_ssh:v0.1.2-gpu |
linux/amd64,linux/arm64 |
sha256:ba3ac7990c0217dcd97b2263a2fcca5a9f62463d1892362e064b6618574ced20 |
v0.1.1
What's Changed
- chore: run release workflows on self-hosted runners by @kaiitunnz in #39
- chore: bump astral-sh/setup-uv from 7.6.0 to 8.1.0 by @dependabot[bot] in #40
- chore: bump actions/download-artifact from 4.3.0 to 8.0.1 by @dependabot[bot] in #41
- chore: bump actions/upload-artifact from 4.6.2 to 7.0.1 by @dependabot[bot] in #42
- fix: send api key on worker node registration by @kaiitunnz in #43
- fix: drop redundant main fetch in release workflows by @kaiitunnz in #45
- chore: prepare v0.1.1 release by @kaiitunnz in #46
Full Changelog: v0.1.0...v0.1.1
FlowMesh container images for v0.1.1
| Image | Platforms | Digest |
|---|---|---|
ghcr.io/mlsys-io/flowmesh_server:v0.1.1 |
linux/amd64,linux/arm64 |
sha256:b5185f4c7df71874362c2e8f1d09b6baf08984ca4dfed1b4475aa6194a30d0c9 |
ghcr.io/mlsys-io/flowmesh_worker:v0.1.1-cpu |
linux/amd64,linux/arm64 |
sha256:293bf7999a6a0099e7075ef781947cc11b80196791a5f195b62678787591660c |
ghcr.io/mlsys-io/flowmesh_worker_builder:v0.1.1-gpu |
linux/amd64,linux/arm64 |
sha256:b342971dce7c8505f0206324938caef578a0fe41b9f54c8fb9f8488b3eb9627b |
ghcr.io/mlsys-io/flowmesh_worker:v0.1.1-gpu |
linux/amd64,linux/arm64 |
sha256:1927f92279ec7d645191f916ac44eabfd6d09cc994732900da8bf2f4ae20cbe0 |
ghcr.io/mlsys-io/flowmesh_ssh:v0.1.1-cpu |
linux/amd64,linux/arm64 |
sha256:955c871dd7dcb55a18a16e509cfa8e50eb8002d650902c55d0ab72c93fa24b11 |
ghcr.io/mlsys-io/flowmesh_ssh:v0.1.1-gpu |
linux/amd64,linux/arm64 |
sha256:ef5d0e041c97ce17ea9f3741ef534d365dd509c4f4e2d211a1a1eaf1e9d9781e |
v0.1.0
What's Changed
- feat: add ignore_unreachable to NodeClient.destroy_all_workers by @timzsu in #2
- chore: switch CI to self-hosted runners by @timzsu in #4
- chore: speed up CI (cancel superseded runs + pre-built runner image) by @timzsu in #7
- chore: add zizmor security audit; harden existing workflow permissions by @timzsu in #5
- chore: add gitleaks (CI job + pre-commit hook) by @timzsu in #9
- chore: add bandit Python source security audit by @timzsu in #10
- chore: add pip-audit dependency CVE scan by @timzsu in #11
- feat: workflow trace via OTel spans + analyzer by @timzsu in #3
- refactor: in-process torchrun + DeepSpeed launchers; fix multi-GPU SFT/DPO/PPO spawn by @timzsu in #12
- fix: close merged-child result race; rename legacy responses.json by @timzsu in #13
- docs: split AGENTS.md into separate documents by @timzsu in #14
- refactor: remove legacy CLI runtime helpers and fix GPU worker count by @kaiitunnz in #16
- fix: resolve local destination hang and unreachable pigz in worker images by @kaiitunnz in #17
- refactor: scope stack docker object names to avoid collision on shared hosts by @kaiitunnz in #20
- chore: bump astral-sh/setup-uv from 94527f2e458b27549849d47d273a16bec83a01e9 to 37802adc94f370d6bfd71619e3f0bf239e1f3b78 by @dependabot[bot] in #21
- fix: unblock PPO multi-GPU training by @kaiitunnz in #18
- feat: data agent connector for lumid.data by @timzsu in #19
- fix: ignore diffusers GHSA-98h9-4798-4q5v in pip-audit by @timzsu in #24
- feat: support aarch64 stack and worker images by @kaiitunnz in #30
- feat: add flowmesh-hook plugin contract package and server hooks by @kaiitunnz in #22
- refactor: prepare lightweight PyPI package publishing by @kaiitunnz in #25
- fix: support LoRA archive URL outputs by @timzsu in #29
- refactor: move templates under examples by @timzsu in #32
- [BREAKING] refactor: rename GpuPlatformInfo.gpus to .devices by @kaiitunnz in #33
- perf: parallelize supervisor command dispatch by @kaiitunnz in #31
- refactor: clean up legacy template fields and surface remaining knobs by @timzsu in #34
- perf: split stack build/push buildx driver and cache strategy by @kaiitunnz in #36
- feat: wire training.target_kl + training.early_stopping by @timzsu in #37
- fix: make multi-node stack deployment work by @kaiitunnz in #35
- chore: add PyPI release workflow by @kaiitunnz in #26
- feat: add flowmesh stack bundle init by @kaiitunnz in #38
New Contributors
- @timzsu made their first contribution in #2
- @dependabot[bot] made their first contribution in #21
Known issue
v0.1.0 has a bug where worker-node supervisor registration can fail against a root server using an IdentityProvider plugin chain, because the registration request may be sent without the API key authorization header. This was fixed in #43 and is included in v0.1.1. If you use multi-node deployments with auth enabled, use v0.1.1 or later.
Full Changelog: https://github.com/mlsys-io/FlowMesh/commits/v0.1.0