From 7f8851a6fd475fd3abeb07840489b01c5da1144c Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 3 Apr 2026 09:31:30 +0800 Subject: [PATCH 1/3] Create live smoke basetemp parent in workflow --- .github/workflows/live-smoke.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/live-smoke.yml b/.github/workflows/live-smoke.yml index 60bef0a..cc71256 100644 --- a/.github/workflows/live-smoke.yml +++ b/.github/workflows/live-smoke.yml @@ -23,8 +23,7 @@ jobs: live-smoke: name: Run live smoke tests runs-on: ubuntu-latest - environment: - name: live-smoke + environment: live-smoke steps: - name: Checkout repository @@ -69,6 +68,7 @@ jobs: AISH_LIVE_SMOKE_MODEL: ${{ secrets.AISH_LIVE_SMOKE_MODEL }} run: | set -euo pipefail + mkdir -p build uv run --group dev python -m pytest tests/live_smoke -v -m live_smoke --run-live-smoke --basetemp build/pytest-live-smoke - name: Upload live smoke diagnostics From 600c16a6920eba891627de3f4cc9b4e92dafb926 Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 3 Apr 2026 13:12:18 +0800 Subject: [PATCH 2/3] Prepare release v0.2.0 --- CHANGELOG.md | 23 +++++++++++++++++++++++ pyproject.toml | 2 +- src/aish/__init__.py | 2 +- uv.lock | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13a6969..cf29792 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,29 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.0] - 2026-04-03 + +### Added + +- Added a PTY-native interactive shell foundation so AISH can drive full-screen and long-running terminal programs more reliably. +- Added a pluggable prompt theme system, making shell prompt styling easier to customize without patching core logic. +- Added provider auth visibility improvements, including clearer model usage status output and configurable OpenAI Codex auth path support. + +### Changed + +- Changed the shell frontend to a prompt-toolkit based PTY flow with smoother interrupt handling, interaction prompts, and suggestion behavior. +- Changed release validation coverage to include broader live smoke checks for real-world shell and installation paths. + +### Fixed + +- Fixed false shell error hints for benign exits such as SIGPIPE-driven pager quits, reducing noisy failure reporting during normal terminal use. +- Fixed AI cancellation, exit tracking, and Ctrl+C handling so interrupted operations return control to the shell more predictably. +- Fixed frozen binary packaging to include the bash wrapper assets required for bundled shell startup. + +### Security + +- Fixed a history command injection vulnerability in the shell execution path. + ## [0.1.3] - 2026-03-19 ### Added diff --git a/pyproject.toml b/pyproject.toml index 2cd9f29..e9b055a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "aish" -version = "0.1.3" +version = "0.2.0" description = "AI Shell - A shell with built-in LLM capabilities" readme = "README.md" authors = [{ name = "Sian Cao", email = "yinshuiboy@gmail.com" }] diff --git a/src/aish/__init__.py b/src/aish/__init__.py index c3273b3..02251df 100644 --- a/src/aish/__init__.py +++ b/src/aish/__init__.py @@ -1,6 +1,6 @@ from __future__ import annotations -__version__ = "0.1.3" +__version__ = "0.2.0" # Avoid importing heavy modules (and any side-effects) at package import time. # This matters for system services like aish-sandbox, which only need aish.sandboxd. diff --git a/uv.lock b/uv.lock index 79a78ef..024850e 100644 --- a/uv.lock +++ b/uv.lock @@ -146,7 +146,7 @@ wheels = [ [[package]] name = "aish" -version = "0.1.3" +version = "0.2.0" source = { editable = "." } dependencies = [ { name = "anyio" }, From 9aca1b04855cb8f6ead319f21f18061073e9779a Mon Sep 17 00:00:00 2001 From: lixin Date: Fri, 3 Apr 2026 13:33:30 +0800 Subject: [PATCH 3/3] Refine v0.2.0 release notes --- CHANGELOG.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf29792..5c64469 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,20 +11,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Added a PTY-native interactive shell foundation so AISH can drive full-screen and long-running terminal programs more reliably. -- Added a pluggable prompt theme system, making shell prompt styling easier to customize without patching core logic. -- Added provider auth visibility improvements, including clearer model usage status output and configurable OpenAI Codex auth path support. +- Added `aish models usage` so the CLI can show the current model, resolved provider, credential source or auth state, and provider dashboard entry. +- Added `prompt_theme` configuration for reusable shell prompt styles on top of the existing prompt scripting support. +- Added opt-in live smoke coverage for real provider credentials and installed bundle verification before release. ### Changed -- Changed the shell frontend to a prompt-toolkit based PTY flow with smoother interrupt handling, interaction prompts, and suggestion behavior. -- Changed release validation coverage to include broader live smoke checks for real-world shell and installation paths. +- Changed the shell architecture from the old `shell.py` plus `shell_enhanced` and `tui` helpers into dedicated `shell/runtime`, `shell/ui`, `shell/pty`, shared `pty`, and `interaction` modules. +- Changed the interactive shell flow to use explicit backend control events and editing phases, improving multiline input, completions, confirmation panels, ask_user dialogs, and recovery after long-running terminal sessions. +- Changed model auth entry so `aish models auth` is the primary command path, while the old `login` path remains as a compatibility alias. + +### Removed + +- Removed the unfinished plan, research, think, and old TUI-oriented code paths from the active shell implementation. ### Fixed -- Fixed false shell error hints for benign exits such as SIGPIPE-driven pager quits, reducing noisy failure reporting during normal terminal use. -- Fixed AI cancellation, exit tracking, and Ctrl+C handling so interrupted operations return control to the shell more predictably. -- Fixed frozen binary packaging to include the bash wrapper assets required for bundled shell startup. +- Fixed Ctrl+C handling for AI operations and interactive PTY sessions so control returns to the shell more predictably after interruptions. +- Fixed false error hints for normal SIGPIPE-based pager exits such as quitting `less`. +- Fixed packaged bundle startup by including the bash wrapper assets required by the PTY shell. ### Security