This release adds 1 notable feature for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+8 more
ReleasePort's take
Light signalThe release rewrites the PTY implementation to fix a deadlock and corrects several shell‑related bugs, improving reliability.
Why it matters: Fixes SIGTTOU deadlock in PtyShell, restores stripped tail/head pipes in BashCommand deserialization, removes ghost entries from BackgroundShellManager, and synchronizes cwd after cd commands; all critical for stable automation workflows.
Summary
AI summaryFull PTY rewrite fixes SIGTTOU deadlock, tail/head stripping bug, background-shell ghosts, and cwd desync.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Fixed `BashCommand` JSON deserializer stripping `| tail …` / `| head …` from commands. Fixed `BashCommand` JSON deserializer stripping `| tail …` / `| head …` from commands. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Bugfix | Medium |
Pruned finished/dead shells from `BackgroundShellManager` to remove ghost entries. Pruned finished/dead shells from `BackgroundShellManager` to remove ghost entries. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Bugfix | Medium |
Synchronized current working directory in status block after `cd` commands. Synchronized current working directory in status block after `cd` commands. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Bugfix | Medium |
Fixed SIGTTOU/`tcsetpgrp()` deadlock that suspended the MCP client. Fixed SIGTTOU/`tcsetpgrp()` deadlock that suspended the MCP client. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Bugfix | Medium |
Resolved `status_check` hangs caused by blocking pipe reads. Resolved `status_check` hangs caused by blocking pipe reads. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Refactor | Medium |
Replaced broken `bash -i` + `Stdio::piped()` shell with a real PTY (via `portable-pty`). Replaced broken `bash -i` + `Stdio::piped()` shell with a real PTY (via `portable-pty`). Source: llm_adapter@2026-05-23 Confidence: low |
— |
Full changelog
✨ Highlights
This release brings a full PTY rewrite and three fixes uncovered by extreme tests.
PtyShell migration (from v0.2.302)
Replaced the broken bash -i + Stdio::piped() shell with a real PTY (via portable-pty). Eliminates the SIGTTOU/tcsetpgrp() deadlock that suspended the MCP client and fixes status_check hangs caused by blocking pipe reads.
Bug fixes in this release
tail/headstripping — theBashCommandJSON deserializer was stripping| tail …/| head …from incoming commands, soseq 1 10000 | tail -5was effectively runningseq 1 10000and the response carried ~499 lines instead of the requested 5. Fixed.- Background-shell ghosts —
BackgroundShellManagerkept entries for shells whose underlying bash had already exited.PtyShellnow retains the spawnedChildand exposes a realis_alive()viatry_wait(); finished/dead shells are pruned before listing. cwddesync —cd /tmpupdated bash's PWD but the status block kept reporting the workspace root.wait_for_outputnow parses the trailing prompt◉ <path>──➤and persists the newcwdback intoBashState.
Regression tests
tests/bash_pty_regression_test.rscoverstail -Ndirect + via JSON, bg pruning after exit, andcdsyncing status + persisted state.
Install
cargo install winx-code-agent
Configure MCP
Drop this in .mcp.json at your project root:
{
"mcpServers": {
"winx": {
"command": "winx-code-agent",
"env": { "RUST_LOG": "winx_code_agent=info" }
}
}
}
Full Changelog: https://github.com/gabrielmaialva33/winx-code-agent/compare/v0.2.302...v0.2.304
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About gabrielmaialva33/winx-code-agent
A high-performance Rust reimplementation of WCGW for code agents, providing shell execution and advanced file management capabilities for LLMs via MCP.
Beta — feedback welcome: [email protected]