Termux rust-v0.133.0#163
Conversation
- The Python SDK now supports first-class authentication, including API key login, ChatGPT browser and device-code flows, account inspection, and logout APIs. (openai#23093) - Python turn APIs are easier to use for text-only workflows: you can pass a plain string as input, and handle-based runs now return a richer `TurnResult` with collected items, timing, and usage data. (openai#23151, openai#23162) - `codex exec resume` now accepts `--output-schema`, so resumed automations can keep session context while still enforcing structured JSON output. (openai#23123) - TUI startup is faster because terminal capability probes are now batched instead of waiting on several serial checks before the first interactive frame. (openai#23175) - Remote executor registration can now use standard Codex auth instead of a separate registry credential flow. (openai#22769) - App-server turns can preserve requested image fidelity, including original-resolution local images, across user inputs and image-producing tools. (openai#20693) ## Bug Fixes - Goal continuations now stop when they hit usage limits or a repeated blocker instead of looping and burning more tokens, and completion responses phrase usage more naturally. (openai#23094, openai#22907) - The session picker is easier to trust: renamed threads now show `name (thread-id)` in resume hints, and pasted text works in the picker search box. (openai#23234, openai#23338) - Multi-session TUI flows are more reliable: in-progress MCP calls stay marked as active during replay, and elicitation replies are sent back to the thread that requested them. (openai#23236, openai#23241) - Remote sessions now keep websocket connections alive and show repo-relative diff paths again instead of `/tmp/...`-prefixed paths. (openai#23226, openai#23261) - Windows installs are more robust: `codex doctor` now detects npm-managed installs correctly, and MSVC release binaries no longer depend on separately installed VC++ runtime DLLs. (openai#22967, openai#22905) - TUI polish fixes include immediate shutdown feedback on exit, hiding the ChatGPT usage link for non-OpenAI providers, and keeping a cleared Fast tier from reappearing after side-thread resume. (openai#23323, openai#23127, openai#23121) ## Documentation - The Python SDK docs, FAQ, and examples were refreshed around the new auth flow and turn APIs, with clearer setup guidance and simpler text-only examples. (openai#22941, openai#23093, openai#23151, openai#23162) ## Chores - Memory summaries are now versioned and rebuilt when the stored format is stale, which should keep long-lived memory context leaner and more predictable. (openai#23148) ## Changelog Full Changelog: openai/codex@rust-v0.131.0...rust-v0.132.0 - openai#20693 Preserve image detail in app-server inputs @fjord-oai - openai#22891 tui: pass active permission profiles through app commands @bolinfest - openai#22924 app-server-protocol: remove PermissionProfile from API @bolinfest - openai#22941 [codex] Refine Python SDK user-facing docs @aibrahim-oai - openai#22967 Fix Windows doctor npm root probe @etraut-openai - openai#22920 core: set permission profiles from snapshots @bolinfest - openai#22939 [codex] Split Python SDK helper logic @aibrahim-oai - openai#22907 Improve goal completion usage reporting @etraut-openai - openai#23030 test: construct permission profiles directly @bolinfest - openai#22769 exec-server: support auth-backed remote executor registration @miz-openai - openai#22946 [codex] preserve MCP result meta in McpToolCallItemResult @miaolin-oai - openai#23069 multiagent: trim model-visible description, cap to 5 models @sayan-oai - openai#22913 [1 of 4] tui: route primary settings writes through app server @etraut-openai - openai#23093 sdk/python: add first-class login support @aibrahim-oai - openai#23151 [codex] Return TurnResult from Python turn handles @aibrahim-oai - openai#23147 Make multi-agent v2 tool namespace configurable @jif-oai - openai#23036 test: reduce core sandbox policy test setup @bolinfest - openai#23162 [codex] Accept string input for Python turns @aibrahim-oai - openai#23226 Add exec-server websocket keepalive @starr-openai - openai#23148 Densify and version memory summaries @jif-oai - openai#22448 [codex] Add installed-plugin mention API @xli-oai - openai#23288 chore: goal ext skeleton @jif-oai - openai#23291 Make extension lifecycle hooks async @jif-oai - openai#23293 feat: add extension event sink capability @jif-oai - openai#23295 chore: isolate thread goal storage behind GoalStore @jif-oai - openai#23301 chore: goal resumed metrics @jif-oai - openai#23305 chore: make token usage async @jif-oai - openai#23306 Emit goal update events from goal extension tools @jif-oai - openai#23121 tui: keep cleared Fast tier from reappearing after side-thread resume @etraut-openai - openai#23123 Support --output-schema for exec resume @etraut-openai - openai#23128 Fix TUI stream cleanup after turn errors @etraut-openai - openai#23127 Hide ChatGPT usage link for non-OpenAI status @etraut-openai - openai#23175 [1 of 2] Optimize TUI startup terminal probes @etraut-openai - openai#22706 [codex] Remove legacy shell output formatting paths @pakrym-oai - openai#23332 nit: read prompt @jif-oai - openai#22905 windows: link MSVC release binaries with static CRT @iceweasel-oai - openai#23323 fix(tui): show shutdown feedback on exit @fcoury-oai - openai#23261 Fix remote turn diff display roots @starr-openai - openai#22569 Simplify legacy Windows sandbox ACL persistence @iceweasel-oai - openai#23273 Upload rust full CI JUnit reports @starr-openai - openai#22893 fix: harden plugin creator sharing validation @efrazer-oai - openai#23094 goal: pause continuation loops on usage limits and blockers @etraut-openai - openai#23234 Clarify resume hints for renamed threads @etraut-openai - openai#23241 TUI: route elicitation responses to request thread @etraut-openai - openai#23236 TUI: replay in-progress MCP calls as started @etraut-openai - openai#23088 goals: keep pause transitions explicit @etraut-openai - openai#23338 feat(tui): handle paste in session picker @fcoury-oai - openai#23335 feat(app-server): add optional thread_id to experimentalFeature/list @owenlin0
(cherry picked from commit 337303c)
Termux rust-v0.132.0
…nt/wallentx_termux-target_from_release_0.132.0_a234e07f3bcf # Conflicts: # .github/workflows/rust-release.yml # codex-rs/Cargo.toml
…et_from_release_0.132.0_a234e07f3bcf checkpoint: into wallentx/termux-target from release/0.132.0 @ a234e07
Termux rust-v0.133.0-alpha.1
…nt/wallentx_termux-target_from_release_0.133.0_5180a72112f6 # Conflicts: # .github/workflows/rust-release.yml # codex-rs/Cargo.toml
…et_from_release_0.133.0_5180a72112f6 checkpoint: into wallentx/termux-target from release/0.133.0 @ 5180a72
Termux rust-v0.133.0-alpha.3
…nt/wallentx_termux-target_from_release_0.133.0_cf55321c25b5 # Conflicts: # codex-rs/Cargo.toml
…et_from_release_0.133.0_cf55321c25b5 checkpoint: into wallentx/termux-target from release/0.133.0 @ cf55321
There was a problem hiding this comment.
Pull request overview
This PR updates the Termux “release train” integration for rust-v0.133.0-alpha.4-termux, adding Termux-specific release automation (deploy/promote/checkpoint workflows + helper scripts), and introducing Rust-side compatibility fixes for platforms (Android/Termux) where advisory file locks may be unsupported.
Changes:
- Add Termux release automation scripts and GitHub Actions workflows to deploy/promote a Termux Android artifact and open a checkpoint PR back to the patch branch.
- Add a new
codex-utils-file-lockcrate and update several Rust call sites to treat unsupported file locking as a first-class outcome, with a directory-lock fallback. - Update the
rust-release.ymlworkflow to build Android artifacts onrelease/**PRs and adjust artifact packaging/metadata behavior.
Reviewed changes
Copilot reviewed 19 out of 20 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| scripts/termux-validate-gh-env.sh | Adds a small GH CLI auth/env validation helper for workflows using gh. |
| scripts/termux-resolve-release-ref.sh | Resolves branch/SHA inputs for deploy/promote workflows and writes them to GITHUB_OUTPUT. |
| scripts/termux-release-paths.sh | Centralizes lists of Termux automation-owned paths and helper predicates. |
| scripts/termux-release-asset-state.sh | Checks whether a Termux release/tag and Android asset already exist. |
| scripts/termux-read-release-metadata.sh | Reads .github/termux-release.json and emits deploy/promote outputs, including asset state. |
| scripts/termux-lock-audit.sh | Adds an rg-based audit tool to locate file-lock call sites needing Termux handling. |
| scripts/termux-find-release-pr.sh | Locates the merged PR associated with a release branch SHA (or uses dispatch inputs). |
| scripts/termux-download-release-artifact.sh | Downloads the Android artifact from the appropriate rust-release.yml run and validates contents/checksums. |
| scripts/termux-create-or-update-mirrored-release.sh | Creates/repairs the mirrored *-termux GitHub Release and uploads the Android tarball asset. |
| scripts/termux-create-checkpoint-pr.sh | Automates “checkpoint” PR creation back to the patch branch, with some auto conflict handling. |
| scripts/termux-configure-git.sh | Sets bot identity and fetches requested refs/tags needed by automation. |
| justfile | Adds a termux-lock-audit convenience task. |
| codex-rs/utils/file-lock/src/lib.rs | Introduces optional advisory file-lock helpers + a lock-directory fallback and unit tests. |
| codex-rs/utils/file-lock/Cargo.toml | Defines the new codex-utils-file-lock crate. |
| codex-rs/utils/file-lock/BUILD.bazel | Adds Bazel target for the new Rust crate. |
| codex-rs/tui/src/lib.rs | Treats Android like Linux for audio/voice module selection. |
| codex-rs/tui/Cargo.toml | Excludes cpal dependency on Android by tightening target cfg. |
| codex-rs/execpolicy/src/amend.rs | Switches policy-file locking to optional lock + directory fallback on unsupported platforms. |
| codex-rs/execpolicy/Cargo.toml | Adds dependency on codex-utils-file-lock. |
| codex-rs/core/src/installation_id.rs | Uses optional lock + directory fallback when locking the installation id file. |
| codex-rs/core/Cargo.toml | Adds codex-utils-file-lock + Android vendored OpenSSL for aarch64-linux-android. |
| codex-rs/Cargo.toml | Adds new workspace member + dependency; updates workspace version. |
| codex-rs/Cargo.lock | Updates lockfile entries consistent with new workspace/crate changes. |
| codex-rs/arg0/src/lib.rs | Updates PATH-locking behavior to tolerate unsupported advisory locks (Option guard). |
| codex-rs/arg0/Cargo.toml | Adds dependency on codex-utils-file-lock. |
| .github/workflows/termux-release-promote.yml | Adds workflow to promote a built Android artifact into a *-termux release. |
| .github/workflows/termux-release-deploy.yml | Adds workflow to deploy Termux release artifacts and open a checkpoint PR. |
| .github/workflows/termux-release-checkpoint.yml | Adds workflow to manually trigger a checkpoint PR. |
| .github/workflows/shell-tool-mcp.yml | Adds workflow to build/package/publish the shell-tool-mcp npm module. |
| .github/workflows/rust-release.yml | Reworks release workflow for release-branch PR builds + Android packaging/metadata and broader matrix logic. |
| .github/workflows/rust-release-windows.yml | Adjusts windows packaging/compression behavior to align with updated artifact formats. |
| .github/workflows/ci.yml | Updates staging logic to tolerate missing bwrap native component in reused workflow artifacts. |
| .github/termux-release.json | Adds Termux release metadata for rust-v0.133.0-alpha.4. |
| .github/scripts/build-codex-package-archive.sh | Simplifies archive creation (tar.gz only) and removes resource auto-detection args. |
| .github/dotslash-config.json | Updates DotSlash asset regex/path mappings to match new release artifact naming scheme. |
Comments suppressed due to low confidence (1)
codex-rs/Cargo.toml:122
- The workspace version is set to
0.133.0-alpha.3, but this PR’s Termux release metadata (.github/termux-release.json) targetsrust-v0.133.0-alpha.4. If tags/workflows expect Cargo.toml to match the release tag, this mismatch will break tag validation and produce inconsistent artifact versions; update the workspace version to the intended release version.
[workspace.package]
version = "0.133.0-alpha.4"
# Track the edition for all workspace crates in one place. Individual
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "linux-x86_64": { | ||
| "regex": "^codex-package-x86_64-unknown-linux-musl\\.tar\\.zst$", | ||
| "path": "bin/codex" | ||
| "regex": "^codex-x86_64-unknown-linux-musl-bundle\\.tar\\.zst$", | ||
| "path": "codex" | ||
| }, | ||
| "linux-aarch64": { | ||
| "regex": "^codex-package-aarch64-unknown-linux-musl\\.tar\\.zst$", | ||
| "path": "bin/codex" | ||
| "regex": "^codex-aarch64-unknown-linux-musl-bundle\\.tar\\.zst$", | ||
| "path": "codex" |
|
Termux Android artifact ready for testing:
You must be signed in to GitHub with repository access to download Actions artifacts. |
5ffda58 to
5382ed7
Compare
46ae432 to
2255597
Compare
|
Termux Android artifact ready for testing:
You must be signed in to GitHub with repository access to download Actions artifacts. |
Termux release train
rust-v0.133.0rust-v0.133.0-termuxrelease/0.133.0wallentx/termux-targetThis PR is intentionally created from
wallentx/termux-targetwith the Termux release automation files copied fromdev, then targeted at the upstream release branch. If GitHub reports conflicts, resolve them manually by keeping the upstream release code while preserving the Termux compatibility fixes.Merging this PR is the manual approval gate. The release build workflow uploads the Android artifact to test; after merge, the deployment workflow attaches that exact artifact to
rust-v0.133.0-termuxand opens the checkpoint PR.Upstream notes
New Features
codex remote-controlnow runs like a foreground command, waits for readiness, reports machine status, and keeps explicit daemon-stylestart/stopcommands. (Improvecodex remote-controlCLI UX openai/codex#22878)requirements.tomlsupport, runtime refresh behavior, and stronger Windows sandbox integration. (core: expose permission profile picker metadata openai/codex#22928, feat: add permission profile list api openai/codex#23412, feat(permissions): resolve permission profile inheritance openai/codex#22270, feat: support managed permission profiles in requirements.toml openai/codex#23433, core: refresh active permission profiles at runtime openai/codex#22931, core: pass permission profiles to Windows runner openai/codex#23715)Bug Fixes
Documentation
Chores
Changelog
Full Changelog: openai/codex@rust-v0.132.0...rust-v0.133.0
codex remote-controlCLI UX openai/codex#22878 Improvecodex remote-controlCLI UX @owenlin0body_after_prefixauto-compact token limit scope openai/codex#22870 Addbody_after_prefixauto-compact token limit scope @jif-oaidenycanonical for filesystem permission entries openai/codex#23493 Makedenycanonical for filesystem permission entries @viyatb-oai