## MervinPraison/PraisonAI — v4.6.159…v4.6.160

_179+ commits._

### Features
- **feat: add read-only agent-callable gateway_status tool (fixes #3688)** (91e6900)
- **feat: add no-LLM command action to scheduler jobs (fixes #3692)** (f96bf72)
- **feat: add ask_conversation cross-conversation request/reply tool (fixes #3689)** (9acafb1)
- **feat: capture-after-setup env reuse keyed by definition hash (fixes #3670)** (583ac1e)
- **feat: add .praisonai/environment.yaml loader + ComputeConfig.setup (fixes #3669)** (ee83a4a)
- **feat: add `praisonai init team` multi-agent project scaffold (fixes #3650)** (4e1fd9a)
- **feat: add unified remember/recall/forget convenience API to Memory (fixes #3651)** (eadda0c)
- **feat: add local-first SessionMirrorProtocol + non-blocking dual-write hook (#3646)** (f9523a1)
- **feat: declarative per-tool model-facing output (model_output/to_model_output) for context economy (fixes #3636)** (22ce20c)
- **feat: config-declared, layerable instruction/context sources (fixes #3618)** (94a7f2a)

### Fixes
- **fix(claude-code): await async progress callbacks, route SDK progress, tighten test** (4420701)
- **fix(claude-code): make streaming progress actually work + on_event callback** (d23cd30)
- **fix: harden gateway_status serialization for any dataclass snapshot** (cd0aa89)
- **fix: normalise corrupt command_timeout so a bad value fails only its own job** (0e665bb)
- **fix: bound command output at read boundary and use asyncio.run in tests** (7aadc28)
- **fix: clamp ask_conversation timeout to a finite positive bound** (897f0e9)
- **fix: propagate plan mode through profiled runs and REPL worker** (ee2d56a)
- **fix: resolve session model before local fallback + restore legacy top-level model on load** (2f53460)
- **fix: surface read-only plan mode via discoverable --plan flag (fixes #3684)** (8969d8d)
- **fix: restore a resumed session's model instead of re-resolving the default (fixes #3685)** (279bc07)
- **fix: wire --handoff, make approval hook functional, drop duplicate LEGACY TOOLS (fixes #3682)** (3eb3718)
- **fix: replace emoji prints in api.py and cloud providers to complete cp1252 crash fix (#3680)** (4b34c82)
- **fix: replace emoji prints in docker.py with ASCII to prevent Windows cp1252 crash (fixes #3680)** (11cfa85)
- **fix: isolate captures per secret context + lock registry writes** (8ff2277)
- **fix: update stale v4 removal tests to restored PraisonAIAgents alias contract (#3674)** (bbd1283)
- **fix: expose PraisonAIAgents alias from package root (fixes #3674)** (ca06462)
- **fix: memoise pure model-capability lookups in LLM hot path (fixes #3672)** (a61add4)
- **fix: wire environment loader to live consumer, validate nested shapes, clean up leaked container** (213d255)
- **fix: use variables={{topic}} interpolation in human-review team example** (0064f0c)
- **fix: make generated team project runnable and topic-aware** (8053581)
- **fix: enforce delegate_task timeout via bounded worker thread** (3d2fd74)
- **fix: make plain-table fallback reachable when Rich unavailable in models list** (77a815a)
- **fix: guard forget() empty query and scope to long-term memory** (4a926a8)
- **fix: migrate invalid AgentTeam kwargs to output=/execution= (fixes #3654)** (92c2b6d)
- **fix: wire delegate_task tool to subagent runtime (fixes #3649)** (264f851)
- **fix: ASCII-safe capabilities in models CLI on Windows cp1252 (fixes #3655)** (fd6f314)
- **fix: OpenAI-compatible ManagerInstructions schema for hierarchical process (fixes #3657)** (4fd988f)
- **fix: correct stale resolve_output/resolve_execution import in precedence ladder tests (fixes #3656)** (61a330f)
- **fix: mirror transcript replacements, reject post-close appends, order writer after makedirs (#3646)** (76714ca)
- **fix: identity-checked turn-lock release + config hardening (#3643)** (e6ed451)
- **fix: point code REPL/TUI session store at canonical sessions root (fixes #3645)** (726394e)
- **fix: add cluster-wide turn-lock protocol for multi-replica gateways (fixes #3643)** (ccc9d68)
- **fix: close shell auto-approval exposure gaps on inbound channels** (a423a5b)
- **fix: preserve backward-compat protocol contract + fix B015 in degraded-owner guard (#3640)** (87d2ba3)
- **fix: add fail-closed read to degraded-owner contract (fixes #3640)** (538ef47)
- **fix: make shell auto-approval exposure-aware on inbound channels (fixes #3639)** (78c20c6)
- **fix: keep compact model-output safe — trust-fence it, preserve full result for loop detection/hooks** (4eedb85)
- **fix: propagate durable team-session save result + harden resume tests** (f50aea8)
- **fix: durable transcript-backed session resume for AgentTeam (fixes #3635)** (bf4c609)
- **fix: gate WorkflowAutoGenerator default on SUPPORTS_WORKFLOW; require active connection for supports_publish** (1afe7d0)
- **fix: surface FileNotFound, unify auto-generator defaults, harden push polling fallback (fixes #3633)** (5a8e98a)
- **fix: close streaming guardrail + read-only policy enforcement gaps** (ff2eb1b)
- **fix: enforce policy/guardrail contracts in praisonaiagents core (fixes #3631)** (95b7e03)
- **fix: set Gunicorn --timeout 120 in generated Dockerfile (fixes #3629)** (97a10c6)
- **fix: use weak, hashing-safe cache for on_progress probe** (300fe0d)
- **perf: memoise on_progress signature probe in call_executor (fixes #3626)** (f1afa57)
- **fix: apply voice-reply policy in streaming path, gateway inbound state & forward speed (#3623)** (e6dde15)
- **fix: add cross-platform voice-reply (TTS-out) gateway primitive (fixes #3623)** (ea02170)
- **fix: land #3621 reviewer fixes on effective seams (hint→prompt, metadata override, accurate replay)** (c47c3ed)
- **fix: close three gateway/bot robustness gaps (fixes #3621)** (c536c42)
- **fix: thread instructions through --agent/--command paths + SSRF-guard remote fetch** (3628e5c)
- **fix: preserve YAML approval flags across the legacy parse_args() reparse** (c3e6af4)
- **fix: permission-gate YAML workflows on the unified run pipeline (fixes #3617)** (f9e8112)
- **fix: bind protected-path check to the real target to close symlink TOCTOU/escape (fixes #3615)** (9f6326f)
- **fix: close three wrapper safety/correctness gaps (fixes #3615)** (ed270ca)
- **fix: drop dead cloud deploy.api parse; add docker auth-env runtime tests** (12ac9dc)
- **fix: honor deploy.api YAML block for docker/cloud deploy (fixes #3604)** (728a156)
- **fix: scope @require_approval by positional args too (fixes #3613)** (45272b1)
- **fix: argument-scope tool approvals and isolate default memory user_id (fixes #3613)** (2804f12)
- **fix: report taskkill/destroy failures instead of false success** (ecb164e)
- **fix: cross-platform API destroy for Windows (fixes #3606)** (795644e)
- **fix: force UTF-8 stdio in praisonai-deploy CLI to prevent cp1252 crash (fixes #3605)** (ddfd86d)
- **fix: use pytest tmp_path in deploy schema tests for Windows compatibility (fixes #3607)** (36e5408)

### Backend
- **Release v4.6.160** (aadb62a)
- **Merge pull request #3695 from MervinPraison/feat/claude-code-progress-stream** (468f40d)
- **Merge pull request #3690 from MervinPraison/claude/issue-3688-20260805-0915** (b424558)
- **Merge pull request #3693 from MervinPraison/claude/issue-3692-20260805-0945** (366d09b)
- **Merge pull request #3686 from MervinPraison/claude/issue-3685-20260805-0850** (a47fd46)
- **Merge pull request #3687 from MervinPraison/claude/issue-3684-20260805-0849** (541b4bf)
- **Merge pull request #3691 from MervinPraison/claude/issue-3689-20260805-0916** (f94b85a)
- **Merge pull request #3683 from MervinPraison/claude/issue-3682-20260805-0824** (9fcd38a)
- **Merge pull request #3679 from MervinPraison/claude/issue-3670-20260805-0729** (602f5f6)
- **Merge pull request #3681 from MervinPraison/claude/issue-3680-20260805-0746** (692e3c2)
- **Merge pull request #3676 from MervinPraison/ci/release-pipeline-hardening** (7fcca21)
- **Merge pull request #3638 from MervinPraison/claude/issue-3636-20260804-0853** (5561e78)
- **Merge pull request #3673 from MervinPraison/claude/issue-3672-20260804-1715** (45b6948)
- **Merge pull request #3675 from MervinPraison/claude/issue-3674-20260804-2348** (770666f)
- **Merge pull request #3671 from MervinPraison/claude/issue-3669-20260804-1506** (580b02e)
- **Merge pull request #3668 from MervinPraison/claude/issue-3665-20260804-1027** (cffde66)
- **Merge pull request #3667 from MervinPraison/claude/issue-3666-20260804-1027** (9e7de1a)
- **Merge pull request #3664 from MervinPraison/claude/issue-3654-20260804-1008** (80a7aca)
- **Merge pull request #3663 from MervinPraison/claude/issue-3650-20260804-1008** (9a2c969)
- **Merge pull request #3661 from MervinPraison/claude/issue-3655-20260804-1008** (73de340)
- **Merge pull request #3660 from MervinPraison/claude/issue-3651-20260804-1008** (0074495)
- **Merge pull request #3659 from MervinPraison/claude/issue-3657-20260804-1008** (4163d7b)
- **Merge pull request #3662 from MervinPraison/claude/issue-3649-20260804-1008** (f5d862e)
- **Merge pull request #3658 from MervinPraison/claude/issue-3656-20260804-1008** (fb39305)
- **Merge pull request #3641 from MervinPraison/claude/issue-3639-20260804-0918** (b434a69)
- **Merge pull request #3642 from MervinPraison/claude/issue-3640-20260804-0918** (9a3fcdc)
- **Merge pull request #3647 from MervinPraison/claude/issue-3645-20260804-0951** (f8978ea)
- **Merge pull request #3648 from MervinPraison/claude/issue-3646-20260804-0952** (214d0ea)
- **Merge pull request #3644 from MervinPraison/claude/issue-3643-20260804-0942** (8a87d89)
- **Merge pull request #3637 from MervinPraison/claude/issue-3635-20260804-0852** (14c5e76)
- **Merge pull request #3634 from MervinPraison/claude/issue-3633-20260804-0833** (6312998)
- **Merge pull request #3632 from MervinPraison/claude/issue-3631-20260804-0718** (c98abe6)
- **Merge pull request #3630 from MervinPraison/claude/issue-3629-20260804-0454** (c5559ef)
- **Merge pull request #3628 from MervinPraison/ci/release-descriptive-bump-commit** (860470e)
- **Merge pull request #3622 from MervinPraison/claude/issue-3621-20260803-0924** (81cf493)
- **Merge pull request #3627 from MervinPraison/claude/issue-3626-20260803-1715** (1747640)
- **Merge pull request #3620 from MervinPraison/claude/issue-3618-20260803-0854** (8785911)
- **Merge pull request #3624 from MervinPraison/claude/issue-3623-20260803-0946** (0efc251)
- **Merge pull request #3619 from MervinPraison/claude/issue-3617-20260803-0853** (00bc40e)
- **Merge pull request #3616 from MervinPraison/claude/issue-3615-20260803-0822** (b5b6eb0)
- **Merge pull request #3614 from MervinPraison/claude/issue-3613-20260803-0716** (72f430c)
- **Merge pull request #3601 from MervinPraison/claude/issue-3600-20260802-1617** (ad05a34)
- **Merge pull request #3591 from MervinPraison/claude/issue-3589-20260802-0850** (482d8a9)
- **Merge pull request #3586 from MervinPraison/claude/issue-3585-20260802-0714** (1fe4aa4)
- **Merge pull request #3609 from MervinPraison/claude/issue-3604-20260803-0627** (796f567)
- **Merge pull request #3612 from MervinPraison/claude/issue-3606-20260803-0629** (74eff72)
- **Merge pull request #3611 from MervinPraison/claude/issue-3605-20260803-0629** (0da0221)
- **Merge pull request #3610 from MervinPraison/claude/issue-3607-20260803-0629** (cb9f696)
- **Merge pull request #3608 from MervinPraison/claude/issue-3603-20260803-0627** (4184faa)

### Tests
- **test: extend AgentTeam kwarg lint to cover migrated crewai-tools-example** (97bcf00)
- **test: assert exact Gunicorn --timeout/--graceful-timeout arg pairs** (1791fb9)
- **test: align test_improved_decorator with argument-scoped approvals** (6d3047b)
- **test: cover praisonai-deploy __main__ stdio safeguard + replace policy (#3605)** (4dc034c)

### Docs
- **docs: auto-update documentation parity trackers [skip ci]** (a0baace)
- **docs: auto-update documentation parity trackers [skip ci]** (cc9d174)
- **docs: auto-update documentation parity trackers [skip ci]** (f084e06)
- **docs: auto-update api.md [skip ci]** (de48d26)
- **docs: auto-update feature parity trackers [skip ci]** (fe4927e)
- **docs: auto-update documentation parity trackers [skip ci]** (fbbeacf)
- **docs: auto-update api.md [skip ci]** (c33129f)
- **docs: auto-update documentation parity trackers [skip ci]** (f3dacae)
- **docs: auto-update documentation parity trackers [skip ci]** (0188391)
- **docs: auto-update documentation parity trackers [skip ci]** (4240b98)
- **docs: auto-update documentation parity trackers [skip ci]** (b1ff51c)
- **docs: correct loader/ordering semantics in sequential team example** (9d04e58)
- **docs: add correct-signature human-review team example + regression test (fixes #3665)** (0f384c9)
- **docs: add minimal sequential team YAML example (fixes #3666)** (38cfcba)
- **docs: auto-update documentation parity trackers [skip ci]** (72feffb)
- **docs: auto-update api.md [skip ci]** (8904471)
- **docs: auto-update feature parity trackers [skip ci]** (25f9812)
- **docs: auto-update documentation parity trackers [skip ci]** (d4a8778)
- **docs: auto-update documentation parity trackers [skip ci]** (8e2051e)
- **docs: auto-update feature parity trackers [skip ci]** (d4eb09a)
- **docs: auto-update documentation parity trackers [skip ci]** (4af50a2)

### Chore
- **refactor: drop dead ApprovalSpec.install_hook parallel enforcement path** (0b8abfb)
- **ci(release): harden the pipeline and add first-class single-package releases** (0ca67c6)
- **ci(release): name the packages in the safety-net commit message** (ce0ae79)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/MervinPraison/PraisonAI?utm_source=github-action)._