Repository navigation
Releases
v5.0.0
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0
What's Changed
- fix(remote): support unicode worker names in transfers by @rijuyuezhu in #110
- refactor: harden architecture boundaries by @rijuyuezhu in #111
- architecture: start explicit runtime migration guardrails by @rijuyuezhu in #113
- fix: address PR #113 post-merge review findings by @rijuyuezhu in #114
- fix: keep managed worker async jobs alive by @rijuyuezhu in #116
- chore: remove obsolete product and compatibility surfaces by @rijuyuezhu in #117
- feat!: rename project to Workgate by @rijuyuezhu in #119
- chore: prepare v5.0.0a1 release by @rijuyuezhu in #120
- feat: unify Workgate application paths by @rijuyuezhu in #122
- refactor: define control/executor protocol contracts by @rijuyuezhu in #124
- refactor: establish control and executor composition roots by @rijuyuezhu in #125
- fix: resolve executor workspace before runtime build by @rijuyuezhu in #126
- refactor: add stateful control persistence by @rijuyuezhu in #127
- refactor: add executor transport and reconnect by @rijuyuezhu in #128
- refactor: add executor pairing and administration by @rijuyuezhu in #129
- refactor: route shared sessions through executors by @rijuyuezhu in #130
- refactor: enforce executor physical ownership by @rijuyuezhu in #131
- refactor: add control-owned immutable payloads by @rijuyuezhu in #132
- refactor: make cross-executor session copy durable by @rijuyuezhu in #133
- refactor: rediscover executor jobs and shells by @rijuyuezhu in #138
- feat: add ephemeral terminal stream plane by @rijuyuezhu in #141
- refactor: add simple VPS production control milestone by @rijuyuezhu in #143
- refactor: add standalone two-process mode by @rijuyuezhu in #145
- refactor: add hosted control feasibility adapter by @rijuyuezhu in #146
- feat: add deployable Cloudflare hosted provider by @rijuyuezhu in #147
- refactor: finish control/executor migration cleanup by @rijuyuezhu in #152
- docs: simplify deployment and configuration guidance by @rijuyuezhu in #153
- feat: define managed cloudflared lifecycle by @rijuyuezhu in #154
- test: add deployment topology acceptance coverage by @rijuyuezhu in #155
- refactor: finish control executor cleanup audit by @rijuyuezhu in #157
- feat: add durable session task state by @rijuyuezhu in #139
- feat: add session-owned structured browser automation by @rijuyuezhu in #140
- Add managed executor service lifecycle by @rijuyuezhu in #142
- feat: add Live Workspace for explicit session handoff by @rijuyuezhu in #144
- security: refresh vulnerable locks and harden supply-chain defaults by @rijuyuezhu in #215
- config: validate runtime numeric settings at load time by @rijuyuezhu in #216
- auth: restrict localhost bypass to direct requests by @rijuyuezhu in #217
- server: add explicit practical runtime controls by @rijuyuezhu in #218
- policy: remove command and path denylist heuristics by @rijuyuezhu in #219
- skills: support symlink-composed Skill trees by @rijuyuezhu in #220
- mcp: compact model-facing structured tool responses by @rijuyuezhu in #221
- shell: add configurable subprocess environment filtering by @rijuyuezhu in #222
- architecture: separate task identity from execution sessions by @rijuyuezhu in #223
- executor: replace workspace boundary with default workdir by @rijuyuezhu in #224
- executor: bootstrap fresh machines through device-code pairing by @rijuyuezhu in #228
- executor: add install-aware managed runtime updates by @rijuyuezhu in #229
- executor: add fleet discovery and administration by @rijuyuezhu in #230
- transfer: default public session_copy overwrite to false by @rijuyuezhu in #231
- transfer: make managed background copy the public default by @rijuyuezhu in #232
- transfer: keep same-executor copies executor-local by @rijuyuezhu in #233
- transfer: add raw HTTP payload data plane by @rijuyuezhu in #234
- transfer: add optional object-store route by @rijuyuezhu in #236
- live workspace: add bounded task continuation by @rijuyuezhu in #237
- human ui: make tasks the durable-work entry by @rijuyuezhu in #238
- gui: add session-owned native desktop automation by @rijuyuezhu in #239
- browser: add reusable authentication state by @rijuyuezhu in #241
- browser: support CSS selector action targets by @rijuyuezhu in #242
- browser: add session-scoped bounded Playwright script tool by @rijuyuezhu in #243
- browser: include bounded network timeline in snapshots by @rijuyuezhu in #245
- browser: capture managed screenshots by default by @rijuyuezhu in #246
- agent-mcp: scope stdio calls to sessions and remove persistent workers by @rijuyuezhu in #247
- agent-mcp: replace dynamic aliases with bounded progressive disclosure by @rijuyuezhu in #248
- agent-mcp: manage integrations through owner manifests by @rijuyuezhu in #249
- agent-mcp: drop outbound legacy SSE transport by @rijuyuezhu in #250
- mcp: slim static model guidance after task and discovery refactors by @rijuyuezhu in #251
- chore: retire Cloudflare Workers hosted Control adapter by @rijuyuezhu in #253
- audit: retain owner-visible content without heuristic masking (#244) by @rijuyuezhu in #254
- audit: query the full retained hot log (#189) by @rijuyuezhu in #255
- audit: retain and query bounded cold history (#190) by @rijuyuezhu in #256
- state: generation-fenced recovery for critical control registries (#191) by @rijuyuezhu in #257
- ui: remove OpenTUI and native wheel pipeline (#192) by @rijuyuezhu in #258
- webui: synchronize live executor availability across views (#193) by @rijuyuezhu in #259
- webui: prevent stale file editor overwrites (#194) by @rijuyuezhu in #260
- webui: complete browser-native Files manager workflow (#195) by @rijuyuezhu in #261
- webui: polish persistent xterm.js terminal interaction (#196) by @rijuyuezhu in #262
- webui: replace layout and styling with upstream v5 design (#197) by @rijuyuezhu in #263
- deps: refresh compatible Python lockfile (#265) by @rijuyuezhu in https://github.com/rijuyuezhu/wor...
v5.0.0a21
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a21
What's Changed
- fix(windows): safely reuse completed same-version cutover task by @rijuyuezhu in #617
- chore(release): prepare v5.0.0a21 by @rijuyuezhu in #618
Full Changelog: v5.0.0a20...v5.0.0a21
v5.0.0a20
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a20
What's Changed
- fix(windows): preserve limited Executor Task Scheduler update access by @rijuyuezhu in #615
- chore(release): prepare v5.0.0a20 by @rijuyuezhu in #616
Full Changelog: v5.0.0a19...v5.0.0a20
v5.0.0a19
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a19
What's Changed
- fix(windows): preserve limited Executor task access after elevated source switch by @rijuyuezhu in #613
- chore(release): prepare v5.0.0a19 by @rijuyuezhu in #614
Full Changelog: v5.0.0a18...v5.0.0a19
v5.0.0a18
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a18
What's Changed
- fix(executor): refresh Windows GUI capability after desktop unlock by @rijuyuezhu in #610
- chore(release): prepare v5.0.0a18 by @rijuyuezhu in #611
Full Changelog: v5.0.0a17...v5.0.0a18
v5.0.0a17
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a17
What's Changed
- chore(release): prepare v5.0.0a17 by @rijuyuezhu in #609
Full Changelog: v5.0.0a16...v5.0.0a17
v5.0.0a16
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a16
What's Changed
- fix(macos): inherit configured system proxy for source staging by @rijuyuezhu in #593
- fix(windows): scope source cutover task to target release by @rijuyuezhu in #594
- fix(control): safely reconcile stale creating sessions after complete Hello by @rijuyuezhu in #595
- refactor(webui): share OAuth scope error handling (#514) by @rijuyuezhu in #597
- fix(colocate): verify Linux service ownership before native actions by @rijuyuezhu in #598
- fix(executor): log safe reconnect request failure context by @rijuyuezhu in #600
- perf(executor): scan job protection once per reconnect inventory by @rijuyuezhu in #602
- perf(executor): skip full shell reconciliation for proven-absent lost jobs by @rijuyuezhu in #604
- test(windows): atomically publish supervisor smoke PID files by @rijuyuezhu in #606
- test(control): preserve Task history on retired Executor force-release by @rijuyuezhu in #607
- chore(release): prepare v5.0.0a16 by @rijuyuezhu in #608
Full Changelog: v5.0.0a15...v5.0.0a16
v5.0.0a15
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a15
What's Changed
- test(windows): use actual SID in paired-service smoke by @rijuyuezhu in #587
- fix(executor): find user uv during managed source staging by @rijuyuezhu in #588
- fix(windows): prevent early ConPTY Job lost via pythonw runner by @rijuyuezhu in #589
- chore(release): bump package to v5.0.0a15 by @rijuyuezhu in #590
Full Changelog: v5.0.0a14...v5.0.0a15
v5.0.0a14
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a14
What's Changed
- feat(macos): managed Executor source auto-upgrade via launchd (#571) by @rijuyuezhu in #572
- fix(file-link): proxy-safe remote snapshots and HTTP 413 results by @rijuyuezhu in #575
- docs: reader-first guides, canonical installation, and contributor principles by @rijuyuezhu in #576
- refactor: remove unused Audit and Session wrappers (#514) by @rijuyuezhu in #577
- fix(colocate): pin YAML against imported systemd environment (#514) by @rijuyuezhu in #578
- refactor: retire frozen-only child process entrypoints (#514) by @rijuyuezhu in #579
- feat(mcp-app): preview Executor images inline in ChatGPT (#490) by @rijuyuezhu in #580
- chore(deps): consolidate four Dependabot lock updates by @rijuyuezhu in #581
- feat(install): Latest, Stable and Dev installation channels by @rijuyuezhu in #583
- chore(release): bump package to v5.0.0a14 by @rijuyuezhu in #582
Full Changelog: v5.0.0a13...v5.0.0a14
v5.0.0a13
One universal py3-none-any Python wheel and one source distribution are attached.
This is a source + uv release, not a standalone executable release.
Use a pinned Git release and the official Linux or Windows
source bootstrap in the installation guide.
Upgrade order matters: migrate paired legacy frozen Executors
to managed source BEFORE upgrading Control to this release.
The old binary download/update endpoints are retired; an
unmigrated frozen Executor will require explicit owner action.
See docs/guides/migrate-frozen.md.
A native Windows ARM64 cryptography wheel and its provenance are included.
Its checksum is recorded in SHA256SUMS.txt.
The universal Python wheel and source distribution are also attached.
Python package version in pyproject.toml: 5.0.0a13
What's Changed
- docs(install): use published v5.0.0a12 SHA-pinned bootstrap (#456) by @rijuyuezhu in #556
- feat(release): atomically retire standalone/frozen delivery for source + uv (#457) by @rijuyuezhu in #561
- test(windows): prove managed Executor reconnect without Task Scheduler restart (#502) by @rijuyuezhu in #562
- feat(logging): share Control logging setup with Executor runtime (#521) by @rijuyuezhu in #563
- feat(logging): log deduplicated Executor connection state changes (#521) by @rijuyuezhu in #564
- feat(logging): report Supervisor child exits and rollback outcomes (#521) by @rijuyuezhu in #565
- feat(logging): summarize managed Job failures without payloads (#521) by @rijuyuezhu in #566
- feat(logging): enable safe Workgate INFO by default (#521) by @rijuyuezhu in #567
- fix(logging): retain bounded Windows log history at startup (#568) by @rijuyuezhu in #569
- chore(release): prepare v5.0.0a13 alpha by @rijuyuezhu in #570
Full Changelog: v5.0.0a12...v5.0.0a13